annotate cuffquant.py @ 1:e12a09256097 draft

Uploaded
author geert-vandeweyer
date Mon, 04 Aug 2014 08:34:10 -0400
parents f7801f8191e0
children c686547890fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
1 """
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
2 Cuffquant format class
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
3 """
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
4 import logging
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
5 import re
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
6 import binascii
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
7
1
e12a09256097 Uploaded
geert-vandeweyer
parents: 0
diff changeset
8 from galaxy.datatypes.sniff import *
0
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
9 from galaxy.datatypes import data
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
10 from galaxy.datatypes.data import Text
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
11 from galaxy.datatypes.xml import GenericXml
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
12 from galaxy.datatypes.binary import Binary
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
13 from galaxy.datatypes.tabular import Tabular
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
14 from galaxy.datatypes.interval import Gff
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
15
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
16 log = logging.getLogger(__name__)
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
17
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
18 class Cuffquant( Binary ):
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
19 """Class describing a CuffQuant output file"""
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
20 file_ext = "cxb"
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
21 def sniff(self,filename):
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
22 # cuffquant cxb file is not documented. the file seems to start with 'serialization::'
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
23 try:
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
24 header = open(filename).read(23)
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
25 if header == 'serialization::':
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
26 return True
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
27 return False
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
28 except:
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
29 return False
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
30
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
31 def set_peek( self, dataset, is_multi_byte=False):
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
32 if not dataset.dataset.purged:
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
33 dataset.peek = 'Cuffquant cxb file'
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
34 dataset.blurb = data.nice_size( dataset.get_size())
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
35 else:
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
36 dataset.peek = 'file does not exist'
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
37 dataset.blurb = 'file purged from disk'
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
38 def display_peek (self,dataset):
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
39 try:
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
40 return dataset.peek
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
41 except:
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
42 return "Cuffquant output file (%s)" % ( data.nice_size( dataset.get_size() ) )
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
43
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
44 if hasattr(Binary, 'register_sniffable_binary_format'):
f7801f8191e0 Uploaded
geert-vandeweyer
parents:
diff changeset
45 Binary.register_sniffable_binary_format('cxb', 'cxb', Cuffquant)