diff --git a/python/obitools3/commands/import.pyx b/python/obitools3/commands/import.pyx index 707fb31..923b0cf 100644 --- a/python/obitools3/commands/import.pyx +++ b/python/obitools3/commands/import.pyx @@ -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