asap-o-matic provides the ability to process ASAP-seq FASTQs for downstream processing and counting of the antibody-dependent reads using Salmon Alevin.
A heavily modified version of asap_to_kite.
ASAP-seq uses a few tricks to bridge the oligo sequences attached to CITE-seq/Total-seq antibodies with the oligo tails on the beads of 10x Genomics scATAC-seq kits; however, the reads produced don't match anything that Cellranger understands how to count. asap-o-matic reformats those reads so that they appear like those coming from the feature library of a 10x Genomics scRNA-seq library.
The easiest way is to run via uv:
uv tool install asap-o-maticAlteratively, it can be installed using pip
pip install asap-o-maticor uv:
uv pip install asap_o_matic- Python >= 3.11
- currently, asap-o-matic is tested against 3.11-3.14
- Rust
- R1/R2/I1/I2 files output by
bcl-convert/bcl2fastqor the R1/R2/R3/I3 produced bycellranger mkfastq
asap-o-matic [OPTIONS] COMMAND [ARGS]...-f, --fastqs DIRECTORY: Path of folder created by mkfastq or bcl2fastq; can be comma separated that will be collapsed into one output [required]-s, --sample TEXT: Prefix of the filenames of FASTQs to select; can be comma separated that will be collapsed into one output [required]-o, --id TEXT: A unique run id, used to name output. [required]-a, --fastq_source [cellranger|bcl-convert]: Name of the program used to convert bcls to FASTQs. Cellranger mkfastq creates R1, R2, R3, and I3 files while bcl-convert creates R1, I1, R2, I2 files. [default: cellranger]-d, --outdir DIRECTORY: Directory to save files to. If none is give, save in the directory from which the script was called.-c, --cores INTEGER: Number of cores to use for parallel processing. [default: 18]-r, --rc-R2 / -R, --no-rc-R2: Should the reverse complement of R2 be used? Pass '--rc-R2' if the reads were generated on a NextSeq or v1.0 chemistry NovaSeq. [default: no-rc-R2]-j, --conjugation [TotalSeqA|TotalSeqB]: String specifying antibody conjugation; either TotalSeqA or TotalSeqB [default: TotalSeqA]--debug: Print extra information for debugging.--save_log: Save the log to a file--version: Print version number.--help: Show this message and exit.
Assuming we have FASTQs from bcl-convert in the folder /path/to/fastq/folder/sample_1 that are named:
- sample_1_prot_S11_L004_R1_001.fastq.gz
- sample_1_prot_S11_L004_R2_001.fastq.gz
- sample_1_prot_S11_L004_I1_001.fastq.gz
- sample_1_prot_S11_L004_I2_001.fastq.gz
asap-o-matic \
--fastqs /path/to/fastq/folder \
--sample sample_1_prot \
--id sample_1_reformatted \
--conjugation TotalSeqB \
--outdir /path/to/output/sample_1 \
--cores 24 \
--no-rc-R2The resulting reformatted reads will be output as:
- /path/to/output/sample_1/sample_1_reformatted_R1.fastq.gz
- /path/to/output/sample_1/sample_1_reformatted_R2.fastq.gz