conda create -n ncbi_dl -y -c conda-forge ncbi-datasets-cli jq for f in batches/batch_*; do base=$(basename "$f") out="zips/${base}.zip" echo "Downloading $f -> $out" datasets download genome accession --inputfile "$f" \ --include genome,gff3,gbff \ --filename "$out" # 解压到独立目录(也可以最后统一解压) mkdir -p "genomes/$base" unzip -q "$out" -d "genomes/$base" # 关键:主动降速,避免触发 NCBI 限制 sleep 10 done #!/usr/bin/env bash mkdir -p zips genomes for f in batches/batch_*; do base=$(basename "$f") out="zips/${base}.zip" dir="genomes/$base" # 如果已经有对应解压目录,就认为完成,直接跳过 if [[ -d "$dir" ]]; then echo "SKIP (exists): $dir" continue fi echo "Downloading $f -> $out" datasets download genome accession --inputfile "$f" \ --include genome,gff3,gbff \ --filename "$out" mkdir -p "$dir" unzip -q "$out" -d "$dir" # 主动降速,避免触发 NCBI 限制 sleep 10 done