Skip to main content

Parses outputs of different QC tools and unifies them for the SMaHT portal

Project description

QC parser for SMaHT

Parses outputs of different QC tools and unifies them for the SMaHT portal

Installation

Simply run pip install qc-parser to install the package. You need at least Python 3.8.

To develop this package, clone this repo, make sure poetry is installed on your system and run make install.

Usage

After installation the following command can be run from the command line:

parse-qc \
    -n 'BAM Quality Metrics' \
    --metrics samtools /PATH/samtools.stats.txt \
    --metrics picard_CollectInsertSizeMetrics /PATH/picard_cis_metrics.txt \
    --additional-files /PATH/additional_output_1.pdf \
    --additional-files /PATH/additional_output_2.tsv \
    --output-zip metrics.zip
    --output-json qc_values.json

In this example, the tool will parse the Samtools output file /PATH/samtools.stats.txt and the Picard output file /PATH/picard_cis_metrics.txt. The values that are extracted from both files are specified in src/metrics_to_extract.py. All metrics are combined and stored in qc_values.json that is compatible with Tibanna_ff's generic QC functionality.

The metrics.zip will contain the following files:

samtools.stats.txt
picard_cis_metrics.txt
additional_output_1.pdf
additional_output_2.tsv

The currently supported QC tools are:

  • samtools_stats (Samtools stats)
  • picard_CollectAlignmentSummaryMetrics (Picard CollectAlignmentSummaryMetrics)
  • picard_CollectInsertSizeMetrics (Picard CollectInsertSizeMetrics)
  • picard_CollectWgsMetrics (Picard CollectWgsMetrics)
  • bamstats (bamStats.py)
  • fastqc (FastQC)
  • rnaseqc (RNA-SeQC)
  • nanoplot (NanoPlot)
  • verifybamid2 (VerifyBamID2)
  • kraken2 (Kraken2)
  • mosdepth (mosdepth)
  • somalier (Somalier)

Development

If you want to extract a new metric from an already supported QC tool, add the metric to the src/metrics_to_extract.py in the appropriate section.

If you want to add suuport for a new QC tool, you need to add a parser to src/MetricsParser.py and add the metrics you want to extract from the tool to src/metrics_to_extract.py.

Tests

The command make test will run local tests.

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

qc_parser-0.6.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

qc_parser-0.6.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file qc_parser-0.6.0.tar.gz.

File metadata

  • Download URL: qc_parser-0.6.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.8.13 Darwin/23.5.0

File hashes

Hashes for qc_parser-0.6.0.tar.gz
Algorithm Hash digest
SHA256 45cf4b25659085cf9d3acd3c3fd0a3be2bf0dc3fd5a775c243b01b0dd5fcf8fb
MD5 4a5faee5ac4172bcb7f0ee5efd72a66c
BLAKE2b-256 bbf3239fa655bc605542b94e18b44ff61a127a5bd7be6f850dd776628211fa91

See more details on using hashes here.

File details

Details for the file qc_parser-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: qc_parser-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.8.13 Darwin/23.5.0

File hashes

Hashes for qc_parser-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa1a64322eb18e8aa7140b22b66c11f930b93f64fd78f66a08c71b2db109a736
MD5 b18f847d76203c384463b77907cf3096
BLAKE2b-256 7c09c686d84d8d7f26b6d5f9b60bd70ba61ef93c419e9e74e0f82e68d5968d75

See more details on using hashes here.

Supported by

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