ABCOMICS Genomic Data Upload Tool — upload sequencing files to ABCOMICS
Project description
abcupload
ABCOMICS Genomic Data Upload Tool
A command-line tool to upload sequencing and genomic data files to the ABCOMICS platform. It handles the full upload process automatically: requesting a signed URL from the API, then streaming each file directly to secure cloud storage with a live progress bar.
Installation
pip install abcupload
Requires Python 3.8 or later. Dependencies (requests, rich) are installed
automatically.
Quick start — manifest mode (recommended)
After submitting your runs and analyses metadata in the ABCOMICS dashboard, download the upload manifest (a TSV file) for your project. The manifest maps each local filename to its ID-based destination name in ABCOMICS storage.
# 1. Get your personal API key from the ABCOMICS dashboard:
# Dashboard → Settings → abcupload API Key → Copy
# 2. Set it once in your terminal session
export ABCOMICS_API_KEY="your_key_here"
# 3. Upload all files listed in the manifest
abcupload -d /path/to/your/files/ -m PRJAB00001_upload_manifest.tsv
# Overwrite without asking if a file already exists
abcupload -d /path/to/your/files/ -m PRJAB00001_upload_manifest.tsv -o
Where is my API key?
Log into the ABCOMICS dashboard → Settings → abcupload API Key.
Each user has a unique personal key — never share it.
The manifest is a tab-separated file with four columns:
# entity_id original_filename new_gcs_filename project_id
RUNAB00001 sample_R1.fastq.gz RUNAB00001_1.fastq.gz PRJAB00001
RUNAB00001 sample_R2.fastq.gz RUNAB00001_2.fastq.gz PRJAB00001
RUNAB00002 reads.bam RUNAB00002.bam PRJAB00001
ANZAB00001 result.tsv ANZAB00001.tsv PRJAB00001
abcupload reads the manifest to rename files to their ABCOMICS IDs on the
way up — your local files are never renamed.
Legacy mode
# Upload a single file
abcupload -u abc-000001 -p PRJAB00001 -d sample_R1.fastq.gz
# Upload all FASTQ files in the current directory
abcupload -u abc-000001 -p PRJAB00001 -d '*.fastq.gz'
# Upload an entire directory (scans for all accepted formats)
abcupload -u abc-000001 -p PRJAB00001 -d /data/project/
# Test mode — files are deleted after 24 hours
abcupload -u abc-000001 -p PRJAB00001 -d '*.fastq.gz' -t
Full usage
manifest mode (recommended):
abcupload -d DIRECTORY -m MANIFEST_TSV [options]
-d DIRECTORY Directory containing the files to upload
-m MANIFEST_TSV TSV manifest downloaded from the ABCOMICS dashboard
legacy mode:
abcupload -u USERNAME -p PROJECT_ID -d FILES [options]
-u USERNAME ABCOMICS username (e.g. abc-000001)
-p PROJECT_ID Project ID (e.g. PRJAB00001)
-d FILES Single file, comma list, glob pattern, or directory
options:
-k API_KEY API key (alternative to ABCOMICS_API_KEY env var)
-t Test mode — files deleted after 24 h
-o Overwrite existing files without asking
-h, --help Show this help and exit
-V, --version Show version and exit
Environment variable
# Add to ~/.bashrc or ~/.zshrc for persistence
export ABCOMICS_API_KEY=your_key_here
Accepted file formats
| Format | Extensions |
|---|---|
| FASTQ | .fastq, .fq, .fastq.gz, .fq.gz, .fastq.bz2, .fq.bz2 |
| FASTA | .fasta, .fa, .fna, .faa, .ffn, .frn, .fasta.gz, .fa.gz, .fna.gz, .faa.gz |
| BAM / SAM / CRAM | .bam, .sam, .cram |
| Index files | .bai, .crai, .csi, .tbi |
| VCF / BCF | .vcf, .vcf.gz, .bcf, .bcf.gz |
| Annotation | .gff, .gff3, .gtf, .bed (and .gz variants) |
| Tabular | .csv, .tsv |
Maximum file size: 500 GB.
Changelog
1.2.0
- API keys are now per-user: each user has a unique personal key available in the ABCOMICS dashboard under Settings → abcupload API Key.
- No changes required to the CLI — just update your
ABCOMICS_API_KEYvalue.
1.1.0
- New manifest mode (
-d DIR -m manifest.tsv): reads an ABCOMICS upload manifest to rename files to their ID-based GCS names on upload without touching local files. - Files now upload directly to
public/{project_id}/in GCS; no private→public move step needed. -u(username) and-p(project_id) are no longer required in manifest mode; all info comes from the TSV.- Legacy mode (
-u USER -p PRJ -d files) still fully supported.
1.0.1
- Initial public release.
Author
Khadim Gueye — African Bioinformatics Center (ABCOMICS)
Contact: contact@abcomics.org
License
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file abcupload-1.2.1.tar.gz.
File metadata
- Download URL: abcupload-1.2.1.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35e8ca329996a5dd6f3a3427460b772dce3fdf9d30cea07c9f187ec167b034db
|
|
| MD5 |
771f9114396e58aa51376aaea1bd865d
|
|
| BLAKE2b-256 |
c36a1548056dc78c5fbddafbea193943ccfe16cc90f11e60cf43fa4a52a724c1
|
File details
Details for the file abcupload-1.2.1-py3-none-any.whl.
File metadata
- Download URL: abcupload-1.2.1-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b6a5286eb567b71d1a829688bbc8bcf644fa99429c6c349b0e2db821136d5e4
|
|
| MD5 |
2cf4204fe79386dc0a7246324615929f
|
|
| BLAKE2b-256 |
6fbae314ff6fe7b3ac8ef0fa7abc77d8a176012a3cfc4161a57c9fe40eaf52b5
|