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 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.

  • -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.3

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.3
File Size Uploaded Provenance
arsc-0.5.3.tar.gz 17.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arsc 0.5.3
File Interpreter ABI Platform
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.

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