Skip to main content

Comparing runs of Oxford Nanopore sequencing data and alignments

Project description

NanoComp

Compare multiple runs of long read sequencing data and alignments. Creates violin plots or box plots of length, quality and percent identity and creates dynamic, overlaying read length histograms and a cumulative yield plot.

As of version 1.1.0 NanoComp will also create a static png image for dynamic html plots, as the latter can get quite big and slow to load for big datasets. This however requires that you install orca. Without orca the script still works, but no static copies of dynamic plots are created.

INSTALLATION

pip install NanoComp
or
conda install bioconda::nanocomp

This script is written for Python3.

USAGE

NanoComp [-h] [-v] [-t THREADS] [-o OUTDIR] [-p PREFIX] [--verbose]
                [--raw] [--readtype {1D,2D,1D2}] [--barcoded]
                [--split_runs TSV_FILE]
                [-f {eps,jpeg,jpg,pdf,pgf,png,ps,raw,rgba,svg,svgz,tif,tiff}]
                [-n names [names ...]] [--plot {violin,box}] [--title TITLE]
                (--fastq files [files ...] | --summary files [files ...] | --bam files [files ...])

General options:
  -h, --help            show the help and exit
  -v, --version         Print version and exit.
  -t, --threads THREADS
                        Set the allowed number of threads to be used by the script
  -o, --outdir OUTDIR   Specify directory in which output has to be created.
  -p, --prefix PREFIX   Specify an optional prefix to be used for the output files.
  --verbose             Write log messages also to terminal.
  --raw                 Store the extracted data in tab separated file.

Options for filtering or transforming input prior to plotting:
  --readtype {1D,2D,1D2}
                        Which read type to extract information about from summary. Options are 1D, 2D,
                        1D2
  --barcoded            Barcoded experiment in summary format, splitting per barcode.
  --split_runs TSV_FILE
                        File: Split the summary on run IDs and use names in tsv file. Mandatory header
                        fields are 'NAME' and 'RUN_ID'.

Options for customizing the plots created:
  -f, --format {'png'(default),'jpg','jpeg','webp','svg','pdf','eps','json'}
                        Specify the output format of the plots. JSON output allows for customisation by the end-user after plotting the figures (https://plotly.com/python-api-reference/generated/plotly.io.read_json.html).
  -n, --names names     Specify the names to be used for the datasets.
  -c, --colors colors   Specify the colors to be used for the datasets.
  --plot {violin,box,ridge,false}
                        Which plot type to use: 'box', 'violin' (default), 'ridge' (joyplot) or 'false' (no plots)
  --title TITLE         Add a title to all plots, requires quoting if using spaces

Input data sources, one of these is required.:
  --fastq files [files ...]
                        Data is in (compressed) fastq format.
  --fasta files [files ...]
                        Data is in (compressed) fasta format.
  --summary files [files ...]
                        Data is in (compressed) summary files generated by albacore or guppy.
  --bam files [files ...]
                        Data is in sorted bam files.

Example file for --split_runs

EXAMPLES

NanoComp --bam alignment1.bam alignment2.bam alignment3.bam --outdir compare-runs
NanoComp --fastq reads1.fastq.gz reads2.fastq.gz reads3.fastq.gz reads4.fastq.gz --names run1 run2 run3 run4

EXAMPLE OUTPUT

loglength example box percentIdentity example

See more examples

I welcome all suggestions, bug reports, feature requests and contributions. Please leave an issue or open a pull request. I will usually respond within a day, or rarely within a few days.

CITATION

If you use this tool, please consider citing our publication.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

nanocomp-1.25.6.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

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

nanocomp-1.25.6-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file nanocomp-1.25.6.tar.gz.

File metadata

  • Download URL: nanocomp-1.25.6.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nanocomp-1.25.6.tar.gz
Algorithm Hash digest
SHA256 89cec6e4cee1110da5975a6e9512816120edd81638ad1896ca037c86e9237d43
MD5 f6fee5c0f1c5c2b42e99924b2c52ae21
BLAKE2b-256 290714438dcda8444fbca6387a3e5b2f731330bb2fe07410d87e4b3c541884e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanocomp-1.25.6.tar.gz:

Publisher: publish.yml on wdecoster/nanocomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanocomp-1.25.6-py3-none-any.whl.

File metadata

  • Download URL: nanocomp-1.25.6-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nanocomp-1.25.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8e6ade655036c17d422909bc8d6805cdb3733fe6ee3d1aa6a7ae73debdacd27a
MD5 e79c0895cd2faf18fc8307091b27b402
BLAKE2b-256 d2afeb50ca7899ed670b24a4ec44b1437b38a88f8931b088fcec48f37db2ec0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanocomp-1.25.6-py3-none-any.whl:

Publisher: publish.yml on wdecoster/nanocomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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