Source code for samsifter.tools.sam_2_bam

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Wrapper for SAMtools view functionality to convert SAM to BAM files.

.. moduleauthor:: Florian Aldehoff <samsifter@biohazardous.de>
"""

# custom libraries
from samsifter.models.filter import FilterItem
from samsifter.models.parameter import FilterParameter

# global variables
TEXT = "[SAMtools] Convert SAM to BAM format"
DESC = ("Converts the text-based SAM format to the binary BAM format.")


[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, icon=FilterItem.ICON_CONVERTER) filter_item.set_command('samtools view -S -b -') filter_item.add_parameter(FilterParameter( text="uncompressed BAM output", desc=("skip compression of the binary format to speed up following " "SAMtools steps"), cli_name='-u', default=False, required=False, active=False )) # input/output is not default (SAM sorted by queryname) filter_item.set_input_format('SAM') filter_item.set_input_sorting('any') filter_item.set_output_format('BAM') filter_item.set_output_sorting('as_input') return filter_item