本地部署nextclade作为进化枝分配、突变检出和序列质量分析(数据集为新冠的数据集,可根据不同的数据集进行,不同病毒的相关分析)

发布于:2025-03-06 ⋅ 阅读:(12) ⋅ 点赞:(0)

步骤 1:安装Docker

注:此步骤忽略,可通过Docker官网对于文档进行安装,地址如下

Docker: Accelerated Container Application Developmenthttps://www.docker.com/

 步骤 2:拉取Nextclade镜像

docker pull nextstrain/nextclade:latest

步骤 3:准备输入文件和目录 

mkdir -p ./nextclade/input ./nextclade/output ./nextclade/dataset 

步骤4:下载数据集(示例使用SARS-CoV-2)

注:SARS-CoV-2为新冠的数据集,可下载不同数据集进行不同病毒的分析

docker run --rm -it \
  -v $(pwd)/nextclade/dataset:/data/dataset \
  nextstrain/nextclade:latest \
  nextclade dataset get --name sars-cov-2 --output-dir /data/dataset

注:运行前请保证 nextclade/input目录下存在对应的序列文件,且数据集正确加载到nextclade/dataset目录下

步骤 5:运行Nextclade 

docker run --rm -it \
  -v $(pwd)/nextclade/input:/data/input \
  -v $(pwd)/nextclade/dataset:/data/dataset \
  -v $(pwd)/nextclade/output:/data/output \
  nextstrain/nextclade:latest \
  nextclade run \
    --input-dataset /data/dataset \
    --output-json /data/output/results.json \
    /data/input/sequences.fasta

相关注释:

  -v $(pwd)/nextclade/input:/data/input \      # 挂载本地输入目录
  -v $(pwd)/nextclade/dataset:/data/dataset \  # 挂载数据集版本
  -v $(pwd)/nextclade/output:/data/output \    # 挂载本地输出目录
  nextstrain/nextclade:latest \                # 指定镜像
  nextclade run \                              # 子命令
     --input-dataset /data/dataset \           #指定对应的数据集
     --output-json /data/output/results.json \ # 指定输出目录
     /data/input/sequences.fasta               # 输入文件位置参数

 步骤 6:运行成功后结果目录出现对应结果

 扩展:通过docke-compose实现批量处理

1,配置docker-compose的yml文件
version: '3.8'

services:
  nextclade-batch:
    image: nextstrain/nextclade:latest
    volumes:
      - ./nextclade/input:/data/input
      - ./nextclade/dataset:/data/dataset
      - ./nextclade/output:/data/output
    command: >
      sh -c "
      for fasta in /data/input/*.fasta; do
        sample=$$(basename $$fasta .fasta);
        mkdir -p /data/output/$$sample;
        echo \"Processing $$sample...\";
        nextclade run \
          --input-dataset /data/dataset \
          --output-json /data/output/$$sample/results.json \
          $$fasta || echo \"Error processing $$sample\";
      done
      "
2,启动docker-compose

注:前提保证单个序列能正常分析 

docker-compose up

关键功能说明

功能 实现方式
自动遍历输入文件 使用 for fasta in /data/input/*.fasta 循环处理所有FASTA文件
独立结果目录 为每个样本创建 /data/output/<样本名>/ 目录(如 output/sample1/

 结果目录结构

nextclade/output/
├── sample1/
│   └── results.json    # 当前命令指定的JSON输出
├── sample2/
│   └── results.json
└── ...

3, 并行处理(使用 --scale

# 启动3个并行实例(每个实例处理不同文件)
docker-compose up --scale nextclade-batch=3

注:保持原有参数逻辑的基础上,实现了自动化批量处理,同时保证了结果文件的隔离存储。根据实际需求调整并行度或输出格式即可。 


网站公告

今日签到

点亮在社区的每一天
去签到