GtUword gt_bioseq_md5_to_index(GtBioseq *bs, const char *md5) { gt_assert(bs && md5 && gt_encseq_has_md5_support(bs->encseq)); if (!bs->md5_tab) { bs->md5_tab = gt_encseq_get_md5_tab(bs->encseq, NULL); } return gt_md5_tab_map(bs->md5_tab, md5); }
GtSeqCol* gt_encseq_col_new(GtEncseq *encseq, GtError *err) { GtSeqCol *sc; GtEncseqCol *esc; gt_error_check(err); gt_assert(encseq); if (!gt_encseq_has_md5_support(encseq)) { gt_error_set(err, "encoded sequence has no MD5 support"); return NULL; } sc = gt_seq_col_create(gt_encseq_col_class()); esc = gt_encseq_col_cast(sc); esc->md5_tab = gt_encseq_get_md5_tab(encseq, err); gt_assert(esc->md5_tab); esc->encseq = gt_encseq_ref(encseq); return sc; }