Mercurial > repos > mvdbeek > r_goseq_1_22_0
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/getgo.r Sun Feb 28 11:52:10 2016 -0500 @@ -0,0 +1,35 @@ +suppressWarnings(suppressMessages(library(goseq))) +suppressWarnings(suppressMessages(library(optparse))) +suppressWarnings(suppressMessages(library(rtracklayer))) +suppressWarnings(suppressMessages(library(reshape2))) +sink(stdout(), type = "message") + +option_list <- list( + make_option(c("-gtf", "--gtf"), type="character", help = "Path to GTF file for which to fetch GO data"), + make_option(c("-g", "--genome"), type="character", help = "Genome [used for looking up GO categories]"), + make_option(c("-i", "--gene_id"), type="character", help="Gene ID format"), + make_option(c("-c", "--cats"), type="character", help="Comma-seperated list of categories to fetch"), + make_option(c("-o", "--output"), type="character", help="Path to output file") +) + +parser <- OptionParser(usage = "%prog [options] file", option_list=option_list) +args = parse_args(parser) + +# Vars: + +gtf = args$gtf +genome = args$genome +gene_id = args$gene_id +output = args$output +cats = unlist(strsplit(args$cats, ',')) +genes = unique(import.gff(gtf)$gene_id) +go_categories = getgo(genes, genome, id, fetch.cats=cats) + +# transform go category list to sth. more manipulatable in galaxy +go_categories <- lapply(go_categories, unlist) +go_categories = goseq:::reversemapping(go_categories) +go_categories = melt(go_categories) +colnames(go_categories) = c("#gene_id", "go_category") + +write.table(go_categories, output, sep="\t", row.names = FALSE, quote = FALSE) +sessionInfo() \ No newline at end of file