INNER CODE UNIT · Python

filter_bam

nf-core/eager · bin/filter_bam_fragment_length.py:55

def filter_bam(infile, outfile, fraglen, allreads):
    """Write bam to file

    Args:
        infile (stream): pysam stream
        outfile (str): Path to output bam
        fraglen(int): Minimum fragment length to keep
        allreads(bool): Apply on all reads, not only mapped
    """
    bamfile = pysam.AlignmentFile(infile, "rb")
    bamwrite = pysam.AlignmentFile(outfile + ".filtered.bam", "wb", template=bamfile)

    for read in bamfile.fetch(until_eof=True):
        if allreads:
            if read.query_length >= fraglen:
                bamwrite.write(read)
        else:
            if read.is_unmapped == False and read.query_length >= fraglen:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…