Python package for testing strandedness of RNA-Seq fastq files
Ever get RNA-Seq data where the library prep or strandedness has been omitted in the methods?
This should save some headaches later in your pipeline and analysis when you realise you’ve used the wrong strandedness setting (RF/fr-firststrand, FR/fr-secondstrand, unstranded)
Requirements
how_are_we_stranded_here requires the following packages be installed:
kallisto == 0.44.x
python >= 3.6.0
RSeQC
It also requires a transcriptome annotation (.fasta file - e.g. ensembl’s .cdna.fasta, or a prebuilt kallisto index), and a corresponding gtf.
Sometimes pseudoalignments will not work with newer versions of kallisto. If this is an issue, we suggest downgrading to 0.44.0.
Installation
pip install how_are_we_stranded_here
Usage
For basic usage, run check_strandedness with a gtf transcript annotation, transcripts fasta file and fastq read files from one sample.
check_strandedness --gtf Yeast.gtf --transcripts Yeast_cdna.fasta --reads_1 Sample_A_1.fq.gz --reads_2 Sample_A_2.fq.gz
Output
check_strandedness will print to console the results of infer_experiment.py (http://rseqc.sourceforge.net/#infer-experiment-py), along with an interpretation.
checking strandedness
Reading reference gene model stranded_test_WT_yeast_rep1_1_val_1_1/Saccharomyces_cerevisiae.R64-1-1.98.bed ... Done
Loading SAM/BAM file ... Total 20000 usable reads were sampled
This is PairEnd Data
Fraction of reads failed to determine: 0.0595
Fraction of reads explained by "1++,1--,2+-,2-+": 0.0073 (0.8% of explainable reads)
Fraction of reads explained by "1+-,1-+,2++,2--": 0.9332 (99.2% of explainable reads)
Over 90% of reads explained by "1+-,1-+,2++,2--"
Data is likely RF/fr-firststrand
Any intermediate files are written to a folder in your current working directory derived from the name of the reads_1 file.
How it Works
check_strandedness.py runs a series of commands to check which direction reads align once mapped in transcripts.
It first creates a kallisto index (or uses a pre-made index) of your organisms transcriptome.
It then maps a small subset of reads (default 200000) to the transcriptome, and uses kallisto’s –genomebam argument to project pseudoalignments to genome sorted BAM file.
It finally runs RSeQC’s infer_experiment.py to check which direction reads from the first and second pairs are aligned in relation to the transcript strand, and provides output with the likely strandedness of your data.
Metadata
Release files for how-are-we-stranded-here 1.0.1
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 |
|---|---|---|---|---|
| how_are_we_stranded_here-1.0.1.tar.gz | 32.2 kB | Without provenance | Details for how_are_we_stranded_here-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| how_are_we_stranded_here-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for how_are_we_stranded_here-1.0.1-py3-none-any.whl |
Total release size: 43.5 kB
Release files / how_are_we_stranded_here-1.0.1.tar.gz
| Download URL | how_are_we_stranded_here-1.0.1.tar.gz |
|---|---|
| Size | 32.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5db2fde61409e1c37ef65b9065c3935c5a462130c939e64c810dc022f47f559a
|
|
BLAKE2b-256 checksum How to use checksums |
7b69779749cdcc8f059b6f578849a0f4f13c362c236f880feab57d6930638a0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|
Release files / how_are_we_stranded_here-1.0.1-py3-none-any.whl
| Download URL | how_are_we_stranded_here-1.0.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e09d80f3c849f5a93ac8f516beec376373f2e9135d7fbe146ef95bca777c221
|
|
BLAKE2b-256 checksum How to use checksums |
12b5483a02769e127eba72873cf537e5673841c93a98ac75f4ca38f843353c03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|
Security for how-are-we-stranded-here 1.0.1
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.