annotate chip.py @ 0:7f9ec5d9c4db draft default tip

Imported from capsule None
author jjohnson
date Wed, 15 Oct 2014 09:22:41 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
1 """
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
2 Binary classes
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
3 """
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
4
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
5 import galaxy.datatypes.data
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
6 from galaxy.datatypes.data import Data
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
7 import galaxy.datatypes.sniff
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
8 from galaxy.datatypes.sniff import *
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
9
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
10 import zipfile
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
11 from urllib import urlencode, quote_plus
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
12
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
13 log = logging.getLogger(__name__)
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
14
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
15 # Cistrome Customized Datatypes
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
16 class Eset( Data ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
17 """Class describing an Expression Set"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
18 file_ext = "eset"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
19 def set_peek( self, dataset, is_multi_byte=False ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
20 if not dataset.dataset.purged:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
21 dataset.peek = "Expression set"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
22 dataset.blurb = data.nice_size( dataset.get_size() )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
23 else:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
24 dataset.peek = 'file does not exist'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
25 dataset.blurb = 'file purged from disk'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
26 def display_peek(self, dataset):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
27 try:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
28 return dataset.peek
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
29 except:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
30 return "Expression set"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
31 def get_mime(self):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
32 """Returns the mime type of the datatype"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
33
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
34 class XysZip( Data ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
35 """Class describing a zip archive of NimbleGen XYS files"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
36 file_ext = "xys.zip"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
37 def set_peek( self, dataset, is_multi_byte=False ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
38 if not dataset.dataset.purged:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
39 zip_file = zipfile.ZipFile( dataset.file_name, "r" )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
40 num_files = len( zip_file.namelist() )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
41 dataset.peek = "Archive of %s NimbleGen XYS files" % ( str( num_files - 1 ) )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
42 dataset.blurb = data.nice_size( dataset.get_size() )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
43 else:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
44 dataset.peek = 'file does not exist'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
45 dataset.blurb = 'file purged from disk'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
46 def display_peek(self, dataset):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
47 try:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
48 return dataset.peek
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
49 except:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
50 return "NimbleGen XYS file archive (%s)" % ( data.nice_size( dataset.get_size() ) )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
51 def get_mime(self):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
52 """Returns the mime type of the datatype"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
53 return 'application/zip'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
54
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
55 class CelZip( Data ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
56 """Class describing a zip archive of Affymetrix CEL files"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
57 file_ext = "cel.zip"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
58 def set_peek( self, dataset, is_multi_byte=False ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
59 if not dataset.dataset.purged:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
60 zip_file = zipfile.ZipFile( dataset.file_name, "r" )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
61 num_files = len( zip_file.namelist() )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
62 dataset.peek = "Archive of %s Affymetrix CEL files" % ( str( num_files - 1 ) )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
63 dataset.blurb = data.nice_size( dataset.get_size() )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
64 else:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
65 dataset.peek = 'file does not exist'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
66 dataset.blurb = 'file purged from disk'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
67 def display_peek(self, dataset):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
68 try:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
69 return dataset.peek
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
70 except:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
71 return "Affymetrix CEL file archive (%s)" % ( data.nice_size( dataset.get_size() ) )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
72 def get_mime(self):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
73 """Returns the mime type of the datatype"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
74 return 'application/zip'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
75
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
76 class Cel( Data ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
77 """Class describing an binary CEL file"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
78 file_ext = "cel"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
79 def set_peek( self, dataset, is_multi_byte=False ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
80 if not dataset.dataset.purged:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
81 export_url = "/history_add_to?" + urlencode({'history_id':dataset.history_id,'ext':'cel','name':'affymetrix cel file','info':'Cel file','dbkey':dataset.dbkey})
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
82 dataset.peek = "Binary cel sequence file"
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
83 dataset.blurb = data.nice_size( dataset.get_size() )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
84 else:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
85 dataset.peek = 'file does not exist'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
86 dataset.blurb = 'file purged from disk'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
87 def display_peek(self, dataset):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
88 try:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
89 return dataset.peek
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
90 except:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
91 return "Binary cel sequence file (%s)" % ( data.nice_size( dataset.get_size() ) )
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
92 def sniff( self, filename ):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
93 """
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
94 Determines wether the file is in cel format
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
95
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
96 """
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
97 parts = filename.lower().split('.')
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
98 for p in parts:
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
99 if p == 'cel':
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
100 return True
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
101 return False
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
102
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
103 def get_mime(self):
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
104 """Returns the mime type of the datatype"""
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
105 return 'application/octet-stream'
7f9ec5d9c4db Imported from capsule None
jjohnson
parents:
diff changeset
106 # End