Example #1
0
    def __analyze(self, bwsa, seq_pairs_read):
        ##################################################
        # This method performs the actual analysis work.
        # BWA writes its results directly into the bwsa structures.
        ##################################################
        if not self.reference_loaded():
            self.load_reference()

        ii = bwa.isize_info_t()

        self.visitor.start("cal_sa_reg_gap")
        for i in 0, 1:
            bwa.cal_sa_reg_gap_mt(self.__bwts, seq_pairs_read, bwsa[i],
                                  self.gopt)
        self.visitor.stop("cal_sa_reg_gap")

        self.visitor.start("cal_pac_pos_pe")
        bwa.cal_pac_pos_pe(self.__bwts, seq_pairs_read, bwsa, ii, self.popt,
                           self.gopt, self.__last_ii)
        self.visitor.stop("cal_pac_pos_pe")
        self.__last_ii = ii

        if ii.avg > self.max_isize:
            self.visitor.log_warning("skipping S-W, isize is too big (%.3f)" %
                                     ii.avg)
        else:
            self.visitor.start("paired_sw")
            if 0 < self.pairing_batch_size < seq_pairs_read:
                for offset in xrange(0, seq_pairs_read,
                                     self.pairing_batch_size):
                    nseq = min(self.pairing_batch_size,
                               seq_pairs_read - offset)
                    self.visitor.start("paired_sw_batch")
                    bwa.paired_sw(self.__bnsp, self.__pacseq, nseq, bwsa,
                                  self.popt, ii, offset)
                    self.visitor.stop_batch("paired_sw_batch", offset, nseq)
            else:
                bwa.paired_sw(self.__bnsp, self.__pacseq, seq_pairs_read, bwsa,
                              self.popt, ii)
            self.visitor.stop("paired_sw")

        self.visitor.start("refine_gapped")
        for i in 0, 1:
            bwa.refine_gapped(self.__bnsp, seq_pairs_read, bwsa[i],
                              self.__pacseq)
        self.visitor.stop("refine_gapped")
Example #2
0
  def __analyze(self, bwsa, seq_pairs_read):
    ##################################################
    # This method performs the actual analysis work.
    # BWA writes its results directly into the bwsa structures.
    ##################################################
    if not self.reference_loaded():
      self.load_reference()

    ii = bwa.isize_info_t()

    self.visitor.start("cal_sa_reg_gap")
    for i in 0, 1:
      bwa.cal_sa_reg_gap_mt(self.__bwts, seq_pairs_read, bwsa[i], self.gopt)
    self.visitor.stop("cal_sa_reg_gap")

    self.visitor.start("cal_pac_pos_pe")
    bwa.cal_pac_pos_pe(self.__bwts, seq_pairs_read, bwsa, ii,
                                 self.popt, self.gopt, self.__last_ii)
    self.visitor.stop("cal_pac_pos_pe")
    self.__last_ii = ii

    if ii.avg > self.max_isize:
      self.visitor.log_warning("skipping S-W, isize is too big (%.3f)" % ii.avg)
    else:
      self.visitor.start("paired_sw")
      if 0 < self.pairing_batch_size < seq_pairs_read:
        for offset in xrange(0, seq_pairs_read, self.pairing_batch_size):
          nseq = min(self.pairing_batch_size, seq_pairs_read - offset)
          self.visitor.start("paired_sw_batch")
          bwa.paired_sw(self.__bnsp, self.__pacseq, nseq, bwsa, self.popt, ii, offset)
          self.visitor.stop_batch("paired_sw_batch", offset, nseq)
      else:
        bwa.paired_sw(self.__bnsp, self.__pacseq, seq_pairs_read, bwsa, self.popt, ii)
      self.visitor.stop("paired_sw")

    self.visitor.start("refine_gapped")
    for i in 0, 1:
      bwa.refine_gapped(self.__bnsp, seq_pairs_read, bwsa[i], self.__pacseq)
    self.visitor.stop("refine_gapped")
Example #3
0
 def clean_isize_statistics(self):
   self.__last_ii = bwa.isize_info_t()
   self.__last_ii.avg = -1.0
Example #4
0
 def clean_isize_statistics(self):
     self.__last_ii = bwa.isize_info_t()
     self.__last_ii.avg = -1.0