Enumcodeatposition *gt_Enumcodeatposition_new(const GtEncseq *encseq, GtReadmode readmode, unsigned int prefixlength, unsigned int numofchars) { Enumcodeatposition *ecp; ecp = gt_malloc(sizeof *ecp); ecp->encseq = encseq; ecp->readmode = readmode; ecp->multimappower = gt_initmultimappower(numofchars,prefixlength); ecp->filltable = gt_initfilltable(numofchars,prefixlength); ecp->prefixlength = prefixlength; ecp->moveforward = GT_ISDIRREVERSE(readmode) ? true : false; ecp->totallength = gt_encseq_total_length(encseq); if (ecp->moveforward) { ecp->previousrange.start = ecp->previousrange.end = 0; } else { ecp->previousrange.start = ecp->previousrange.end = ecp->totallength; } ecp->exhausted = false; if (gt_encseq_has_specialranges(encseq)) { ecp->sri = gt_specialrangeiterator_new(encseq,ecp->moveforward); } else { ecp->sri = NULL; } return ecp; }
Substriter *gt_substriter_new(const GtAlphabet *alphabet,unsigned int qvalue) { Substriter *substriter; ALLOCASSIGNSPACE(substriter,NULL,Substriter,1); substriter->qvalue = qvalue; substriter->numofchars = gt_alphabet_num_of_chars(alphabet); substriter->multimappower = gt_initmultimappower(substriter->numofchars, qvalue); return substriter; }
Substriter *gt_substriter_new(const GtAlphabet *alphabet,unsigned int qvalue) { Substriter *substriter; substriter = gt_malloc(sizeof *substriter); substriter->qvalue = qvalue; substriter->numofchars = gt_alphabet_num_of_chars(alphabet); substriter->multimappower = gt_initmultimappower(substriter->numofchars, qvalue); return substriter; }
static GtKmerstream *kmerstream_new(unsigned int numofchars, unsigned int kmersize) { GtKmerstream *spwp; gt_assert(kmersize <= (unsigned int) MAXPREFIXLENGTH); spwp = gt_malloc(sizeof (*spwp)); spwp->multimappower = gt_initmultimappower(numofchars,kmersize); kmerstream_init(spwp, numofchars, kmersize); special_queue_init(&spwp->specialqueue,kmersize); spwp->filltable = gt_filllargestchartable(numofchars,kmersize); return spwp; }
static Kmerstream *kmerstream_new(unsigned int numofchars,unsigned int kmersize) { Kmerstream *spwp; gt_assert(kmersize <= (unsigned int) MAXPREFIXLENGTH); spwp = gt_malloc(sizeof (*spwp)); spwp->multimappower = gt_initmultimappower(numofchars,kmersize); spwp->lengthwithoutspecial = 0; spwp->codewithoutspecial = 0; spwp->kmersize = kmersize; spwp->numofchars = numofchars; spwp->windowwidth = 0; spwp->firstindex = 0; specialemptyqueue(&spwp->spos,kmersize); spwp->filltable = gt_filllargestchartable(numofchars,kmersize); return spwp; }