- Introduction
- Installation
- Inputs
- Usage
- Output Structure
- Managing storage with Nextflow
- Managing GWDG 2h QOS
- Example SLURM wrapper: run.sh
nf-sra_screen is a Nextflow pipeline for taxon-focused screening and assembly of public SRA runs and/or local FASTQ files, followed by taxonomic annotation and optional binning.
Given:
- a list of SRA accessions and/or a table of local FASTQ files,
- a NCBI taxonomy snapshot and NCBI <-> GTDB mapping tables,
- a UniProt DIAMOND database,
- optionally, Sandpiper and SingleM marker-gene databases for pre-screening,
- optionally, a CheckM2 database when using Binette refinement.
the pipeline will:
- Discover and filter suitable SRR runs from SRA metadata (short-read, ONT, PacBio CLR/HiFi).
- Optionally, with
--taxa, pre-screen samples using Sandpiper and/or SingleM against a GTDB-derived phylum list. - (Assembly mode; default) Assemble reads with:
- metaSPAdes for short reads
- metaFlye by default for ONT and PacBio CLR
- myloasm for PacBio HiFi and, when explicitly selected, ONT R10
- optional multi-assembler selection with
--assemblers
- (Assembly mode) Annotate contigs with DIAMOND against UniProt and summarise with BlobToolKit.
- Optionally, with
--taxa, extract contigs matching user-specified taxa into per-taxon FASTA and ID lists. - Optionally, with
--binning, run compatible metagenome binners (MetaBAT2, SemiBin, Rosella, COMEBin, VAMB, and HiFi-only LorBin) and refine them with DAS Tool and/or Binette. - Collate a per-sample
summary.tsvwith counts and failure/success notes, and post-annotate it using scheduler info from the Nextflowtrace.tsv.
The pipeline is organised into four subworkflow stages:
PRE_SCREENING- SRA metadata -> SRR selection -> optional Sandpiper/SingleM screening.ASSEMBLY- Assembly, DIAMOND, BlobToolKit, optional taxon extraction.BINNING- MetaBAT2, SemiBin, Rosella, COMEBin, VAMB, HiFi-only LorBin, DAS Tool/Binette, and binning note aggregation.SUMMARY- merges all success and failure notes into the final globalsummary.tsv.
You can run it in the following modes:
| Mode | What runs | Key flags | Typical use |
|---|---|---|---|
| Screening only | PRE_SCREENING + SUMMARY | --noassembly (often with --taxa) |
Quickly triage many SRR/sample inputs before committing to assembly |
| Assembly only | PRE_SCREENING + ASSEMBLY + SUMMARY | (default) | Assemblies + BlobToolKit summaries, no binning |
| Assembly + binning | PRE_SCREENING + ASSEMBLY + BINNING + SUMMARY | --binning |
Assemblies + compatible binners + Binette by default |
| Taxon screening + extraction | Adds Sandpiper/SingleM (and extraction in assembly mode) | --taxa |
Focus on a taxon list; optionally extract contigs |
| Taxon screening + extraction + binning | As above + binning | --taxa --binning |
Full run |
Note
--binningis only meaningful when assembly is enabled (i.e. when you do not set--noassembly). If you set both,--binningis ignored.- If you omit
--taxa, Sandpiper/SingleM and taxon-specific extraction are skipped.
There is also a standalone binning entrypoint, binning.nf, for cases where you already have assembly.fasta and either the original reads or an SRR accession, and only want the mapping + binning stage.
- Nextflow:
>= 26.04.6 - Container backend:
- Docker, or
- Singularity / Apptainer
- For the optional GWDG QOS helper: a Slurm cluster with
squeueandscontrol
All tools used by the pipeline are provided via containers defined in nextflow.config.
-
Assembly mode (default, without
--noassembly)--taxdumpNCBI taxdump dir (nodes.dmp,names.dmp,taxidlineage.dmpor classical taxdump)--uniprot_dbUniProt DIAMOND database (.dmnd) (See the BlobToolKit documentation for how to build this)
-
Taxon screening / extraction (with
--taxa)--taxdump--gtdb_ncbi_mapDir with NCBI -> GTDB crosswalk:ncbi_vs_gtdb_bacteria.xlsx,ncbi_vs_gtdb_archaea.xlsx,gtdb_r226.dicfrom GTDB download--singlem_dbSingleM metapackage (e.g.S5.4.0.GTDB_r226.metapackage_20250331.smpkg.zb)--sandpiper_db(with--sraonly) Sandpiper db withsandpiper_sra.txt,sandpiper1.0.0.condensed.tsv
-
Binning with Binette refinement
--checkm2_dbCheckM2 database required when--refinersincludesbinette, including the default binning configuration
-
Standalone binning (
binning.nf)--uniprot_dbUniProt DIAMOND database (.dmnd) for SemiBin2--checkm2_dbCheckM2 database when using the default--refiners binette
Note
In screening-only mode (--noassembly), --uniprot_db is not required because DIAMOND / BlobToolKit / binners are skipped.
The pipeline can ingest SRA accessions and/or local FASTQ files in the same run. Internally these are merged before assembly.
Prepare a CSV with a single column sra, each row representing an SRA project, study-level accession, or run accession:
sra.csv
sra
PRJNAXXXXXX
SRPXXXXXX
ERRXXXXXXEach row can be a project, study, or run. The pipeline will query metadata and expand each project into multiple SRR runs internally.
In SRA + screening mode (--sra + --taxa), SRA metadata is filtered first. Sandpiper then screens candidate SRR runs, and SingleM is run for downloaded reads that need marker-gene confirmation.
The metadata files are written under:
<outdir>/metadata/<sra>
Prepare a TSV describing local FASTQ files.
fastq.tsv
sample read_type reads
A98 hifi a98.fastq.gz
B27 short read_1.fastq.gz,read_2.fastq.gz
C03 nanopore c03_pass.fastq.gz
D48 pacbio d48.fastq.gzsample: logical sample identifier.read_type: read class used for assembler selection. Use one of:short: short paired-end reads (Illumina, BGISEQ, DNBSEQ) (metaSPAdes),nanopore: Nanopore reads (metaFlye by default; myloasm can be selected explicitly for R10 reads),pacbio: PacBio CLR reads (metaFlye),hifi: PacBio HiFi reads (myloasm).
reads: comma-separated list of FASTQ paths (absolute or relative); at least one file per row is required. Two or more files are treated as paired-end for SingleM/metaSPAdes, one as single-end.
In FASTQ + screening mode (--fastq_tsv + --taxa), each sample is treated as
sra = sample
srr = sample
platform = UNKNOWN
model = read_type
strategy = UNKNOWN
read_type = read_type
assembler = selected assembly toolFASTQ screening does not use Sandpiper. When --taxa is set, local FASTQ samples are sent directly to SingleM.
In FASTQ + no-screening mode (--fastq_tsv), reads go straight into assembly and optionally binning.
Provide a CSV of target taxa if you want taxon-specific screening and contig extraction:
taxa.csv
rank,taxa
phylum,Bacillota
class,Gammaproteobacteria
order,o__Chloroflexales
genus,g__EscherichiaAllowed ranks (case-insensitive)
realm,domain,superkingdom,kingdom,phylum,class,order,family,genus,speciesImportant
- If you do not supply
--taxa, the pipeline skips SingleM/Sandpiper and taxon-specific extraction. - If you supply the taxon in GTDB style only (for example
p__orc__), the pipeline runs SingleM/Sandpiper but skips taxon-specific extraction.
Use binning.nf when you already have an assembly and want to run mapping + binning without re-running main.nf.
binning.tsv
sample read_type reads srr assembly_fasta
A98 hifi a98.fastq.gz /path/to/A98/assembly.fasta
B27 short read_1.fastq.gz,read_2.fastq.gz /path/to/B27/assembly.fasta
C03 SRR12345678 /path/to/C03/assembly.fastasample: logical sample identifier. Internally,sra = sample.read_type: required for local-read rows; must be one ofshort,nanopore,pacbio, orhifi.reads: comma-separated FASTQ paths for local-read rows.shortaccepts one FASTQ (single-end) or two FASTQs (paired-end).nanopore,pacbio, andhifiaccept one or more FASTQs.
srr: optional SRR accession for download-backed rows. If set, raw reads are downloaded automatically andread_typeis ignored.assembly_fasta: path to the assembly to bin against.- Provide exactly one of
readsorsrrin each row.
binning.nf skips screening, DIAMOND, BlobToolKit, and taxon extraction. It maps either the supplied local reads or downloaded SRR FASTQs back to assembly_fasta, then runs the selected compatible binners (MetaBAT2, SemiBin2, Rosella, COMEBin, VAMB, and HiFi-only LorBin), selected refiners (DAS Tool and/or Binette), and writes a minimal summary.tsv.
nextflow run asuq/nf-sra_screen \
-profile <docker/singularity/local/slurm/...> \
--binning \
--assemblers auto \
--sra sra.csv \
--fastq_tsv fastq.tsv \
--taxdump /path/to/ncbi_taxdump_dir \
--uniprot_db /path/to/uniprot.dmnd \
--taxa taxa.csv \
--gtdb_ncbi_map /path/to/ncbi_vs_gtdb_xlsx_dir \
--sandpiper_db /path/to/sandpiper_db_dir \
--singlem_db /path/to/singlem_metapackage \
--checkm2_db /path/to/checkm2_db \
--outdir nf-sra_screen_resultsnextflow run asuq/nf-sra_screen \
-profile <docker/singularity/local/slurm/...> \
--assembler myloasm \
--fastq_tsv fastq.tsv \
--taxdump /path/to/ncbi_taxdump_dir \
--uniprot_db /path/to/uniprot.dmnd \
--outdir nf-sra_screen_myloasm_results--assembler myloasm is an explicit opt-in for Nanopore R10 reads; the
pipeline cannot infer pore chemistry from SRA metadata or the FASTQ samplesheet.
The default --assembler auto continues to use metaFlye for Nanopore. Selecting
--assembler all runs both metaFlye and myloasm for Nanopore samples.
nextflow run binning.nf \
-profile <docker/singularity/local/slurm/...> \
--binning_tsv binning.tsv \
--uniprot_db /path/to/uniprot.dmnd \
--checkm2_db /path/to/checkm2_db \
--outdir nf-sra_screen_binning-profilenextflow profile (see below)--sraCSV with columnsralisting project accessions--fastq_tsvTSV with columns (sample,read_type,reads) listing sample reads--binning_tsvTSV for standalonebinning.nf, using either local-read rows (sample,read_type,reads,assembly_fasta) or SRR rows (sample,srr,assembly_fasta)--taxdumpDirectory containing NCBI taxdump files;jsonify_taxdump.pywill createtaxdump.json--uniprot_dbUniProt DIAMOND database (.dmnd) (Follow blobtools tutorial)--taxa(Optional) CSV with rank,taxa (NCBI or GTDB names). Use it if you want taxonomy screening--assemblers(Optional) Assembly tools:auto,all, or comma-separated names. Defaultautousesmetaspadesfor short reads,metaflyefor Nanopore/PacBio CLR, andmyloasmfor HiFi. Explicitmyloasmselection also supports Nanopore R10;allruns bothmetaflyeandmyloasmfor Nanopore. Supported tools aremetaspades,unicycler,metaflye, andmyloasm; aliasesspadesandflyeare accepted.--assemblerAlias for--assemblers.--gtdb_ncbi_map(Required with--taxa) Directory with ncbi_vs_gtdb_bacteria.xlsx and ncbi_vs_gtdb_archaea.xlsx for taxonomy screening--sandpiper_db(Required with--taxaand--sra) Directory with Sandpiper summary tables for SRA taxonomy screening--singlem_db(Required with--taxa) SingleM metapackage (e.g. S5.4.0.GTDB_r226.metapackage_20250331.smpkg.zb) for taxonomy screening--binning(Optional) Run BINNING after ASSEMBLY (all read-type-compatible binners + Binette by default)--binnersComma-separated binners (default:all-compatible; allowed:all-compatible,auto,metabat,semibin,rosella,comebin,vamb,lorbin).all-compatibleruns all read-type-compatible binners;autois accepted as a compatibility alias. LorBin runs only for HiFi reads.--refinersComma-separated refiners (default:binette; allowed:dastool,binette)--checkm2_dbCheckM2 database required when--refinersincludesbinette; required for default binning becausebinetteis the default refiner--semibin_environmentSemiBin2 pretrained environment (default:global)--gpuBare flag enabling GPU variants for COMEBin, VAMB, and HiFi-only LorBin; MetaBAT2, SemiBin, and Rosella stay CPU-only--noassembly(Optional) Skip ASSEMBLY and BINNING; run PRE_SCREENING + SUMMARY only. If set,--binningis ignored--outdirOutput directory (default: ./output)--max_retriesMaximum number of retries per process (default: 3)--download_srr_max_forksMaximum simultaneousDOWNLOAD_SRRtransfers (default: 2). This controls I/O concurrency independently of CPU allocation.--queue_shortOptional scheduler queue for short jobs--queue_standardOptional scheduler queue for standard jobs--queue_highmemOptional scheduler queue for high-memory retries--queue_gpuOptional scheduler queue for GPU jobs (GWDG default:scc-gpu)--executor_queue_sizeOptional executor queue size override for SLURM-style profiles--slurm_cluster_optionsOptional extra SLURM cluster options appended toprocess.clusterOptions--gpu_cluster_optionsOptional extra scheduler options for GPU jobs--singularity_cache_dirOptional Singularity cache directory override--singularity_run_optionsOptional Singularity runtime options override--gpu_typeOptional GPU type for typed SLURM requests on GPU-enabled profiles--gpusGPU count for typed SLURM requests on GWDG (default:1)--gpu_container_optionsOptional container runtime options for GPU jobs (GWDG default:--nv)--helpPrint the pipeline help message and exit.
Across all profiles, DOWNLOAD_SRR requests one CPU, up to 8 GB of memory, and
the configured --max_time from its first attempt. Retries keep the same
allocation. This is intentionally an I/O-oriented policy; the SRA conversion and
compression fallbacks therefore also run with one thread.
local- Executor:
local docker.enabled = true- Small queue size and moderate resources (max_cpus=8, max_memory=16.GB).
- Executor:
slurm- Executor:
slurm singularity.enabled = true- Large queue size (
queueSize=2000) and increased resource caps.
- Executor:
oist- Includes
conf/oist.configfor OIST Deigo HPC settings. - Uses Apptainer for both local and Slurm tasks; the
apptainerexecutable must be available onPATHwhen Nextflow is launched. - SRA metadata resolution, Sandpiper, and
DOWNLOAD_SRRrun in a bounded two-task local pool.
- Includes
gwdg- Includes
conf/gwdg.configfor the GWDG SCC SLURM environment. - Uses Apptainer with SHM-first temporary storage and defaults all CPU queue classes to
scc-cpu. - SRA metadata resolution, Sandpiper, and
DOWNLOAD_SRRrun in a bounded two-task local pool; downloads retain the profile's proxy setup. - Does not assign
QOS=2hautomatically; usehelpers/gwdg_promote_2h_qos.shwhen you want manual short-job promotion.
- Includes
marmic- Includes
conf/marmic.configfor the Marmic SLURM environment. - Uses Apptainer/Singularity cache settings under
/bioinf/home/$USER/nfx_singularity_cache. - SRA metadata resolution, Sandpiper, and
DOWNLOAD_SRRrun in a bounded two-task local pool. - Keep database paths as command-line parameters, for example
--taxdumpand--uniprot_db.
- Includes
viper-cpu- MPCDF Viper CPU profile; launch from
viper05i. - Compute tasks use Slurm. SRA metadata resolution and Sandpiper run locally with one CPU and at most 16 GB each.
DOWNLOAD_SRRuses the pipeline-wide download policy but runs locally because Viper compute nodes have no internet access. The existing local executor pool provides an additional two-task safety ceiling.VALIDATE_TAXAreceives 16 GB because loading the complete NCBI taxdump JSON creates several large in-memory Python indexes.SINGLEMexplicitly enables two SMT threads per physical core. It requests 64 logical threads on the first attempt and at most 128 logical threads on later attempts, corresponding to 32 and 64 physical cores respectively; the same logical-thread count is passed tosinglem pipe --threads. Attempt time limits are 4, 12, and 24 hours, capped by--max_time.- Nextflow keeps at most 250 Slurm tasks outstanding by default, leaving
headroom below Viper's default 300-job per-user submission limit. Lower
this with
--viper_slurm_queue_sizewhen other jobs or workflow launches share that limit.
- MPCDF Viper CPU profile; launch from
debug- docker.enabled = true
executor.queueSize = 1- Extended trace.fields for debugging.
test- For small regression tests.
export NXF_APPTAINER_CACHEDIR="/ptmp/$USER/apptainer-cache"
nextflow run asuq/nf-sra_screen \
-profile viper-cpu \
-w "/ptmp/$USER/nf-sra_screen-work" \
--sra sra.csv \
--taxdump /path/to/ncbi_taxdump_dir \
--uniprot_db /path/to/uniprot.dmnd \
--outdir "/ptmp/$USER/nf-sra_screen-results"The profile does not fix a Slurm partition, account, or QoS. Override the
container cache with --apptainer_cache_dir and the default
apptainer/1.4.3 module with --viper_apptainer_module <module/name> when
necessary. Both the -w directory and Apptainer cache must be shared /ptmp
paths. /ptmp is not backed up and inactive files are subject to retention
cleanup, so preserve final results elsewhere when required. /r is available
only on login nodes; /tmp and generic $TMPDIR are unsuitable for Nextflow
work or shared container caches. The reusable needs_internet label and
opt-in process_local_scratch label are available; the latter uses
$JOB_TMPDIR.
Run the dependency-locked development test suite with pixi run test.
To reduce persistent Lustre usage, put transient Nextflow task directories on Lustre and write final outputs to NFS. Use Nextflow's portable -work-dir option for the work directory and --outdir for pipeline outputs:
nextflow run asuq/nf-sra_screen \
-profile marmic \
-work-dir /lustre/$USER/nf-sra_screen_work \
--outdir /nfs/$USER/nf-sra_screen_resultsThis keeps large intermediate task data in Lustre-backed work/ storage while final result files accumulate on NFS.
Output structure
<output>/
metadata/
<sra>/
<sra>.filtered.csv
<sra>.skipped.csv
<sra>.FAIL.note # if metadata step failed
<sra>/<srr>/ # default/single assembler
<sra>/<srr>/<assembler>/ # multi-assembler runs
# Screening
singlem_taxonomic_profile.tsv
singlem_taxonomic_profile_krona*
singlem_output.tsv
# Screening (only with --sra)
sandpiper_report.txt
sandpiper_output.tsv
sandpiper_decision.txt
# Assembly
assembly.fasta
assembly.gfa
spades.log / flye.log / myloasm.log
fastp.html # short-read only
fastp.json # short-read only
assembly.bam.csi # read-to-assembly mapping index
# BlobToolKit
blobtools.csv
blobtools*.svg
# Taxon extraction (if --taxa and not --noassembly)
summary.csv
*.ids.csv
*.fasta
# Binning (if --binning)
binning/
metabat.tar.gz
comebin.tar.gz
vamb.tar.gz
lorbin.tar.gz
semibin.tar.gz
rosella.tar.gz
dastool/
binette/
metabat.contig2bin.tsv
comebin.contig2bin.tsv
vamb.contig2bin.tsv
lorbin.contig2bin.tsv
semibin.contig2bin.tsv
rosella.contig2bin.tsv
metabat.note # if failed
FAIL.note # COMEBin failure/skip note
vamb.note # if failed
lorbin.note # if failed
semibin.note # if failed
rosella.note # if failed
dastool.note # if failed
binette.note # if failed
summary.tsv # global summary across all samples
execution-reports/
timeline.html
report.html
trace.tsv[!NOTE] In
--noassemblymode, summary.tsv is still produced, but assembly/BlobToolKit/extraction/binning outputs are not. When multiple assemblers are selected, assembler-specific outputs are written under<sra>/<srr>/<assembler>/andsummary.tsvkeeps separate rows withread_typeandassembler. When runningbinning.nf, only the per-samplebinning/directories and the globalsummary.tsvare produced.
Managing storage with Nextflow
Long metagenomic runs can fill storage rapidly. Prefer separating transient task work from final outputs with Nextflow's built-in path controls:
nextflow run asuq/nf-sra_screen \
-profile marmic \
-work-dir /lustre/$USER/nf-sra_screen_work \
--outdir /nfs/$USER/nf-sra_screen_resultsThis keeps large intermediate task data on Lustre while final result files accumulate on NFS. It also avoids a separate transfer process because Nextflow writes the final outputs directly to the requested NFS output directory.
After a run has finished, completed sample work directories can be cleaned from the trace file:
helpers/cleanup_processed_sample_workdirs.sh execution-reports/trace.tsv \
--work-root /lustre/$USER/nf-sra_screen_workThe helper writes processed_sample_workdirs.tsv beside the trace file and deletes by default. Add --dry-run to write the processed sample list and inspect candidate directories without deleting them. The helper only cleans a sample when all final observed trace rows for that sample are COMPLETED or CACHED.
Managing GWDG 2h QOS
GWDG allows many normal-QOS submissions, but the 2h QOS has a small user job cap. The helper helpers/gwdg_promote_2h_qos.sh watches for free 2h slots and promotes eligible pending short jobs into that QOS.
Run it from a login node, ideally in a tmux/screen session:
helpers/gwdg_promote_2h_qos.sh --quietUseful options:
--cap N: maximum jobs allowed inQOS=2h(default:10)--interval SECONDS: seconds between checks (default:60)--once: run one check and exit--quiet: hide routine status lines, while still printing job updates
The helper can affect all pending short jobs owned by the current user, not only nf-sra_screen jobs. It promotes jobs only when their current QOS is not 2h and their requested walltime is at most 2 hours.
Example SLURM wrapper: run.sh
The repository includes an example wrapper run.sh showing how to run the pipeline on a Slurm cluster with optional GWDG QOS promotion.
What run.sh does
- Defines user-specific paths:
RUN_DIR='/fast/.../nf-sra_screen_run'
NF_SRA_SCREEN='/path/to/nf-sra_screen' # clone of this repo
ENABLE_GWDG_QOS_HELPER=false
GWDG_QOS_HELPER_OPTS=(--quiet)- Installs a
trapso that when the script exits (successfully or not), it:
- Attempts to stop the optional GWDG QOS helper cleanly.
- Preserves the original Nextflow exit status.
- Changes into
RUN_DIRso that:
.nextflow.logand execution reports live there.
- If
ENABLE_GWDG_QOS_HELPER=true, starts the GWDG QOS helper in the background:
"${NF_SRA_SCREEN}/helpers/gwdg_promote_2h_qos.sh" \
"${GWDG_QOS_HELPER_OPTS[@]}" \
> gwdg_promote_2h_qos.log 2>&1 &and records its PID in gwdg_promote_2h_qos.pid.
- Runs the Nextflow pipeline (with your chosen profile and parameters):
nextflow run asuq/nf-sra_screen \
-profile <docker/singularity/local/slurm/...> \
--sra sra.csv \
--fastq_tsv fastq.tsv \
--taxdump /path/to/ncbi_taxdump_dir \
--uniprot_db /path/to/uniprot.dmnd \
--taxa taxa.csv \
--binning \
--gtdb_ncbi_map /path/to/ncbi_vs_gtdb_xlsx_dir \
--sandpiper_db /path/to/sandpiper_db_dir \
--singlem_db /path/to/singlem_metapackage \
--checkm2_db /path/to/checkm2_db \
-work-dir /lustre/path/to/nf-sra_screen_work \
--outdir /nfs/path/to/nf-sra_screen_results \
-resume- Exits with the same status code as the Nextflow run, triggering the
EXITtrap, which in turn stops the optional QOS helper.
To reuse this pattern:
-
Copy
run.shsomewhere in your project. -
Edit:
RUN_DIR: a project directory for the Nextflow launch logs and execution reports.NF_SRA_SCREEN: path to your clone of this repository.ENABLE_GWDG_QOS_HELPER: set totrueonly on GWDG when you want short pending jobs promoted into free2hQOS slots.GWDG_QOS_HELPER_OPTS: options forhelpers/gwdg_promote_2h_qos.sh, such as--quiet,--cap, or--interval.- The Nextflow command at the bottom, especially profile name, database paths,
-work-diron Lustre, and--outdiron NFS. - Submit
run.shitself as a Slurm job or run it on a login node withtmux(depending on your site policy). All heavy work is still done by Nextflow processes.
Author / maintainer: Akito Shima (ASUQ), akito-shima[at]oist.jp
- iSeq 1.9.8 with SRA Toolkit 3.4.1
- Sandpiper inputs, SingleM 0.21.3
- DIAMOND 2.2.5
- BlobToolKit 4.5.0
- fastp 1.3.6
- metaSPAdes / SPAdes 4.3.0
- Flye 2.9.6
- myloasm 0.6.0 with mylotools 2.1.0 GFA annotation
- bowtie2 2.5.5, minimap2 2.31, samtools 1.24
- MetaBAT2 2.18
- COMEBin 1.0.4
- VAMB 5.0.4
- LorBin 0.1.0
- SemiBin 2.4.1
- Rosella 0.5.7
- DAS Tool 1.1.7
- Binette 1.2.1
GPU mode on GWDG uses compatibility-pinned CUDA images for COMEBin, VAMB, and
HiFi-only LorBin. These images were cross-built for linux/amd64 and validated
by package imports and CUDA build metadata; GPU hardware and numerical execution
remain to be validated on the target cluster. SemiBin uses its pretrained
environment model on CPU.
Every process image is configured with a versioned tag and immutable digest.
The 0.4.0 software provenance records the
direct versions, image digests, build/verification scope, and complete Conda and
pip inventories for the nine custom images. Database and reference assets,
including the existing Sandpiper and GTDB filenames, are intentionally unchanged;
their refresh and end-to-end reference-dependent validation are deferred to the
future db_prep work.
