Source code for samsifter.tools.remove_duplicates
# -*- coding: utf-8 -*-
"""
Wrapper for SAMtools rmdup
.. moduleauthor:: Florian Aldehoff <samsifter@biohazardous.de>
"""
# custom libraries
from samsifter.models.filter import FilterItem
from samsifter.models.parameter import FilterParameter
# global variables
TEXT = "[SAMtools] Remove duplicates"
DESC = ("Removes duplicate reads with identical start coordinates.")
[docs]def item():
"""Create item representing this tool in list and tree views.
Returns
-------
FilterItem
Item for use in item-based list and tree views.
"""
filter_item = FilterItem(text=TEXT, desc=DESC)
filter_item.set_command('samtools rmdup - -')
filter_item.add_parameter(FilterParameter(
text="rmdup for SE reads",
desc="remove duplicate single-end reads",
cli_name='-s',
default=True,
required=False,
active=True
))
filter_item.add_parameter(FilterParameter(
text="treat PE as SE",
desc="treat paired-end reads as single-end reads",
cli_name='-S',
default=False,
required=False,
active=False))
# input/output is not default (SAM sorted by queryname)
filter_item.set_input_format('BAM')
filter_item.set_input_sorting('coordinate')
filter_item.set_output_format('BAM')
filter_item.set_output_sorting('coordinate')
return filter_item