Merge pull request #3379 from bgruening/dmnddb

Add diamond database as datatype
This commit is contained in:
John Chilton
2017-01-09 13:19:21 -05:00
committed by GitHub
4 changed files with 38 additions and 0 deletions
+2
View File
@@ -38,6 +38,7 @@
<datatype extension="len" type="galaxy.datatypes.chrominfo:ChromInfo" display_in_upload="true">
<converter file="len_to_linecount.xml" target_datatype="linecount" />
</datatype>
<datatype extension="dmnd" type="galaxy.datatypes.binary:Binary:DMND" subclass="True" display_in_upload="false"/>
<datatype extension="bigbed" type="galaxy.datatypes.binary:BigBed" mimetype="application/octet-stream" display_in_upload="true">
<display file="ucsc/bigbed.xml" />
<display file="igb/bb.xml" />
@@ -606,6 +607,7 @@
<sniffer type="galaxy.datatypes.binary:Sff"/>
<sniffer type="galaxy.datatypes.binary:Sra"/>
<sniffer type="galaxy.datatypes.binary:NetCDF"/>
<sniffer type="galaxy.datatypes.binary:DMND" />
<sniffer type="galaxy.datatypes.triples:Rdf"/>
<sniffer type="galaxy.datatypes.blast:BlastXml"/>
<sniffer type="galaxy.datatypes.xml:Phyloxml"/>
+33
View File
@@ -1436,3 +1436,36 @@ class NetCDF( Binary ):
Binary.register_sniffable_binary_format("netcdf", "netcdf", NetCDF)
class DMND( Binary ):
"""
Class describing an DMND file
>>> from galaxy.datatypes.sniff import get_test_fname
>>> fname = get_test_fname( 'diamond_db.dmnd' )
>>> DMND().sniff( fname )
True
>>> fname = get_test_fname( 'interval.interval' )
>>> DMND().sniff( fname )
False
"""
file_ext = "dmnd"
edam_format = ""
def __init__( self, **kwd ):
Binary.__init__( self, **kwd )
self._magic = binascii.unhexlify("6d18ee15a4f84a02")
def sniff( self, filename ):
# The first 8 bytes of any dmnd file are 0x24af8a415ee186d
try:
header = open( filename, 'rb' ).read(8)
if header == self._magic:
return True
return False
except:
return False
Binary.register_sniffable_binary_format("dmnd", "dmnd", DMND)
+3
View File
@@ -356,6 +356,9 @@ def guess_ext( fname, sniff_order, is_multi_byte=False ):
>>> fname = get_test_fname('1.gg')
>>> guess_ext(fname, sniff_order)
'gg'
>>> fname = get_test_fname('diamond_db.dmnd')
>>> guess_ext(fname, sniff_order)
'dmnd'
"""
file_ext = None
for datatype in sniff_order:
Binary file not shown.