annotate cuffdata.py @ 6:137aab1d9ac1

Add metadata to datatype: CuffDataDB
author Jim Johnson <jj@umn.edu>
date Mon, 18 Nov 2013 16:43:15 -0600
parents da7241f92ecf
children b5562b9a55c7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
1 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
2 CuffData
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
3 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
4 import logging
6
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
5 import os,os.path,sys,re
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
6 import tempfile
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
7 from subprocess import Popen
0
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
8 import galaxy.datatypes.data
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
9 from galaxy.datatypes.images import Html
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
10 from galaxy.datatypes.binary import Binary
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
11 from galaxy import util
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
12 from galaxy.datatypes.metadata import MetadataElement
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
13
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
14 log = logging.getLogger(__name__)
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
15
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
16 class CuffDiffData( Html ):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
17 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
18 CuffDiff output files:
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
19 run.info
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
20 read_groups.info
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
21 cds.count_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
22 cds.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
23 cds.fpkm_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
24 cds.read_group_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
25 cds_exp.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
26 gene_exp.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
27 genes.count_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
28 genes.fpkm_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
29 genes.read_group_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
30 isoform_exp.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
31 isoforms.count_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
32 isoforms.fpkm_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
33 isoforms.read_group_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
34 promoters.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
35 splicing.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
36 tss_group_exp.diff
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
37 tss_groups.count_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
38 tss_groups.fpkm_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
39 tss_groups.read_group_tracking
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
40 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
41 file_ext = 'cuffdata'
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
42 is_binary = False
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
43 composite_type = 'auto_primary_file'
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
44 allow_datatype_change = False
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
45 def __init__( self, **kwd ):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
46 Html.__init__( self, **kwd )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
47 self.add_composite_file('run.info', description = 'run.info', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
48 self.add_composite_file('read_groups.info', description = 'read_groups.info', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
49 self.add_composite_file('cds.count_tracking', description = 'cds.count_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
50 self.add_composite_file('cds.diff', description = 'cds.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
51 self.add_composite_file('cds.fpkm_tracking', description = 'cds.fpkm_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
52 self.add_composite_file('cds.read_group_tracking', description = 'cds.read_group_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
53 self.add_composite_file('cds_exp.diff', description = 'cds_exp.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
54 self.add_composite_file('gene_exp.diff', description = 'gene_exp.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
55 self.add_composite_file('genes.count_tracking', description = 'genes.count_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
56 self.add_composite_file('genes.fpkm_tracking', description = 'genes.fpkm_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
57 self.add_composite_file('genes.read_group_tracking', description = 'genes.read_group_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
58 self.add_composite_file('isoform_exp.diff', description = 'isoform_exp.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
59 self.add_composite_file('isoforms.count_tracking', description = 'isoforms.count_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
60 self.add_composite_file('isoforms.fpkm_tracking', description = 'isoforms.fpkm_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
61 self.add_composite_file('isoforms.read_group_tracking', description = 'isoforms.read_group_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
62 self.add_composite_file('promoters.diff', description = 'promoters.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
63 self.add_composite_file('splicing.diff', description = 'splicing.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
64 self.add_composite_file('tss_group_exp.diff', description = 'tss_group_exp.diff', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
65 self.add_composite_file('tss_groups.count_tracking', description = 'tss_groups.count_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
66 self.add_composite_file('tss_groups.fpkm_tracking', description = 'tss_groups.fpkm_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
67 self.add_composite_file('tss_groups.read_group_tracking', description = 'tss_groups.read_group_tracking', mimetype = 'text/html', optional = True, is_binary = False )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
68
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
69 def generate_primary_file( self, dataset = None ):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
70 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
71 This is called only at upload to write the html file
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
72 cannot rename the datasets here - they come with the default unfortunately
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
73 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
74 rval = ['<html><head><title>CuffDiff Output</title></head>']
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
75 rval.append('<body>')
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
76 rval.append('<p/>CuffDiff Outputs:<p/><ul>')
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
77 for composite_name, composite_file in self.get_composite_files( dataset = dataset ).iteritems():
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
78 fn = composite_name
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
79 log.debug( "Velvet log info %s %s %s" % ('JJ generate_primary_file',fn,composite_file))
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
80 opt_text = ''
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
81 if composite_file.optional:
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
82 opt_text = ' (optional)'
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
83 if composite_file.get('description'):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
84 rval.append( '<li><a href="%s" type="text/plain">%s (%s)</a>%s</li>' % ( fn, fn, composite_file.get('description'), opt_text ) )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
85 else:
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
86 rval.append( '<li><a href="%s" type="text/plain">%s</a>%s</li>' % ( fn, fn, opt_text ) )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
87 rval.append( '</ul></body></html>' )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
88 return "\n".join( rval )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
89
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
90 def regenerate_primary_file(self,dataset):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
91 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
92 cannot do this until we are setting metadata
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
93 """
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
94 flist = os.listdir(dataset.extra_files_path)
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
95 rval = ['<html><head><title>CuffDiff Output</title></head>']
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
96 rval.append('<body>')
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
97 rval.append('<p/>CuffDiff Outputs:<p/><ul>')
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
98 for i,fname in enumerate(flist):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
99 sfname = os.path.split(fname)[-1]
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
100 rval.append( '<li><a href="%s" type="text/html">%s</a>' % ( sfname, sfname ) )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
101 rval.append( '</ul></body></html>' )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
102 f = file(dataset.file_name,'w')
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
103 f.write("\n".join( rval ))
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
104 f.write('\n')
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
105 f.close()
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
106
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
107 def set_meta( self, dataset, **kwd ):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
108 Html.set_meta( self, dataset, **kwd )
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
109 self.regenerate_primary_file(dataset)
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
110
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
111 def sniff( self, filename ):
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
112 return False
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
113
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
114 class CuffDataDB( Binary ):
6
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
115 file_ext = 'cuffdatadb'
0
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
116 is_binary = True
da7241f92ecf Uploaded
jjohnson
parents:
diff changeset
117 allow_datatype_change = False
6
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
118 MetadataElement( name="sample_names", default=[], desc="Sample names", readonly=True, visible=True, optional=True, no_value=[] )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
119 MetadataElement( name="replicate_names", default=[], desc="Replicate names", readonly=True, visible=True, optional=True, no_value=[] )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
120 MetadataElement( name="gene_ids", default=[], desc="Gene Ids", readonly=True, visible=True, optional=True, no_value=[] )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
121
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
122 def __init__( self, **kwd ):
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
123 Binary.__init__( self, **kwd )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
124 log.info('Creating cummeRbund CuffDataDB')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
125
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
126 def set_meta( self, dataset, **kwd ):
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
127 def get_contents(fname):
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
128 contents = ''
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
129 with open(fname,'r') as fh:
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
130 contents = fh.read()
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
131 return contents
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
132 if not dataset.has_data():
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
133 return
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
134 try:
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
135 ## Create a tmpdir
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
136 ## create an Rscript to write out info about the CuffData, e.g. samples replicates gene_ids
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
137 ## define file names to use as sinks for each type of data
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
138 # tmp_dir = tempfile.mkdtemp()
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
139 tmp_dir = '/tmp/gx/cuffdb'
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
140 if not os.path.isdir(tmp_dir):
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
141 os.makedirs(tmp_dir)
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
142 rscript = tempfile.NamedTemporaryFile( dir=tmp_dir,suffix='.r' ).name
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
143 rscript_fh = open( rscript, 'wb' )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
144 rscript_fh.write('library(cummeRbund)\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
145 rscript_fh.write('cuff<-readCufflinks(dir = "", dbFile = "%s", rebuild = F)\n' % (dataset.file_name))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
146 rscript_fh.write('sink("%s")\n' % ("out.blurb"))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
147 rscript_fh.write('print(cuff)\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
148 rscript_fh.write('sink()\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
149 rscript_fh.write('sink("%s")\n' % ("out.samples"))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
150 rscript_fh.write('cat(samples(cuff)[[2]],sep=",")\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
151 rscript_fh.write('sink()\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
152 rscript_fh.write('sink("%s")\n' % ("out.replicates"))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
153 rscript_fh.write('cat(replicates(cuff)[[4]],sep=",")\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
154 rscript_fh.write('sink()\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
155 rscript_fh.write('sink("%s")\n' % ("out.gene_ids"))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
156 rscript_fh.write('cat(annotation(genes(cuff))[[1]],sep=",")\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
157 rscript_fh.write('sink()\n')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
158 rscript_fh.close()
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
159 cmd = ( "Rscript --vanilla %s" % rscript )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
160 tmp_stderr_name = tempfile.NamedTemporaryFile( dir=tmp_dir,suffix='.err' ).name
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
161 tmp_stderr = open( tmp_stderr_name, 'wb' )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
162 proc = Popen( args=cmd, shell=True, cwd=tmp_dir, stderr=tmp_stderr.fileno() )
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
163 returncode = proc.wait()
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
164 tmp_stderr.close()
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
165 flist = os.listdir(tmp_dir)
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
166 for i,fname in enumerate(flist):
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
167 sfname = os.path.split(fname)[-1]
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
168 if sfname == 'out.blurb':
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
169 dataset.blurb = get_contents(os.path.join(tmp_dir,fname))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
170 elif sfname == 'out.samples':
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
171 dataset.metadata.sample_names = get_contents(os.path.join(tmp_dir,fname)).split(',')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
172 elif sfname == 'out.replicates':
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
173 dataset.metadata.replicate_names = get_contents(os.path.join(tmp_dir,fname)).split(',')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
174 elif sfname == 'out.gene_ids':
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
175 dataset.metadata.gene_ids = get_contents(os.path.join(tmp_dir,fname)).split(',')
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
176 except Exception, e:
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
177 log.error('Error setting cummeRbund CuffDataDB metadata : %s' % str(e))
137aab1d9ac1 Add metadata to datatype: CuffDataDB
Jim Johnson <jj@umn.edu>
parents: 0
diff changeset
178