Skip to main content

A package for splitting reads BAM files into smaller fragments.

Project description

Bamurai

A Python package for splitting reads BAM files into smaller fragments.

Description

Bamurai is a command-line tool that splits reads in BAM files to a rough target length and outputs a FASTQ file. This is useful for testing the performance of bioinformatics tools on long-reads data at different read lengths.

Currently there are 3 main features of Bamurai:

  1. Splitting reads in a BAM file to a target length
  2. Splitting reads in a BAM file to a target number of pieces per read
  3. Getting statistics from a BAM or FASTQ(.gz) file

The split command splits reads into a target length, each read will be split into fragments as close to the target length as possible. Reads shorter than the target length will not be split.

The divide command splits reads into a target number of pieces, each read will be split into the number of pieces specified. A further minimum length can be specified to ensure that reads are not split if the resultant fragments are less than the minimum length.

The stats command will output the following information by default:

Statistics for input.bam:
  Total reads: 8160
  Average read length: 30638
  Throughput: 250006998
  N50: 82547

It can be used with the --tsv argument to output the statistics in a tab-separated format for computational analysis.

file_name       total_reads     avg_read_len    throughput      n50
input.bam      8160    30638   250006998       82547

Installation

To install the released version of Bamurai from PyPI

pip install bamurai

To install the latest version of Bamurai from GitHub

pip install git+https://github.com/Shians/Bamurai.git

Usage

To get help on the command-line interface and list available commands

bamurai --help

To get help on a specific command

bamurai <command> --help

Splitting reads to target size

To split a file into 10,000 bp reads

bamurai split input.bam --target-length 10000 --output output.fastq

To create a gzipped output file

bamurai split input.bam --target-length 10000 | gzip > output.fastq.gz

Dividing reads into a target number of pieces

To divide reads into 2 pieces

bamurai divide input.bam --num_fragments 2 --output output.fastq

To divide reads into 2 pieces unless resultant fragments are less than 1000 bp

bamurai divide input.bam --num_fragments 2 --min_length 1000 --output output.fastq

Getting statistics from a BAM or FASTQ file

To get stats from a BAM file

bamurai stats input.bam

To get stats from a FASTQ file or Gzipped FASTQ file

bamurai stats input.fastq
bamurai stats input.fastq.gz

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bamurai-0.2.3.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bamurai-0.2.3-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file bamurai-0.2.3.tar.gz.

File metadata

  • Download URL: bamurai-0.2.3.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for bamurai-0.2.3.tar.gz
Algorithm Hash digest
SHA256 86f1c1168490747351deb02205d9b42fe9dd528d959dd8b198aeafdefb88fec1
MD5 4eaf663bd0e350f877e77d6ab22ab1dc
BLAKE2b-256 eb708e506018bfea37ca2929d5cdb62c43e722acbe1e084db31d2cb72e85217a

See more details on using hashes here.

File details

Details for the file bamurai-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: bamurai-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for bamurai-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c6827d7bf4627bfa35164edd206a6465c9643887453de9922b7a4b671dac5180
MD5 132359c59340d5af1afbf08bf113e694
BLAKE2b-256 cb071fc916caa02bdf54047d7d16d3e29e27d2aa78e293b8a3f3bc2dd5c59e8f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page