Taxonomy: reading merged.dmp file in taxdump

This commit is contained in:
Celine Mercier
2017-01-05 14:28:36 +01:00
parent 8e92bf6dac
commit 897032387f
2 changed files with 240 additions and 21 deletions

View File

@ -26,12 +26,12 @@ typedef struct {
int32_t rank;
int32_t parent;
int32_t name_length;
char name[1];
char name[];
} ecotxformat_t;
typedef struct ecotxnode {
int32_t taxid;
int32_t taxid; // TODO discuss that this is will be the current taxid even if the struct was accessed through a deprecated one
int32_t rank;
int32_t farest;
int32_t idx;
@ -47,13 +47,13 @@ typedef struct {
int32_t local_count;
int32_t max_taxid;
int32_t buffer_size;
ecotx_t taxon[1];
ecotx_t taxon[];
} ecotxidx_t;
typedef struct {
int32_t count;
char* label[1];
char* label[];
} ecorankidx_t;
@ -62,7 +62,7 @@ typedef struct {
int32_t name_length;
int32_t class_length;
int32_t taxid; // taxid idx
char names[1];
char names[];
} econameformat_t;
@ -76,16 +76,29 @@ typedef struct {
typedef struct {
int32_t count;
econame_t names[1];
econame_t names[];
} econameidx_t;
typedef struct {
int32_t taxid;
int32_t idx;
} ecomerged_t;
typedef struct {
int32_t count;
ecomerged_t merged[];
} ecomergedidx_t;
typedef struct OBIDMS_taxonomy_t {
char tax_name[TAX_NAME_LEN];
OBIDMS_p dms;
ecorankidx_t* ranks;
econameidx_t* names;
ecotxidx_t* taxa;
char tax_name[TAX_NAME_LEN];
OBIDMS_p dms;
ecomergedidx_t* merged_idx;
ecorankidx_t* ranks;
econameidx_t* names;
ecotxidx_t* taxa;
} OBIDMS_taxonomy_t, *OBIDMS_taxonomy_p;