quickARSC: ARSC-based stoichiometry utility
quickARSC is a lightweight command-line tool and a web interface for quantifying elemental stoichiometry from FASTA files. It calculates the number of nitrogen (N), carbon (C), and sulfur (S) atoms per amino acid residue side chain (ARSC) across proteins or proteomes.
These metrics follow the definitions used in Mende et al., Nature Microbiology, (2017).
For more details, please visit our wiki.
Web Interface
The static web interface is available at https://stsnsn.github.io/quickARSC/
Features:
- Pre-computed Results: Browse and download ARSC metrics for all 143,614 GTDB r226.0 representatives.
- Interactive Filtering: Filter results by taxonomy information.
- Custom Analysis: Upload your own amino acid FASTA file (.fa, .faa, .fasta) to compute ARSC metrics on-the-fly.
Standalone Package
The standalone package is available at https://pypi.org/project/arsc/
Features
- Elemental stoichiometry calculation: Calculate N, C, and S-ARSC directly from protein FASTA files or directories.
- Multiprocessing: Fast and scalable analysis of large genome or proteome datasets.
- Simple CLI tool: Run with a single command; easy to integrate into UNIX pipelines.
Installation From PyPI
pip install arsc
Installation From Anaconda.org
Until the package is available from Bioconda, install the personal-channel build together with its dependencies from conda-forge and bioconda:
conda create -n quickarsc \
--override-channels \
-c stsnsn \
-c conda-forge \
-c bioconda \
--strict-channel-priority \
arsc=0.5.3
Usage
quickARSC <FASTA_FILE(faa/faa.gz) or input_dir/>
For consistency with the package name, the command quickARSC is now available. We also maintain arsc as a shorter command for faster typing.
While we recommend providing protein FASTA files as input or explicitly using the --nucleotide flag, quickARSC automatically detects nucleotide sequences and uses predicted amino acid sequences (requiring Prodigal in your PATH) by default; this feature can be disabled with the --no-auto-detection flag.
-
-hor--help: show help message -
-vor--version: show version -
-oor--output: output TSV file name (optional) -
-tor--threadsN : number of threads (default: 1) -
-sor--stats: output summary statistics to stderr (default: False) -
-por--per-sequence: process each sequence individually instead of the entire file -
--no-auto-detection: Treat input files as amino-acid FASTA and skip nucleotide auto-detection (default: False) -
output format options
-aor--aa-composition: Include amino acid composition ratios in output (default: False)-dor--decimal-placesN : Number of decimal places (default: 6)--no-header: Suppress header line in output (default: False)--max-lengthN : number of maximal amino acid length (default: None)--min-lengthN : number of minimal amino acid length (default: None)
-
-nor--nucleotide: calculate GC content and ARSC values from nucleotide files (fna, fna.gz, fa, fa.gz, fasta, fasta.gz). Requires Prodigal to be installed in your PATH for gene prediction.
Example
1. Compute ARSC values on a .faa file.
quickARSC test_data/genome_a.faa
- output example:
| query | N_ARSC | C_ARSC | S_ARSC | AvgResMW | TotalLength |
|---|---|---|---|---|---|
| genome_a | 0.148438 | 3.132812 | 0.023438 | 123.568566 | 128 |
2. Process all .faa / .faa.gz files in a directory using 3 threads and save results as ARSC_output.tsv.
quickARSC test_data/ -t 5 -o ARSC_output.tsv
3. Output with amino acid composition table as ARSC_output_full.tsv and show statistics summary.
quickARSC test_data/ -t 5 -as -o ARSC_output_full.tsv
4. Sort results by N-ARSC (descending) using pipe.
arsc test_data/ -t 3 --no-header | sort -k2,2nr
5. Process each sequence individually instead of the entire file and filter results by amino acid length >= 65.
arsc test_data/ -t 3 --min-length 65 -p
6. Process nucleotide files (fna/fna.gz) and show base GC compositions and ARSC values. (Requires Prodigal)
arsc -n test_data/ -t 2 -d 2
| query | genomic_GC | base_A | base_T | base_G | base_C | N_ARSC | C_ARSC | S_ARSC | AvgResMW | TotalLength |
|---|---|---|---|---|---|---|---|---|---|---|
| pSAR11 | 36.45 | 31.59 | 31.95 | 16.37 | 20.09 | 0.46 | 3.12 | 0.02 | 133.91 | 830 |
| pSAR12 | 36.45 | 31.59 | 31.95 | 16.37 | 20.09 | 0.46 | 3.12 | 0.02 | 133.91 | 830 |
Input requirements
- Input directory must contain one or more fasta files
.faa,.faa.gz,.fna,.fna.gz,.fa,.fa.gz,.fasta,.fasta.gz
Output
- stdout (if you need no header, use
--no-headeroption) - TSV file (via
-oor--output, optional)
Default format columns: query, N_ARSC, C_ARSC, S_ARSC, AvgResMW, TotalLenghth
- N-ARSC — Average number of nitrogen atoms per amino-acid residue side chain.
- C-ARSC — Average number of carbon atoms per amino-acid residue side chain.
- S-ARSC — Average number of sulfur atoms per amino-acid residue side chain.
- AvgResMW — Average molecular weight of amino-acid residues (not only side chain!).
- TotalLenghth — Total amino acid length.
Dependencies
Core Dependencies (Required)
- Python >= 3.8
- Biopython >= 1.79
- For a minimal setup without Prodigal, use the
--no-auto-detectionflag with amino acid inputs.
- For a minimal setup without Prodigal, use the
Optional Dependencies
- Prodigal >= 2.6.3: Required only for nucleotide mode to perform gene prediction.
- Must be installed and available in your system PATH for nucleotide inputs.
Citation
Please cite following articles:
- Nishino et al., Microbiology Resource Announcements (2026). https://doi.org/10.1128/mra.00031-26
- Mende et al., Nature Microbiology (2017). https://doi.org/10.1038/s41564-017-0008-3
License
This project is distributed under the GPL-2.0 license.
Metadata
Release files for arsc 0.5.3
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 | |
|---|---|---|---|---|
| arsc-0.5.3.tar.gz | 17.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arsc-0.5.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.0 kB
Release files / arsc-0.5.3.tar.gz
| Download URL | arsc-0.5.3.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbe70d5390eeebf65a3a872f4cf567711d8e10ba38956ff81d754ea717429748
|
|
BLAKE2b-256 checksum How to use checksums |
cf7321eed49ec663de61811ca87ccdaf06fa235f22f418777191e01236ae1d0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.0
|
Release files / arsc-0.5.3-py3-none-any.whl
| Download URL | arsc-0.5.3-py3-none-any.whl |
|---|---|
| Size | 19.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
26aab42f8429b96e7fc16e063ad332b19a570b193d5e2f9dd5aa2d7a14892d2a
|
|
BLAKE2b-256 checksum How to use checksums |
888da4638488c03850433f86cd03e3735c4aeab50e391031ca8df98015316c2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.0
|
Security for arsc 0.5.3
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.