obi import: added basic taxdump import

This commit is contained in:
Celine Mercier
2018-03-21 16:35:44 +01:00
parent 75b54c83ca
commit 4a815785c4

View File

@ -8,6 +8,8 @@ from obitools3.dms.view.typed_view.view_NUC_SEQS cimport View_NUC_SEQS
from obitools3.dms.column.column cimport Column
from obitools3.dms.obiseq cimport Nuc_Seq
from obitools3.dms import DMS
from obitools3.dms.taxo.taxo cimport Taxonomy
from obitools3.utils cimport tobytes, \
get_obitype, \
@ -19,7 +21,10 @@ from obitools3.dms.capi.obitypes cimport obitype_t, \
from obitools3.dms.capi.obierrno cimport obi_errno
from obitools3.apps.optiongroups import addSequenceInputOption, addTabularInputOption, addMinimalOutputOption
from obitools3.apps.optiongroups import addSequenceInputOption, \
addTabularInputOption, \
addMinimalOutputOption, \
addTaxdumpInputOption
from obitools3.uri.decode import open_uri
@ -42,7 +47,7 @@ def addOptions(parser):
addSequenceInputOption(parser)
addTabularInputOption(parser)
addMinimalOutputOption(parser)
# addTaxdumpInputOption(parser)
addTaxdumpInputOption(parser)
def run(config):
@ -83,8 +88,21 @@ def run(config):
DMS.obi_atexit()
logger("info","obi import : imports file into an DMS")
input = open_uri(config['obi']['inputURI'])
if input is None:
raise Exception("Could not open input URI")
# TODO read taxdump with URI?
if 'taxdump' in config['obi']:
taxo = Taxonomy.open_taxdump(input[0], config['obi']['taxdump'])
# Read prefix (temporary fix)
uri = config['obi']['outputURI'].split('/')
idx = uri.index('taxonomy') + 1
taxo.write(uri[idx])
taxo.close()
input[0].close()
return
if input[2]==Nuc_Seq:
v = View_NUC_SEQS