mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-24 02:04:04 +08:00
Merge pull request #11758 from bgruening/meryldb_new
[21.0] add new datatype class for meryldb
This commit is contained in:
@@ -267,7 +267,7 @@
|
||||
<datatype extension="mztab2" type="galaxy.datatypes.proteomics:MzTab2" display_in_upload="true"/>
|
||||
<datatype extension="mzml" type="galaxy.datatypes.proteomics:MzML" mimetype="application/xml" display_in_upload="true"/>
|
||||
<datatype extension="nmrml" type="galaxy.datatypes.proteomics:NmrML" mimetype="application/xml" display_in_upload="true" description="nmrML is an open mark-up language for NMR data." description_url="http://nmrml.org/schema/"/>
|
||||
<datatype extension="meryldb" type="galaxy.datatypes.binary:Binary" subclass="true" display_in_upload="true" description="MerylDB is a tar.gz archive containing 64 binaries + 64 indexes."/>
|
||||
<datatype extension="meryldb" type="galaxy.datatypes.binary:Meryldb" subclass="true" display_in_upload="true" description="MerylDB is a tar.gz archive containing 64 binaries + 64 indexes." />
|
||||
<datatype extension="mgf" type="galaxy.datatypes.proteomics:Mgf" display_in_upload="true"/>
|
||||
<datatype extension="wiff" type="galaxy.datatypes.proteomics:Wiff" display_in_upload="true"/>
|
||||
<datatype extension="mzxml" type="galaxy.datatypes.proteomics:MzXML" mimetype="application/xml" display_in_upload="true"/>
|
||||
@@ -907,6 +907,7 @@
|
||||
<sniffer type="galaxy.datatypes.binary:Fast5ArchiveGz"/>
|
||||
<sniffer type="galaxy.datatypes.binary:Fast5ArchiveBz2"/>
|
||||
<sniffer type="galaxy.datatypes.binary:Fast5Archive"/>
|
||||
<sniffer type="galaxy.datatypes.binary:Meryldb" />
|
||||
<sniffer type="galaxy.datatypes.binary:PostgresqlArchive"/>
|
||||
<sniffer type="galaxy.datatypes.binary:ICM"/>
|
||||
<sniffer type="galaxy.datatypes.binary:Idat"/>
|
||||
|
||||
@@ -201,6 +201,34 @@ class CompressedArchive(Binary):
|
||||
return "Compressed binary file (%s)" % (nice_size(dataset.get_size()))
|
||||
|
||||
|
||||
class Meryldb(CompressedArchive):
|
||||
"""MerylDB is a tar.gz archive, with 128 files. 64 data files and 64 index files."""
|
||||
file_ext = "meryldb"
|
||||
|
||||
def sniff(self, filename):
|
||||
"""
|
||||
Try to guess if the file is a Cel file.
|
||||
>>> from galaxy.datatypes.sniff import get_test_fname
|
||||
>>> fname = get_test_fname('affy_v_agcc.cel')
|
||||
>>> Meryldb().sniff(fname)
|
||||
False
|
||||
>>> fname = get_test_fname('read-db.meryldb')
|
||||
>>> Meryldb().sniff(fname)
|
||||
True
|
||||
"""
|
||||
try:
|
||||
if filename and tarfile.is_tarfile(filename):
|
||||
with tarfile.open(filename, 'r') as temptar:
|
||||
_tar_content = temptar.getnames()
|
||||
# 64 data files ad 64 indices + 2 folders
|
||||
if len(_tar_content) == 130:
|
||||
if len([_ for _ in _tar_content if _.endswith('.merylIndex')]) == 64:
|
||||
return True
|
||||
except Exception as e:
|
||||
log.warning('%s, sniff Exception: %s', self, e)
|
||||
return False
|
||||
|
||||
|
||||
class DynamicCompressedArchive(CompressedArchive):
|
||||
|
||||
def matches_any(self, target_datatypes):
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user