LQC: Long-read RNA-seq Quality Control
The Long-read RNA-seq quality control software.
LQC is used to generate quality control summary report for mapped SAM/BAM files of long-read RNA-seq data (PacBio, Oxford Nanopore). LQC provides detailed information about the indels, mismatches and splicing sites in the BAM files, which provides a good reference for evaluation for the sequencing quality of the long-read sequencing data.
Please cite us:
Dependencies
The LQC software was developed with python3, which demands several python packages.
- python3.11+: with os, sys, argparse, re, functools, collections, multiprocessing, shutil.
- numpy: 1.10+
- pandas: 1.0+
- matplotlib: 2.0+
- pysam: 0.16+
Bootstrap 5.3.8 is used by the final html report. It is vendored (MIT license, no Popper bundle) and inlined, so the report is a single self-contained file that opens offline.
Installation
It's advised to install the software into a virtual environment.
Create virtual environment:
conda create -n lqc
conda activate lqc
Or:
virtualenv ~/.env/lqc
source ~/.env/lqc/bin/activate
From github (development)
Clone and install with uv:
git clone https://github.com/gxiaolab/LQC
cd LQC
uv sync
This creates a .venv and installs the lqc command. Run the checks and the CLI:
uvx ruff check
uv run pytest
uv run lqc -b <cs-tagged.sorted.indexed.bam> -o out
From pip
pip install lqc
Usage
LQC accepts SAM or BAM file with cs tag (generated with --cs options by minimap2), or MD tag. If the SAM/BAM file has only MD tag, a genome fasta reference file is required as well to get the splicing information. Since cs tag included the splicing site information, a genome fasta reference is not required by SAM/BAM with cs tag.
usage: lqc [-h] -b BAM_FILE [--genome-fasta GENOME_FASTA] [-o OUTPUT_DIR] [--output-cs]
[--output-pickle] [-c [CONTIG ...]] [-t THREAD] [--log-level LOG_LEVEL] [--version]
The Long-read RNA-seq quality control software.
optional arguments:
-h, --help show this help message and exit
-b BAM_FILE, --bam-file BAM_FILE
input bam file, with cs tags, sorted and indexed
--genome-fasta GENOME_FASTA
path of genome fasta file
-o OUTPUT_DIR, --output_dir OUTPUT_DIR
directory to store output files
--output-cs output processed cs tags
--output-pickle output pickle file of results
-c [CONTIG ...], --contig [CONTIG ...]
contigs to be analyzed
-t THREAD, --thread THREAD
threads to be used in calculation
--log-level LOG_LEVEL
logging level (default INFO): [DEBUG, INFO]
--version show program's version number and exit
The output directory should be empty to allow the storage of output files.
Output
By default, three kinds of output files are generated by LQC: summary
tables, figures, and an HTML report. With the --output-cs option, the
processed cs tag information of the BAM file is also written. Similarly,
with the --output-pickle option, the result objects are written to one
pickle file, which can be used for further analysis.
Summary table will be stored in the table subdirectory of the output directory. Figures will be stored in the fig subdirectory of the output directory.
Processed cs tag file has six columns: read name, contig, low, high, cs mark, cs value.
The LQC will also generate a html report for checking of the BAM file qualities.
Screenshot of LQC report:
Metadata
Release files for lqc 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lqc-0.0.9.tar.gz | 860.9 kB | Without provenance | Details for lqc-0.0.9.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lqc-0.0.9-py3-none-any.whl | Python 3 | none | any | Details for lqc-0.0.9-py3-none-any.whl |
Total release size: 965.3 kB
Release files / lqc-0.0.9.tar.gz
| Download URL | lqc-0.0.9.tar.gz |
|---|---|
| Size | 860.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d68b0dc3269f733db21217536faeffadd769a5679230c3924d34854046107ffc
|
|
BLAKE2b-256 checksum How to use checksums |
6a2d7e237f2c18cd728b567af55c01f5dfdef9a0a96ac396f0b976f3001e39d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / lqc-0.0.9-py3-none-any.whl
| Download URL | lqc-0.0.9-py3-none-any.whl |
|---|---|
| Size | 104.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46ba194cc77f5087c8b73406cd43d188cdb08e04356d34263c75c881f8d8e8ff
|
|
BLAKE2b-256 checksum How to use checksums |
3c5355e2f7637d2b7467e863765cbe907bde1ff66cd94f3425fe720e36b877d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for lqc 0.0.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.