def filter_strand_balance(c, pval): ''' returns True if binomial test pvalue for strand balance is greater than 'pval', False otherwise ''' p = binomial_cdf(0.5, c.encompassing_reads, min(c.strand_reads)) if p < pval: logging.warning("Filtered chimera reads=%d '+'=%d '-'=%d pval=%f" % (c.encompassing_reads, c.strand_reads[0], c.strand_reads[1], p)) return p >= pval
def filter_read_balance(c, pval): ''' returns True if binomial test pvalue for strand balance is greater than 'pval', False otherwise ''' # count reads on either strand mate_counts = [0, 0] for r in c.spanning_reads: mate_counts[r.mate] += 1 p = binomial_cdf(0.5, c.num_spanning_reads, min(mate_counts)) if p <= pval: logging.warning("Filtered chimera spanning reads=%d read1=%d read2=%d pval=%f" % (c.num_spanning_reads, mate_counts[0], mate_counts[1], p)) return p > pval
def filter_read_balance(c, pval): ''' returns True if binomial test pvalue for strand balance is greater than 'pval', False otherwise ''' # count reads on either strand mate_counts = [0, 0] for r in c.spanning_reads: mate_counts[r.mate] += 1 p = binomial_cdf(0.5, c.num_spanning_reads, min(mate_counts)) if p <= pval: logging.warning( "Filtered chimera spanning reads=%d read1=%d read2=%d pval=%f" % (c.num_spanning_reads, mate_counts[0], mate_counts[1], p)) return p > pval