Skip to main content

quickARSC: ARSC-based stoichiometry utility

PyPI version DOI


quickARSC is a lightweight command-line tool and a web interface for quantifying elemental stoichiometry from protein 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

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.

  • -h or --help : show help message

  • -v or --version : show version

  • -o or --output : output TSV file name (optional)

  • -t or --threads N : number of threads (default: 1)

  • -s or --stats : output summary statistics to stderr (default: False)

  • -p or --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

    • -a or --aa-composition : Include amino acid composition ratios in output (default: False)
    • -d or --decimal-places N : Number of decimal places (default: 6)
    • --no-header : Suppress header line in output (default: False)
    • --max-length N : number of maximal amino acid length (default: None)
    • --min-length N : number of minimal amino acid length (default: None)
  • -n or --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-header option)
  • TSV file (via -o or --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-detection flag with amino acid inputs.

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:


License

This project is distributed under the GPL-2.0 license.


Metadata

Release files for arsc 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arsc 0.5.2
File Size Uploaded Provenance
arsc-0.5.2.tar.gz 17.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arsc 0.5.2
File Interpreter ABI Platform
arsc-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 36.6 kB

Release files / arsc-0.5.2.tar.gz

Download URL arsc-0.5.2.tar.gz
Size 17.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5b9400a22909e74fbf123277c3f53968b1b71de0dece3d9360a928e5aaa9918a
BLAKE2b-256 checksum
How to use checksums
697529be36db7e2e2e597f9cc2956883a999202b8d2fd5d882f748ccb35dc140
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.2-py3-none-any.whl

Download URL arsc-0.5.2-py3-none-any.whl
Size 19.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
876a41ee36ac203e2967c53c89c8dd93a101e64785c3e8f5b248647b474d23f0
BLAKE2b-256 checksum
How to use checksums
a91f2ac7ddc338ab9322950adbc36cd0fdcad9c3c323670c00cc2c8c4a86aa8b
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.2

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page