ecopcr: now accepting taxonomy from a different DMS than the reference
sequences
This commit is contained in:
@ -175,6 +175,14 @@ def run(config):
|
|||||||
o_dms_name = output[0].name
|
o_dms_name = output[0].name
|
||||||
o_view_name = output[1]
|
o_view_name = output[1]
|
||||||
|
|
||||||
|
# Open the taxonomy DMS
|
||||||
|
taxdms = open_uri(config['obi']['taxoURI'],
|
||||||
|
dms_only=True)
|
||||||
|
if taxdms is None:
|
||||||
|
raise Exception("Could not open taxonomy DMS")
|
||||||
|
tax_dms = taxdms[0]
|
||||||
|
tax_dms_name = taxdms[0].name
|
||||||
|
|
||||||
# Read taxonomy name
|
# Read taxonomy name
|
||||||
taxonomy_name = config['obi']['taxoURI'].split("/")[-1] # Robust in theory
|
taxonomy_name = config['obi']['taxoURI'].split("/")[-1] # Robust in theory
|
||||||
|
|
||||||
@ -197,7 +205,8 @@ def run(config):
|
|||||||
|
|
||||||
# TODO: primers in comments?
|
# TODO: primers in comments?
|
||||||
|
|
||||||
if obi_ecopcr(i_dms.name_with_full_path, tobytes(i_view_name), tobytes(taxonomy_name), \
|
if obi_ecopcr(i_dms.name_with_full_path, tobytes(i_view_name),
|
||||||
|
tax_dms.name_with_full_path, tobytes(taxonomy_name), \
|
||||||
o_dms.name_with_full_path, tobytes(o_view_name), comments, \
|
o_dms.name_with_full_path, tobytes(o_view_name), comments, \
|
||||||
tobytes(config['ecopcr']['primer1']), tobytes(config['ecopcr']['primer2']), \
|
tobytes(config['ecopcr']['primer1']), tobytes(config['ecopcr']['primer2']), \
|
||||||
config['ecopcr']['error'], \
|
config['ecopcr']['error'], \
|
||||||
|
@ -8,6 +8,7 @@ cdef extern from "obi_ecopcr.h" nogil:
|
|||||||
|
|
||||||
int obi_ecopcr(const char* input_dms_name,
|
int obi_ecopcr(const char* input_dms_name,
|
||||||
const char* i_view_name,
|
const char* i_view_name,
|
||||||
|
const char* tax_dms_name,
|
||||||
const char* taxonomy_name,
|
const char* taxonomy_name,
|
||||||
const char* output_dms_name,
|
const char* output_dms_name,
|
||||||
const char* o_view_name,
|
const char* o_view_name,
|
||||||
|
@ -645,7 +645,8 @@ static int print_seq(Obiview_p i_view, Obiview_p o_view,
|
|||||||
|
|
||||||
int obi_ecopcr(const char* i_dms_name,
|
int obi_ecopcr(const char* i_dms_name,
|
||||||
const char* i_view_name,
|
const char* i_view_name,
|
||||||
const char* taxonomy_name, // TODO discuss that input dms assumed
|
const char* tax_dms_name,
|
||||||
|
const char* taxonomy_name,
|
||||||
const char* o_dms_name,
|
const char* o_dms_name,
|
||||||
const char* o_view_name,
|
const char* o_view_name,
|
||||||
const char* o_view_comments,
|
const char* o_view_comments,
|
||||||
@ -678,6 +679,7 @@ int obi_ecopcr(const char* i_dms_name,
|
|||||||
|
|
||||||
OBIDMS_p i_dms = NULL;
|
OBIDMS_p i_dms = NULL;
|
||||||
OBIDMS_p o_dms = NULL;
|
OBIDMS_p o_dms = NULL;
|
||||||
|
OBIDMS_p tax_dms = NULL;
|
||||||
OBIDMS_taxonomy_p taxonomy = NULL;
|
OBIDMS_taxonomy_p taxonomy = NULL;
|
||||||
Obiview_p i_view = NULL;
|
Obiview_p i_view = NULL;
|
||||||
Obiview_p o_view = NULL;
|
Obiview_p o_view = NULL;
|
||||||
@ -965,8 +967,16 @@ int obi_ecopcr(const char* i_dms_name,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Open taxonomy DMS
|
||||||
|
tax_dms = obi_open_dms(tax_dms_name, false);
|
||||||
|
if (tax_dms == NULL)
|
||||||
|
{
|
||||||
|
obidebug(1, "\nError opening the taxonomy DMS");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
// Open the taxonomy
|
// Open the taxonomy
|
||||||
taxonomy = obi_read_taxonomy(i_dms, taxonomy_name, false);
|
taxonomy = obi_read_taxonomy(tax_dms, taxonomy_name, false);
|
||||||
if (taxonomy == NULL)
|
if (taxonomy == NULL)
|
||||||
{
|
{
|
||||||
obidebug(1, "\nError opening the taxonomy");
|
obidebug(1, "\nError opening the taxonomy");
|
||||||
|
@ -77,7 +77,8 @@
|
|||||||
*
|
*
|
||||||
* @param i_dms_name The path to the input DMS.
|
* @param i_dms_name The path to the input DMS.
|
||||||
* @param i_view_name The name of the input view.
|
* @param i_view_name The name of the input view.
|
||||||
* @param taxonomy_name The name of the taxonomy in the input DMS.
|
* @param tax_dms_name The path to the DMS containing the taxonomy.
|
||||||
|
* @param taxonomy_name The name of the taxonomy.
|
||||||
* @param o_dms_name The path to the output DMS.
|
* @param o_dms_name The path to the output DMS.
|
||||||
* @param o_view_name The name of the output view.
|
* @param o_view_name The name of the output view.
|
||||||
* @param o_view_comments The comments to associate with the output view.
|
* @param o_view_comments The comments to associate with the output view.
|
||||||
@ -106,6 +107,7 @@
|
|||||||
*/
|
*/
|
||||||
int obi_ecopcr(const char* i_dms_name,
|
int obi_ecopcr(const char* i_dms_name,
|
||||||
const char* i_view_name,
|
const char* i_view_name,
|
||||||
|
const char* tax_dms_name,
|
||||||
const char* taxonomy_name,
|
const char* taxonomy_name,
|
||||||
const char* o_dms_name,
|
const char* o_dms_name,
|
||||||
const char* o_view_name,
|
const char* o_view_name,
|
||||||
|
Reference in New Issue
Block a user