Skip to main content

ENA Smart Workflow and Acquisition Network — fast parallel FASTQ downloader for the European Nucleotide Archive

Project description

🦢 enaswan

ENA Smart Workflow and Acquisition Network

A fast, parallel command-line toolkit to fetch metadata, download FASTQ files, and verify integrity from the European Nucleotide Archive (ENA).


Installation

Via pip (PyPI)

pip install enaswan

Via conda (Bioconda)

conda install -c bioconda enaswan

Workflow

Run the three steps in order:

Step 1 — Fetch Metadata

enaswan --meta SRR12345678
enaswan --meta SRR12345678 ERR000001 PRJNA123456   # multiple IDs
enaswan --meta SRR12345678 --outdir ./results       # custom output folder

Saves a <ID>_metadata.csv file containing run accession, sample info, instrument model, file sizes, FTP links, and MD5 checksums.


Step 2 — Download FASTQ Files

enaswan --dl SRR12345678
enaswan --dl SRR12345678 ERR000001                  # multiple IDs
enaswan --dl SRR12345678 --threads 8 --outdir ./data  # parallel + custom dir
  • Downloads are parallel (default: 4 threads)
  • Resumes interrupted downloads automatically
  • Shows a real-time progress bar

📶 Note: Download speed will vary depending on your internet connection and ENA server load.


Step 3 — Verify Integrity

enaswan --check SRR12345678_metadata.csv

Computes MD5 checksums for each downloaded file and compares against ENA's expected values. Reports PASS ✅, MISSING ⚡, or CORRUPTED ❌.


Full Options

usage: enaswan [-h] (--meta ID [ID ...] | --dl ID [ID ...] | --check metadata.csv)
               [--threads N] [--outdir DIR]

options:
  --meta   ID [ID ...]    Fetch metadata CSV for accession IDs
  --dl     ID [ID ...]    Download FASTQ files for accession IDs
  --check  metadata.csv   Verify MD5 checksums using metadata CSV
  --threads N             Parallel download threads (default: 4)
  --outdir DIR            Output directory (default: current directory)

Supported Accession Types

Type Example Description
Run SRR*, ERR*, DRR* Single sequencing run
Project PRJNA*, PRJEB* All runs in a project
Sample SAMN*, SAME* All runs for a sample

License

MIT © Your Name

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

enaswan-0.1.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

enaswan-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file enaswan-0.1.0.tar.gz.

File metadata

  • Download URL: enaswan-0.1.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for enaswan-0.1.0.tar.gz
Algorithm Hash digest
SHA256 878214367e9ceef0c4a15c2f2269b8b27e2e25bafff7248c80f8503095de7e1b
MD5 a3ca8e3f290f4f36788591bd3755883c
BLAKE2b-256 692b519a149923ab31bbc6885a532534d24a398e2014904df8394b1aa21df576

See more details on using hashes here.

File details

Details for the file enaswan-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: enaswan-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for enaswan-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 253761db1e39484daf4b3d69d87e2c5881b6558dfc36f994df14bbf0ab70f67f
MD5 da7c15ee0c261d9ac05083d9cd111112
BLAKE2b-256 519ed62af08d528735e888753b5339789aac7c171aef58da9f3c9f55d051521d

See more details on using hashes here.

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