Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_quality_trimmer():
read = Sequence('read1', 'ACGTTTACGTA', '##456789###')
qt = QualityTrimmer(10, 10, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'GTTTAC', '456789')
qt = QualityTrimmer(0, 10, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'ACGTTTAC', '##456789')
qt = QualityTrimmer(10, 0, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'GTTTACGTA', '456789###')
def test_quality_trimmer():
read = Sequence('read1', 'ACGTTTACGTA', '##456789###')
qt = QualityTrimmer(10, 10, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'GTTTAC', '456789')
qt = QualityTrimmer(0, 10, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'ACGTTTAC', '##456789')
qt = QualityTrimmer(10, 0, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'GTTTACGTA', '456789###')
def test_quality_trimmer():
read = Sequence('read1', 'ACGTTTACGTA', '##456789###')
qt = QualityTrimmer(10, 10, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'GTTTAC', '456789')
qt = QualityTrimmer(0, 10, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'ACGTTTAC', '##456789')
qt = QualityTrimmer(10, 0, 33)
assert qt(read, ModificationInfo(read)) == Sequence('read1', 'GTTTACGTA', '456789###')
def __init__(self, queue=None, results=None, adapter=None, phred64=False):
super(Worker, self).__init__()
self.queue=queue
self.results = results
self.phred = 64 if phred64 else 33
self.modifiers = [QualityTrimmer(0, 10, self.phred)]
self.adapters = []
self.error_rate = 0.12
self.min_length = 16
if adapter.startswith('+'):
self.modifiers.append(UnconditionalCutter(int(adapter)))
elif adapter == 'none':
self.adapter = None
else:
self.adapters = parse_adapters(adapter, error_rate=self.error_rate)
adapter_cutter = AdapterCutter(self.adapters)
self.modifiers.append(adapter_cutter)
# When adapters are being trimmed only in R1 or R2, override the pair filter mode
# as using the default of 'any' would regard all read pairs as untrimmed.
if isinstance(pipeline, PairedEndPipeline) and (not adapters2 or not adapters) and (
args.discard_untrimmed or args.untrimmed_output or args.untrimmed_paired_output):
pipeline.override_untrimmed_pair_filter = True
add_unconditional_cutters(pipeline, args.cut, args.cut2, paired)
pipeline_add = pipeline.add_both if paired else pipeline.add
if args.nextseq_trim is not None:
pipeline_add(NextseqQualityTrimmer(args.nextseq_trim, args.quality_base))
if args.quality_cutoff is not None:
cutoffs = parse_cutoffs(args.quality_cutoff)
pipeline_add(QualityTrimmer(cutoffs[0], cutoffs[1], args.quality_base))
add_adapter_cutter(
pipeline,
adapters,
adapters2,
paired,
args.pair_adapters,
args.action,
args.times,
args.reverse_complement,
)
for modifier in modifiers_applying_to_both_ends_if_paired(args):
pipeline_add(modifier)
# Set filtering parameters