What is ScanMST?
ScanMST is a powerful tool for detecting Multi-segment transcripts (MSTs) with long reads and transcript segment graphs. It is able to detect and classify the multi-segment transcripts with the following four forms of transcript segment links: ICRL, ICTL, ITPL, and ITTL (see the figure below).
Prerequisite
htslib is required to run ScanMST. Please install it in the environment.
conda install -c bioconda htslib
🧬 BLAT Aligner (Automatic Setup)
ScanMST utilizes BLAT (BLAST-like alignment tool) for auxiliary alignments.
You do not need to install BLAT manually. When you run ScanMST with the --aligner blat option, the tool will automatically detect your operating system (Linux or macOS/Darwin) and chip architecture (Intel or Apple Silicon). It will then download the appropriate executables (gfServer, gfClient, and faToTwoBit) from the UCSC Genome Browser servers into the installation directory.
🚀 Getting Started
The first step in starting your journey with ScanMST is to install the tool.
To do this, there are two options shown below:
- PyPI
pip install scanmst
- CONDA via Bioconda
conda install scanmst
Congratulations! You've successfully installed ScanMST on your local machine.
If you have some issues, please check the document first before opening an issue.
🤖 Using ScanMST
❯ scanmst -h
usage: scanmst [-h] [--version] --input INPUT --ref REF --gtf GTF --output OUTPUT [--output-seq {consensus,reference,both}] [--sr SUPPORT_READS]
[--splice-bin SPLICE_BIN] [--mapq MAPQ] [--log-level {info,debug,trace,warning}] [--thread THREAD] [--aligner {blat,}]
[--blat-identity IDENT_CUTOFF] [--blat-2bit BLAT_TWO_BIT] [--blat-nclosed] [--blat-nsleep] [--blat-port BLAT_PORT] [--species {human,mouse}]
[--circular-rna-filter {remove,keep,extract}] [--off-exon-filter] [--rt-switching-filter RT_SWITCHING_FILTER_LEN] [--ncan] [--graph]
[--refine] [--refine-threshold REFINE_THRESHOLD] [--prune-threshold PRUNE_THRESHOLD] [--max-allowed-nm MAX_ALLOWED_NM]
[--max-allowed-ins MAX_ALLOWED_INS] [--min-required-ins MIN_REQUIRED_INS] [--min-soft-seg-len MIN_SOFT_SEG_LEN]
[--long-indel-length LONG_INDEL_LENGTH] [--indel-fraction INDEL_FRACTION] [--substitution-fraction SUBSTITUTIONS_FRACTION] [--rescue-sr]
[--soft-len SOFT_LEN] [--mismatch MISMATCH] [--alignment-fraction ALIGNMENT_FRACTION] [--nbound] [--ignore-circle]
scanmst 🚀 Multi-segment transcript (MST) identification using transcriptomic long reads data
options:
-h, --help show this help message and exit
--version show program's version number and exit
--input INPUT Input alignment BAM file, which must contain both cs and SA tags.
--ref REF Reference genome in FASTA format (with fai index)
--gtf GTF Gene annotations in GTF format
--output OUTPUT Output file prefix
--output-seq {consensus,reference,both}
Output sequence type (default: consensus)
--sr SUPPORT_READS The minimum number of supporting reads required for calling MST. (default: 1)
--splice-bin SPLICE_BIN Bin size for searching canonical splice sites. (default: 5)
--mapq MAPQ Minimum MAPQ of reads required for calling MST. (default: 20)
--log-level {info,debug,trace,warning} Set log level (default: warning)
--thread THREAD Set the thread number (default: 1)
--aligner {blat,} Aligner used for additional realignment to recover missing chimeric alignments. (default: None)
--blat-identity IDENT_CUTOFF BLAT identity cutoff (default: 0.9)
--blat-2bit BLAT_TWO_BIT Reference genome in 2bit format for BLAT aligner
--blat-nclosed Close BLAT server when the job is complete (default: True)
--blat-nsleep Whether to sleep randomly before starting BLAT server (default: True)
--blat-port BLAT_PORT Port for BLAT server (default: 88888)
--species {human,mouse} Name of the species for the reference genome (default: human)
--circular-rna-filter {remove,keep,extract}
The way of dealing with putative circular RNAs (default: remove)
--off-exon-filter Turn on exon filter (default: True)
--rt-switching-filter RT_SWITCHING_FILTER_LEN
Set the length threshold for RT switching filter. (default length: 10)
--ncan Considering non-canonical splice sites (default: False)
--graph Whether to output transcript segment graph. (default: False)
--refine Whether to refine the transcript segment graph after construction. (default: False)
--refine-threshold REFINE_THRESHOLD Threshold for merging nodes during refinement (default: 3)
--prune-threshold PRUNE_THRESHOLD Length threshold for pruning the transcript segment graph (default: 10)
--max-allowed-nm MAX_ALLOWED_NM Maximum allowed edit distance (NM tag). (default: 100)
--max-allowed-ins MAX_ALLOWED_INS Maximum allowed micro-insertion length (default: 50)
--min-required-ins MIN_REQUIRED_INS Minimum required insertion length in read to infer chimeric alignment (default: 100)
--min-soft-seg-len MIN_SOFT_SEG_LEN Minimum length of soft-clipped portion required to trigger BLAT alignment. (default: 200)
--long-indel-length LONG_INDEL_LENGTH Length cutoff for defining long indels in reads. (default: 10)
--indel-fraction INDEL_FRACTION Maximum allowed fraction of long indels in the reads. (default: 0.001)
--substitution-fraction SUBSTITUTIONS_FRACTION
Maximum allowed fraction of substitutions in the reads (default: 0.05)
--rescue-sr Whether to rescue SR for segment links (default: False)
--soft-len SOFT_LEN Minimum length of soft-clipped portion to be rescued (default: 5)
--mismatch MISMATCH Maximum number of mismatched bases allowed in a rescued segment (default: 3)
--alignment-fraction ALIGNMENT_FRACTION
Minimum fraction of the sequence that must align in Smith-Waterman local alignment. (default: 0.8)
--nbound Whether to add maximum increment limit using average reads depth when rescuing SR (default: True)
--ignore-circle Whether to export result when the transcript segment graph contains a circle (default: False)
Please refer to the document for details and more examples.
📎 Citation
Feel free to read and cite our paper in BioRvix.
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
🪪 License
ScanMST is free software available under the GNU General Public License v3.0 (GPLv3). You are free to modify and redistribute this software under the terms of this license.
⚠️ External Dependency Licensing (BLAT)
While ScanMST itself is GPL-licensed, it utilizes the BLAT aligner for specific functionality. BLAT is not distributed with ScanMST; it is downloaded automatically from the University of California, Santa Cruz (UCSC) servers upon first use.
BLAT License Terms:
-
Academic/Non-Profit: Free for use.
-
Commercial: A license is required from Kent Informatics.
By using this software with the --aligner blat option, you acknowledge that you are responsible for adhering to the UCSC and Kent Informatics license terms regarding the use of BLAT executables.
🤝 Contact
If you experience any problems or have suggestions, please create an issue or a pull request.
Credits
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scanmst-0.1.9.tar.gz.
File metadata
- Download URL: scanmst-0.1.9.tar.gz
- Upload date:
- Size: 780.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27b0f827533cddffd702f2e33997645587d4d5368647580a01d732df11fbb7b5
|
|
| MD5 |
eca3990e8140fce88454de56bfa241f7
|
|
| BLAKE2b-256 |
042bfb40363d2a5f91c64aecb72a2a2de653474f1f1929ef8bf11ac61a136650
|
File details
Details for the file scanmst-0.1.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: scanmst-0.1.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e3e317dd730cd9c8eca855af5564c766d9b45aa089ed5c92e81c2e3aac80482
|
|
| MD5 |
b3508ce78fdf73a9319de58c98303252
|
|
| BLAKE2b-256 |
f82f77b7721c7a8339229d6e3f4e113f6dd9a49172159a72f1244ef259ea470c
|
File details
Details for the file scanmst-0.1.9-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: scanmst-0.1.9-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
016b2b81935566b43089e1ae2eee7eaeab159d205178b0b1c07e620263186488
|
|
| MD5 |
f8cb849357cebec886093dccbba119f3
|
|
| BLAKE2b-256 |
1178eabb4eb7bb46452d8bcebe31d91f7701e51c8c83738e5a04d7955270b57e
|