Soft-clip primer sites for SAM/BAM files generated from amplicon sequencing runs
Project description
align_trim
Stand alone version of ARTIC's fieldbioinformatics align_trim.py
Installation
From conda
conda install bioconda::align_trim
from pypi
pip install align_trim
from source
git clone https://github.com/artic-network/align_trim.git
cd align_trim
uv sync
uv run align_trim --help
Command Line Interface
Basic Usage
align_trim [OPTIONS] BEDFILE
The tool reads alignment data from either a SAM/BAM file or stdin and outputs trimmed alignments to stdout in SAM format by default.
Required Arguments
BEDFILE: BED file containing the amplicon primer scheme in v3 format.
Optional Arguments
Input/Output Options
--samfile,-s: Sorted SAM/BAM file containing the aligned reads, if this is not provided (or '-') then 'align_trim' will read from stdin.--output,-o: Output file path. Format determined by extension (.sam/.bam). If not provided or '-', writes SAM to stdout
Processing Options
--normalise,-n: Normalise to target depth N per amplicon using a greedy per-read algorithm. Each read is kept only if it brings the amplicon depth closer to the target. Use 0 for no normalisation (default: 0)--min-mapq,-m: Minimum mapping quality to keep an aligned read (default: 20)--primer-match-threshold,-p: Add this many bases of padding to the 5' end of primer coordinates to allow fuzzy matching for reads with barcodes/adapters (default: 35)
Primer and Read Handling
--no-trim-primers: Do not trim primers from reads (by default, primers are trimmed)--allow-incorrect-pairs: Allow reads to be assigned to amplicons even if primers are not correctly paired--require-full-length: Require all reads to start and stop in primer sites (do not use with rapid barcoding)
Output and Reporting
--report,-r: Output detailed report TSV to specified filepath--amp-depth-report,-a: Output mean depth for each amplicon as TSV to specified filepath--no-read-groups: Do not divide reads into pool-based read groups in SAM/BAM output
General Options
--verbose,-v: Enable debug mode with detailed logging to stderr--version: Show version information--help: Show help message
Examples
Basic trimming with primer removal
align_trim primers.bed --samfile input.bam --output trimmed.bam
Normalize coverage and generate reports
align_trim primers.bed --samfile input.bam --normalise 100 \
--report alignment_report.tsv --amp-depth-report depth_report.tsv \
--output normalized.bam
Process from stdin with verbose output
samtools view -h input.bam | align_trim primers.bed --verbose > trimmed.sam 2> verbose.out.txt
Strict full-length read filtering
align_trim primers.bed --samfile input.bam --require-full-length \
--min-mapq 30 --output filtered.bam
Allow mismatched primer pairs with custom threshold
align_trim primers.bed --samfile input.bam --allow-incorrect-pairs \
--primer-match-threshold 50 --output relaxed.bam
Output Formats
The tool supports multiple output formats based on file extension:
.sam- SAM format (text).bam- BAM format (binary, compressed)- No extension or
-- SAM format to stdout
Report Files
When using --report, a tab-separated file is generated with the following columns:
chrom: Reference chromosome/contigQueryName: Read nameReferenceStart/ReferenceEnd: Alignment coordinatesPrimerPair: Primer pair assignmentPrimer1/Primer2: Individual primer informationCorrectlyPaired: Boolean indicating proper primer pairing- Additional alignment metrics
The --amp-depth-report generates a summary of coverage depth per amplicon.
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
Built Distribution
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 align_trim-1.1.0.tar.gz.
File metadata
- Download URL: align_trim-1.1.0.tar.gz
- Upload date:
- Size: 6.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bbed7703abee40310a7a8e36ca464abf5c333d1c09ef8440b10bf9977e29e28
|
|
| MD5 |
5425cbde3f2d4dc2e6526e656b912411
|
|
| BLAKE2b-256 |
e0e57c50dda607cc2874faa6ba01315c66894a9db1e9037c318d5f3fd3bc72a0
|
Provenance
The following attestation bundles were made for align_trim-1.1.0.tar.gz:
Publisher:
python-publish.yml on artic-network/align_trim
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
align_trim-1.1.0.tar.gz -
Subject digest:
2bbed7703abee40310a7a8e36ca464abf5c333d1c09ef8440b10bf9977e29e28 - Sigstore transparency entry: 1262748628
- Sigstore integration time:
-
Permalink:
artic-network/align_trim@e53ecae4ee847764e9b269d7a0f2704bbb9037a1 -
Branch / Tag:
refs/tags/1.1.0 - Owner: https://github.com/artic-network
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e53ecae4ee847764e9b269d7a0f2704bbb9037a1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file align_trim-1.1.0-py3-none-any.whl.
File metadata
- Download URL: align_trim-1.1.0-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecae98614f906c569bc72f54f5f229ba9edb351ca364d06804a59b6b7f27b553
|
|
| MD5 |
e74b2177f1cbd9dab7d75e6d3bebe970
|
|
| BLAKE2b-256 |
1dc2934333e5131cd00df9d4a73613038dd9219a0df1813995f06604a4ed9f39
|
Provenance
The following attestation bundles were made for align_trim-1.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on artic-network/align_trim
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
align_trim-1.1.0-py3-none-any.whl -
Subject digest:
ecae98614f906c569bc72f54f5f229ba9edb351ca364d06804a59b6b7f27b553 - Sigstore transparency entry: 1262748814
- Sigstore integration time:
-
Permalink:
artic-network/align_trim@e53ecae4ee847764e9b269d7a0f2704bbb9037a1 -
Branch / Tag:
refs/tags/1.1.0 - Owner: https://github.com/artic-network
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e53ecae4ee847764e9b269d7a0f2704bbb9037a1 -
Trigger Event:
release
-
Statement type: