Пример #1
0
 def map_all_to_refs(self, min_band_score, **aligner_kw):
     # FIXME it would be nice to only calculate bands for read v. ref not
     # all pairwise of reads too
     assert self.bands_indexed, 'Bands must be indexed first'
     self.log('Mapping all reads against reference sequences')
     reads, refs = self.load_reads(), self.load_refs()
     indic = ProgressIndicator(num_total=len(reads))
     indic.start()
     for read in reads:
         indic.progress()
         rec, target_rec, aln = read.map(refs,
                                         min_band_score=min_band_score,
                                         **aligner_kw)
         if rec is not None:
             yield rec, target_rec, aln
     indic.finish()
Пример #2
0
 def map_all_to_all(self, min_band_score, **aligner_kw):
     assert self.bands_indexed, 'Bands must be indexed first'
     self.log('Mapping all reads against each other')
     reads = self.load_reads()  # NOTE comes in sorted order of id
     indic = ProgressIndicator(num_total=len(reads))
     indic.start()
     for read in reads:
         indic.progress()
         # NOTE only compare to reads after us
         others = (r.record for r in reads if r.record.id > read.record.id)
         for other in others:
             rec, target_rec, aln = read.map(other,
                                             min_band_score=min_band_score,
                                             **aligner_kw)
             if rec is None:
                 continue
             yield rec, target_rec, aln
     indic.finish()