Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Standalone command line tool to visualize coverage from a BAM file

Project description

tinycov

PyPI version Build Status codecov Code style: black

Tinycov is a small standalone command line utility written in python to plot the coverage of a BAM file quickly. This software was inspired by Matt Edwards' genome coverage plotter.

Installation

To install the stable version: pip3 install --user tinycov

To install the development version:

git clone https://github.com/cmdoret/tinycov.git
cd tinycov
pip install .

Input

Only a BAM file alignment is required as input. If it is not coordinate-sorted, tinycov will make a sorted copy named input.sorted.bam if the file is named input.bam.

Output

If no output is provided, the coverage plot will be displayed interactively using matplotlib. If --out is used, the plot will be saved in a format determined by the output file's extension.

Additionally, if --text is provided, an output text file will be saved in the bedgraph format with overlapping windows (depending on the values of --res and --skip).

Usage

The tinycov commands can be invoked from the command line to list subcommands.


Usage: tinycov [OPTIONS] COMMAND [ARGS]...

  tinycov: visualisation of coverage from BAM files using rolling window
  averages.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  covhist  Visualise the histogram of coverage in rolling windows.
  covplot  Visualise coverage in rolling windows, optionally save results
           to...

The covplot subcommand plots the coverage in sliding windows along the genome. A bedgraph file with the coverage of each window can be generated using the --text option.


Usage: tinycov covplot [OPTIONS] BAM

  Visualise coverage in rolling windows, optionally save results to a
  bedgraph file.

Options:
  -r, --res INTEGER     Size of windows in which to compute coverage, in
                        basepairs.  [default: 10000]
  -s, --skip INTEGER    Stride between windows, in basepairs.  [default: 1000]
  -B, --bins TEXT       Tab-separated file of three columns (chromosome,
                        start, end) without header containing a custom binning
                        to use. Overrides --res and --skip, optional.
  -n, --name TEXT       Name of the sample (plot title). Base name of input
                        file by default
  -b, --blacklist TEXT  Exclude those chromosomes from the plot. List of
                        comma-separated chromosome names.
  -w, --whitelist TEXT  Only include those chromosomes in the plot. List of
                        comma-separated chromosome names.
  -o, --out PATH        Output file where to write the plot. If not provided,
                        the plot is shown interactively
  -t, --text PATH       Output file where to write the raw data table.
  -p, --ploidy INTEGER  Ploidy of input sample, used to estimate coverage
                        threshold for aneuploidies. Setting to 0 disables
                        estimations.
  --version             Show the version and exit.
  --help                Show this message and exit.

The covhist subcommands generates a histogram of coverage values by window. To get a histogram of coverage by basepair, just set --res to 1.

Usage: tinycov covhist [OPTIONS] BAM

  Visualise the histogram of coverage in rolling windows.

Options:
  -r, --res INTEGER     Size of windows in which to compute coverage, in
                        basepairs.  [default: 10000]
  -s, --skip INTEGER    Stride between windows, in basepairs.  [default: 1000]
  -B, --bins TEXT       Tab-separated file of three columns (chromosome,
                        start, end) without header containing a custom binning
                        to use. Overrides --res and --skip, optional.
  -n, --name TEXT       Name of the sample (plot title). Base name of input
                        file by default
  -b, --blacklist TEXT  Exclude those chromosomes from the plot. List of
                        comma-separated chromosome names.
  -w, --whitelist TEXT  Only include those chromosomes in the plot. List of
                        comma-separated chromosome names.
  -o, --out PATH        Output file where to write the plot. If not provided,
                        the plot is shown interactively
  --version             Show the version and exit.
  --help                Show this message and exit.

Project details


Download files

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

Files for tinycov, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size tinycov-0.1.1-py3-none-any.whl (9.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size tinycov-0.1.1.tar.gz (8.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page