diff --git a/src/libecoPCR/ecofilter.c b/src/libecoPCR/ecofilter.c new file mode 100644 index 0000000..d2a547f --- /dev/null +++ b/src/libecoPCR/ecofilter.c @@ -0,0 +1,32 @@ +#include "ecoPCR.h" + +int eco_is_taxid_ignored( int *ignored_taxid, + int tab_len, + int taxid) +{ + int i; + for (i=0; i < tab_len; i++){ + if(taxid == ignored_taxid[i]) + return 1; + } + return 0; +} + + +int eco_is_taxid_included( ecotaxonomy_t *taxonomy, + int *restricted_taxid, + int32_t tab_len, + int32_t taxid) +{ + int i; + ecotx_t *taxon; + + taxon = eco_findtaxonbytaxid(taxonomy, taxid); + + for (i=0; i < tab_len; i++) + if ( (taxon->taxid == restricted_taxid[i]) || + (eco_isundertaxon(taxon, restricted_taxid[i])) ) + return 1; + + return 0; +} \ No newline at end of file