annotate rsem.py @ 1:6c4337536e17

Deleted selected files
author jjohnson
date Fri, 07 Feb 2014 08:29:15 -0500
parents ca988deacfd1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
1 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
2 RSEM datatypes
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
3 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
4 import os,os.path,re,sys
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
5 import galaxy.datatypes.data
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
6 from galaxy.datatypes.images import Html
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
7 from galaxy.datatypes.metadata import MetadataElement
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
8
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
9 class RsemReference( Html ):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
10 """Class describing an RSEM reference"""
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
11 MetadataElement( name='reference_name', default=None, desc='RSEM Reference Name', readonly=True, visible=True, no_value=None )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
12
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
13 file_ext = 'rsem_ref'
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
14 is_binary = True
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
15 composite_type = 'auto_primary_file'
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
16 allow_datatype_change = False
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
17
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
18 def generate_primary_file( self, dataset = None ):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
19 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
20 This is called only at upload to write the html file
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
21 cannot rename the datasets here - they come with the default unfortunately
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
22 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
23 return '<html><head></head><body>AutoGenerated Primary File for RSEM Reference Composite Dataset</body></html>'
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
24
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
25 def regenerate_primary_file(self,dataset):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
26 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
27 cannot do this until we are setting metadata
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
28 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
29 refname = dataset.metadata.reference_name
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
30 flist = os.listdir(dataset.extra_files_path)
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
31 rval = ['<html><head><title>RSEM Reference %s</title></head><p/>Comprises the following files:<p/><ul>' % (refname)]
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
32 for i,fname in enumerate(flist):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
33 sfname = os.path.split(fname)[-1]
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
34 rval.append( '<li><a href="%s">%s</a>' % ( sfname, sfname ) )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
35 rval.append( '</ul></html>' )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
36 f = file(dataset.file_name,'w')
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
37 f.write("\n".join( rval ))
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
38 f.write('\n')
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
39 f.close()
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
40
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
41 def set_peek( self, dataset, is_multi_byte=False ):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
42 if not dataset.dataset.purged:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
43 dataset.peek = "RSEM Reference (%s)" % ( dataset.metadata.reference_name )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
44 dataset.blurb = "RSEM Reference (%s)" % ( dataset.metadata.reference_name )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
45 else:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
46 dataset.peek = 'RSEM Reference (%s) does not exist' % ( dataset.metadata.reference_name )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
47 dataset.blurb = 'RSEM Reference (%s) purged from disk' % ( dataset.metadata.reference_name )
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
48
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
49 def display_peek( self, dataset ):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
50 try:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
51 return dataset.peek
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
52 except:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
53 return "RSEM Reference"
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
54
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
55 def set_meta( self, dataset, overwrite = True, **kwd ):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
56 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
57 Expecting files:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
58 extra_files_path/<reference_name>.grp
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
59 extra_files_path/<reference_name>.ti
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
60 extra_files_path/<reference_name>.seq
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
61 extra_files_path/<reference_name>.transcripts.fa
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
62 Optionally includes files:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
63 extra_files_path/<reference_name>.chrlist
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
64 extra_files_path/<reference_name>.idx.fa
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
65 extra_files_path/<reference_name>.4.ebwt
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
66 extra_files_path/<reference_name>.3.ebwt
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
67 extra_files_path/<reference_name>.2.ebwt
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
68 extra_files_path/<reference_name>.1.ebwt
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
69 extra_files_path/<reference_name>.rev.2.ebwt
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
70 extra_files_path/<reference_name>.rev.1.ebwt
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
71 """
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
72 pat = '^(.*)\.grp$'
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
73 efp = dataset.extra_files_path
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
74 flist = os.listdir(efp)
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
75 for i,fname in enumerate(flist):
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
76 m = re.match(pat,fname)
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
77 if m:
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
78 dataset.metadata.reference_name = m.groups()[0]
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
79 break
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
80 self.regenerate_primary_file(dataset)
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
81
ca988deacfd1 Uploaded
jjohnson
parents:
diff changeset
82