1
|
1 """
|
|
2 Hmmer classes
|
|
3 """
|
|
4
|
|
5 import data
|
|
6 import logging
|
|
7 import re
|
|
8 import string
|
|
9 from cgi import escape
|
|
10 from galaxy.datatypes.metadata import MetadataElement
|
|
11 from galaxy.datatypes import metadata
|
|
12 import galaxy.model
|
|
13 from galaxy import util
|
|
14 from sniff import *
|
|
15
|
|
16 log = logging.getLogger(__name__)
|
|
17
|
|
18 class Hmm( data.Text ):
|
|
19 """Class for hmmer database files"""
|
|
20
|
|
21 file_ext = 'hmm'
|
|
22
|
|
23 def init_meta( self, dataset, copy_from=None ):
|
|
24 data.Text.init_meta( self, dataset, copy_from=copy_from )
|
|
25
|
|
26 class HmmPressed( Hmm ):
|
|
27 """Class describing a hmmer database produced by hmmpress"""
|
|
28
|
|
29 file_ext = 'hmmPressed'
|
|
30 composite_type='basic'
|
|
31
|
|
32 MetadataElement( readonly=True, optional=True, visible=False, no_value=0 )
|
|
33
|
|
34 def __init__(self,**kwd):
|
|
35 data.Data.__init__(self, **kwd)
|
|
36 self.add_composite_file('hmm.h3m')
|
|
37 self.add_composite_file('hmm.h3i')
|
|
38 self.add_composite_file('hmm.h3f')
|
|
39 self.add_composite_file('hmm.h3p')
|
|
40 def set_peek( self, dataset, is_multi_byte=False ):
|
|
41 if not dataset.dataset.purged:
|
|
42 dataset.peek = "Folder of multiple files"
|
|
43 dataset.blurb = "Folder of multiple files"
|
|
44 else:
|
|
45 dataset.peek = 'file does not exist'
|
|
46 dataset.blurb = 'file purged from disk'
|
|
47 def display_peek( self, dataset ):
|
|
48 try:
|
|
49 return dataset.peek
|
|
50 except:
|
|
51 return "Folder of multiple files"
|
|
52 def get_mime(self):
|
|
53 """Returns the mime type of the datatype"""
|
|
54 return 'text/plain'
|