mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-24 02:04:04 +08:00
Merge pull request #6092 from jj-umn/dev
Add blib datatype for Mass Spectrometry spectral library
This commit is contained in:
@@ -214,6 +214,7 @@
|
||||
<datatype extension="msp" type="galaxy.datatypes.proteomics:Msp" display_in_upload="true"/>
|
||||
<datatype extension="splib_noindex" type="galaxy.datatypes.proteomics:SPLibNoIndex" display_in_upload="true"/>
|
||||
<datatype extension="splib" type="galaxy.datatypes.proteomics:SPLib" display_in_upload="true"/>
|
||||
<datatype extension="blib" type="galaxy.datatypes.binary:BlibSQlite" display_in_upload="true"/>
|
||||
<datatype extension="hlf" type="galaxy.datatypes.proteomics:XHunterAslFormat" mimetype="application/octet-stream" display_in_upload="true"/>
|
||||
<datatype extension="idpdb" type="galaxy.datatypes.binary:IdpDB" mimetype="application/octet-stream" display_in_upload="true"/>
|
||||
<datatype extension="sf3" type="galaxy.datatypes.proteomics:Sf3" display_in_upload="true"/>
|
||||
@@ -691,6 +692,7 @@
|
||||
<sniffer type="galaxy.datatypes.binary:GeminiSQLite"/>
|
||||
<sniffer type="galaxy.datatypes.binary:MzSQlite"/>
|
||||
<sniffer type="galaxy.datatypes.binary:IdpDB"/>
|
||||
<sniffer type="galaxy.datatypes.binary:BlibSQlite"/>
|
||||
<sniffer type="galaxy.datatypes.binary:SQlite"/>
|
||||
<sniffer type="galaxy.datatypes.binary:Cool"/>
|
||||
<sniffer type="galaxy.datatypes.binary:Biom2"/>
|
||||
|
||||
@@ -1182,6 +1182,41 @@ class MzSQlite(SQlite):
|
||||
return False
|
||||
|
||||
|
||||
class BlibSQlite(SQlite):
|
||||
"""Class describing a Proteomics Spectral Library Sqlite database """
|
||||
MetadataElement(name="blib_version", default='1.8', param=MetadataParameter, desc="Blib Version",
|
||||
readonly=True, visible=True, no_value='1.8')
|
||||
file_ext = "blib"
|
||||
|
||||
def set_meta(self, dataset, overwrite=True, **kwd):
|
||||
super(BlibSQlite, self).set_meta(dataset, overwrite=overwrite, **kwd)
|
||||
try:
|
||||
conn = sqlite.connect(dataset.file_name)
|
||||
c = conn.cursor()
|
||||
tables_query = "SELECT majorVersion,minorVersion FROM LibInfo"
|
||||
(majorVersion, minorVersion) = c.execute(tables_query).fetchall()[0]
|
||||
dataset.metadata.blib_version = '%s.%s' % (majorVersion, minorVersion)
|
||||
except Exception as e:
|
||||
log.warning('%s, set_meta Exception: %s', self, e)
|
||||
|
||||
def sniff(self, filename):
|
||||
if super(BlibSQlite, self).sniff(filename):
|
||||
blib_table_names = ['IonMobilityTypes', 'LibInfo', 'Modifications', 'RefSpectra', 'RefSpectraPeakAnnotations', 'RefSpectraPeaks', 'ScoreTypes', 'SpectrumSourceFiles']
|
||||
try:
|
||||
conn = sqlite.connect(filename)
|
||||
c = conn.cursor()
|
||||
tables_query = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name"
|
||||
result = c.execute(tables_query).fetchall()
|
||||
result = [_[0] for _ in result]
|
||||
for table_name in blib_table_names:
|
||||
if table_name not in result:
|
||||
return False
|
||||
return True
|
||||
except Exception as e:
|
||||
log.warning('%s, sniff Exception: %s', self, e)
|
||||
return False
|
||||
|
||||
|
||||
class IdpDB(SQlite):
|
||||
"""
|
||||
Class describing an IDPicker 3 idpDB (sqlite) database
|
||||
|
||||
@@ -782,6 +782,7 @@ class Registry(object):
|
||||
'axt' : 'text/plain',
|
||||
'bam' : 'application/octet-stream',
|
||||
'bed' : 'text/plain',
|
||||
'blib' : 'application/octet-stream',
|
||||
'customtrack' : 'text/plain',
|
||||
'csfasta' : 'text/plain',
|
||||
'db3' : 'application/octet-stream',
|
||||
|
||||
@@ -445,6 +445,9 @@ def guess_ext(fname, sniff_order, is_binary=False):
|
||||
>>> fname = get_test_fname('1.xmfa')
|
||||
>>> guess_ext(fname, sniff_order)
|
||||
'xmfa'
|
||||
>>> fname = get_test_fname('test.blib')
|
||||
>>> guess_ext(fname, sniff_order)
|
||||
'blib'
|
||||
>>> fname = get_test_fname('test.phylip')
|
||||
>>> guess_ext(fname, sniff_order)
|
||||
'phylip'
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user