comparison getgo.r @ 5:b79c65c90744 draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/goseq_1_22_0 commit 81aedf1b50849160f6c048c0da4bb1038bb813a5
author mvdbeek
date Sun, 28 Feb 2016 11:52:10 -0500
parents
children 0e9424413ab0
comparison
equal deleted inserted replaced
4:76eab486aba9 5:b79c65c90744
1 suppressWarnings(suppressMessages(library(goseq)))
2 suppressWarnings(suppressMessages(library(optparse)))
3 suppressWarnings(suppressMessages(library(rtracklayer)))
4 suppressWarnings(suppressMessages(library(reshape2)))
5 sink(stdout(), type = "message")
6
7 option_list <- list(
8 make_option(c("-gtf", "--gtf"), type="character", help = "Path to GTF file for which to fetch GO data"),
9 make_option(c("-g", "--genome"), type="character", help = "Genome [used for looking up GO categories]"),
10 make_option(c("-i", "--gene_id"), type="character", help="Gene ID format"),
11 make_option(c("-c", "--cats"), type="character", help="Comma-seperated list of categories to fetch"),
12 make_option(c("-o", "--output"), type="character", help="Path to output file")
13 )
14
15 parser <- OptionParser(usage = "%prog [options] file", option_list=option_list)
16 args = parse_args(parser)
17
18 # Vars:
19
20 gtf = args$gtf
21 genome = args$genome
22 gene_id = args$gene_id
23 output = args$output
24 cats = unlist(strsplit(args$cats, ','))
25 genes = unique(import.gff(gtf)$gene_id)
26 go_categories = getgo(genes, genome, id, fetch.cats=cats)
27
28 # transform go category list to sth. more manipulatable in galaxy
29 go_categories <- lapply(go_categories, unlist)
30 go_categories = goseq:::reversemapping(go_categories)
31 go_categories = melt(go_categories)
32 colnames(go_categories) = c("#gene_id", "go_category")
33
34 write.table(go_categories, output, sep="\t", row.names = FALSE, quote = FALSE)
35 sessionInfo()