Skip to main content

JAMS-Fetch (Joint Automated Multi-source Sequence Fetcher) is a Python package. It automates the retrieval of sequence and structure data from major bioinformatics databases using a unified, user-friendly interface.

Project description

🧬 JAMS-Fetch

JAMS-Fetch (Joint Automated Multi-source Sequence Fetcher) is a Python package. It automates the retrieval of sequence and structure data from major bioinformatics databases using a unified, user-friendly interface.

Supported databases:

  • NCBI Nucleotide
  • NCBI Genome Assembly
  • UniProt
  • RCSB PDB
  • AlphaFold DB
  • ESM Metagenomic Atlas

Whether you're working with DNA sequences, protein sequences, or molecular structures, JAMS-Fetch simplifies the download process and saves files in standard formats.


🚀 Features

  • 🧠 Automatically detects the correct source based on ID format.
  • ⚙️ Unified API for batch FASTA sequence downloading.
  • 🔍 Separate functions for advanced, source-specific queries.
  • 💾 Saves sequences and structures in appropriate formats (FASTA, PDB, CIF).
  • 📁 Organizes downloads into user-defined directories.

📦 Installation

pip install jamsfetch

🚀 Quick Start

Use fetch_fasta() to automatically download sequences or structure files from multiple sources with a single list of IDs:

from jamsfetch import fetch_fasta

ids = ["P12345", "NM_001200.2", "GCF_000001405.39"]
fetch_fasta(
    id_list=ids,
    output_dir="downloads/",
    assembly_data_type="genomic"  # or "protein"
)

To download 3D protein structures, either experimentally determined or predicted, use fetch_structure():

from jamsfetch import fetch_structure

ids = ["Q8WXF3", "1A2B"]       # UniProt, PDB and ESM IDs are accepted
fetch_structure(
    id_list=ids,
    output_dir="downloads/",
    file_format="pdb",          # or "cif"
    source="experimental"       # or "predicted"
)

🔧 Advanced Usage

Use the following source-specific functions when you need greater control over what and how data is downloaded.

⛁ Uniprot

Download the original FASTA file(s) from UniProt:

from jamsfetch.utils import get_uniprot

get_uniprot(
    uniprot_ids='P12345',           # specify a single UniProt ID or a list of IDs
    outdir="uniprot_fasta",         # specify output directory for FASTA files
)

⛁ NCBI Nucleotide

⛁ NCBI Genome Assembly

Download genomic or protein data for specific organisms or id(s):

from jamsfetch.utils import get_assembly

get_assembly(
    organism="Homo sapiens",         # specify an organism name
    ids=None,                        # or use specific assembly IDs
    bioproject=None,                 # or BioProject
    output_dir="genomes/",           # specify output directory
    data_type="genomic",             # "genomic" or "protein"
    n=1,                             # if organism was passed, number of genome/proteoms to download
    unzip=True,                  
    reference_only=True              # Only reference genomes if True
)

⛁ PDB

Download desired protein structures:

from jamsfetch.utils import get_pdb

get_pdb(
    pdb_ids=['1TUP', '9E2J'],       # specify a single ID or a list of IDs
    output_dir="structures/",       # specify output directory
    file_format="pdb",              # or "cif"
    unzip=True                      # whether to unzip or leave .gz files
)

⛁ AlphaFold DB

Download AlphaFold-predicted protein structures:

from jamsfetch.utils import get_alphafold

get_alphafold(
    uniprot_ids='P12345',           # specify a single ID or a list of IDs
    output_dir="structures/",       # specify output directory
    file_format="pdb",              # or "cif"
)

⛁ ESM Metagenomic Atlas

Download ESMFold-predicted protein structures:

from jamsfetch.utils import get_esm

get_esm(
    esm_ids='MGYP000740062793',     # specify a single ID or a list of IDs
    output_dir="structures/",       # specify output directory
    file_format="pdb",              # or "cif"
)

Upcoming capabilities:

  • Testing - Staszek

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jamsfetch-1.0.3.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jamsfetch-1.0.3-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file jamsfetch-1.0.3.tar.gz.

File metadata

  • Download URL: jamsfetch-1.0.3.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for jamsfetch-1.0.3.tar.gz
Algorithm Hash digest
SHA256 7615ba9d55af8d59d80d7f1136519c20a9dfa61528c838d8eb4b004dc789b74a
MD5 93737de52a263786791fa84db0c917d7
BLAKE2b-256 33a6f649d18dcb58079cfde93ebfbd0378e74b8236f9ffc24aec3ae6fd1dda8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jamsfetch-1.0.3.tar.gz:

Publisher: publish.yml on aszymik/jams-fetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jamsfetch-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: jamsfetch-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for jamsfetch-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 93753c3ffc1bf0f2db893192024a5bd421ad26c63f7ca4cbb3adf3f612616c08
MD5 c34811b4a9f7b9cd27aad876c475e247
BLAKE2b-256 3ff7bd33b59bcfe586ce7bf6e6a6bbafce60d21ce39e302c5b256ec2be82aa52

See more details on using hashes here.

Provenance

The following attestation bundles were made for jamsfetch-1.0.3-py3-none-any.whl:

Publisher: publish.yml on aszymik/jams-fetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page