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.2.tar.gz (14.4 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.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jamsfetch-1.0.2.tar.gz
  • Upload date:
  • Size: 14.4 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.2.tar.gz
Algorithm Hash digest
SHA256 2d003639fb961a700f99763ce6852043f3a38a1718d453e04e1beaa372b15d68
MD5 2364b82625977ef3aa38e5985ab457ff
BLAKE2b-256 bacac46a8840d79995c6d2e79a1180a66a1d92702b96b337da34fbaabd9398c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for jamsfetch-1.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: jamsfetch-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3bcc29338ced0c03fe867fafbbdfb101447867be05f5f12e9e6f5ecb5e94d13c
MD5 76b796b7c80d2031d3825c0d67ec6f8f
BLAKE2b-256 31dbcb0123bd8a9b5b1f85d76b63dd7537f6fe1a56c39f16c888514ea52a4a20

See more details on using hashes here.

Provenance

The following attestation bundles were made for jamsfetch-1.0.2-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