comparison cuffdata.py @ 1:6a9bc26ab8d9

Added cuffdata and cuffdatadb datatypes, cuffdiff multiselect outputs
author Jim Johnson <jj@umn.edu>
date Mon, 08 Oct 2012 15:26:47 -0500
parents
children 9d25b0fd882b
comparison
equal deleted inserted replaced
0:8ba5f0460b1e 1:6a9bc26ab8d9
1 """
2 CuffData
3 """
4 import logging
5 import os,os.path,re
6 import galaxy.datatypes.data
7 from galaxy.datatypes.images import Html
8 from galaxy import util
9 from galaxy.datatypes.metadata import MetadataElement
10
11 log = logging.getLogger(__name__)
12
13 class CuffDiffData( Html ):
14 """
15 CuffDiff output files:
16 run.info
17 read_groups.info
18 cds.count_tracking
19 cds.diff
20 cds.fpkm_tracking
21 cds.read_group_tracking
22 cds_exp.diff
23 gene_exp.diff
24 genes.count_tracking
25 genes.fpkm_tracking
26 genes.read_group_tracking
27 isoform_exp.diff
28 isoforms.count_tracking
29 isoforms.fpkm_tracking
30 isoforms.read_group_tracking
31 promoters.diff
32 splicing.diff
33 tss_group_exp.diff
34 tss_groups.count_tracking
35 tss_groups.fpkm_tracking
36 tss_groups.read_group_tracking
37 """
38 file_ext = 'cuffdata'
39 is_binary = True
40 composite_type = 'auto_primary_file'
41 allow_datatype_change = False
42
43 def generate_primary_file( self, dataset = None ):
44 """
45 This is called only at upload to write the html file
46 cannot rename the datasets here - they come with the default unfortunately
47 """
48 return '<html><head></head><body>AutoGenerated Primary File for Composite Dataset</body></html>'
49
50 def regenerate_primary_file(self,dataset):
51 """
52 cannot do this until we are setting metadata
53 """
54 flist = os.listdir(dataset.extra_files_path)
55 rval = ['<html><head><title>CuffDiff Output</title></head>']
56 rval.append('<body>')
57 rval.append('<p/>CuffDiff Outputs:<p/><ul>')
58 for i,fname in enumerate(flist):
59 sfname = os.path.split(fname)[-1]
60 rval.append( '<li><a href="%s" type="text/html">%s</a>' % ( sfname, sfname ) )
61 rval.append( '</ul></body></html>' )
62 f = file(dataset.file_name,'w')
63 f.write("\n".join( rval ))
64 f.write('\n')
65 f.close()
66
67 def set_meta( self, dataset, **kwd ):
68 Html.set_meta( self, dataset, **kwd )
69 self.regenerate_primary_file(dataset)
70
71 def sniff( self, filename ):
72 return False
73