static void showmatch(void *processinfo,const GtMatch *match) { Showmatchinfo *showmatchinfo = (Showmatchinfo *) processinfo; unsigned long seqnum; Seqpos relpos; if (match->dbabsolute) { Seqinfo seqinfo; seqnum = getencseqfrompos2seqnum(showmatchinfo->encseq,match->dbstartpos); getencseqSeqinfo(&seqinfo,showmatchinfo->encseq,seqnum); gt_assert(seqinfo.seqstartpos <= match->dbstartpos); relpos = match->dbstartpos - seqinfo.seqstartpos; } else { relpos = match->dbstartpos; seqnum = match->dbseqnum; } printf("%lu\t" FormatSeqpos "\t",seqnum,PRINTSeqposcast(relpos)); printf(FormatSeqpos "\t",PRINTSeqposcast(match->dblen)); printf("\t" Formatuint64_t "\t%lu\t%lu\t%lu\n", PRINTuint64_tcast(showmatchinfo->queryunit), match->querystartpos, match->querylen, match->distance); if (showmatchinfo->showalignment) { gt_alignment_show_with_mapped_chars( (const GtAlignment *) match->alignment, showmatchinfo->characters, showmatchinfo->wildcardshow, stdout); } }
void showinfoiffoundfullLTRs(const LTRharvestoptions *lo, const LTRboundaries **bdptrtab, unsigned long numofboundaries, const Encodedsequence *encseq) { Seqinfo seqinfo; unsigned long i; if (lo->longoutput) { if (numofboundaries == 0) { printf("No full LTR-pair predicted.\n"); } else { printlongheader(lo); /* print output sorted by contignumber*/ for (i = 0; i<numofboundaries; i++) { getencseqSeqinfo(&seqinfo,encseq,bdptrtab[i]->contignumber); producelongutput(lo, bdptrtab[i], encseq, seqinfo.seqstartpos); } } } else { if (numofboundaries > 0) { printshortheader(); /* print output sorted by contignumber*/ for (i = 0; i<numofboundaries; i++) { getencseqSeqinfo(&seqinfo,encseq,bdptrtab[i]->contignumber); produceshortoutput(bdptrtab[i],seqinfo.seqstartpos); } } } }