From d887d750b3661e39f36ce21a6b263382d70b9fe7 Mon Sep 17 00:00:00 2001 From: Julia K Date: Wed, 21 Jun 2017 16:10:51 -0400 Subject: [PATCH] By default, removing soft-clipped bases. --- isovar/locus_reads.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/isovar/locus_reads.py b/isovar/locus_reads.py index 401f1be..b482486 100644 --- a/isovar/locus_reads.py +++ b/isovar/locus_reads.py @@ -65,7 +65,8 @@ def from_pysam_pileup_element( base0_position_after_variant, use_secondary_alignments, use_duplicate_reads, - min_mapping_quality): + min_mapping_quality, + use_soft_clipped_bases=False): """ Parameters ---------- @@ -81,6 +82,8 @@ def from_pysam_pileup_element( min_mapping_quality : int + use_soft_clipped_bases : bool. Default false; set to true to keep soft-clipped bases + Returns LocusRead or None """ read = pileup_element.alignment @@ -190,6 +193,15 @@ def from_pysam_pileup_element( if isinstance(sequence, bytes): sequence = sequence.decode('ascii') + if not use_soft_clipped_bases: + start = read.query_alignment_start + end = read.query_alignment_end + sequence = sequence[start:end] + reference_positions = reference_positions[start:end] + base_qualities = base_qualities[start:end] + base0_read_position_before_variant -= start + base0_read_position_after_variant -= start + return cls( name=name, sequence=sequence,