运行 ChloroScan
ChloroScan 专注于叶绿体基因组 MAGs 的恢复,特别是 光合微藻和大型藻类,及其衍生的复杂质体,例如硅藻和定鞭藻。它主要需要的输入是 contigs 及其测序深度。
在大多数情况下,默认设置就能很好地工作,但你也可以为每个步骤配置参数。在这里,我们将简要介绍每个步骤的输入和输出,以及你可以为每个步骤配置的参数。
1. 数据中是否存在叶绿体?
光合藻类/光合原生生物通常栖息在海洋水域、淡水、地衣和潮湿土壤等环境中。人为环境、地下环境和沉积物中它们的丰度通常较低。因此,如果你的数据来自这些环境,ChloroScan 可能无法恢复任何叶绿体 MAGs。
同时,如果你的数据包含过于碎片化的叶绿体 contigs 且覆盖度较低(通常 < 5.0 x),ChloroScan 仍可能无法检测到它们。希望我们更新的版本能够解决这些问题。
2. 常用的最简命令
你已经有了 contigs、bam 格式的映射文件和配置文件。现在你可以用一个命令运行整个工作流程:
chloroscan run --Inputs-assembly input_contigs.fasta --Inputs-alignment PATH/to/bams \
--Inputs-batch-name "my_batch" --outputdir Path/to/output --use-conda --cores=12 \
--cat-database PATH/to/CAT_db/db --cat-taxonomy path/to/CAT_db/tax --conda-prefix PATH/to/conda_envs
有时你可能还希望获得以表格形式表示的深度信息。它看起来像这样:
S0C861 3.52491757
S0C1664 2.73124830
S0C2713 12.64139886
S0C3242 2.51473363
S0C8106 23.82718202
S0C8631 2.69335600
S0C9609 2.49439900
...
第一列是 contig 的 ID,第二列是 contig 的平均深度。我们也接受这种格式,只需将命令更改为:
DEPTH_PROFILE=path/to/depth_profile.tsv
chloroscan run --Inputs-assembly input_contigs.fasta --Inputs-depth-profile $DEPTH_PROFILE \
--Inputs-batch-name "my_batch" --outputdir Path/to/output --use-conda --cores=12 \
--cat-database PATH/to/CAT_db/db --cat-taxonomy path/to/CAT_db/tax --conda-prefix PATH/to/conda_envs
有关输入的更多详细信息,请查看 输入和输出 部分。
如果你想使用我们的测试数据,可以使用 README 中显示的命令下载测试数据:
figshare download -o simulated_metagenomes.tar.gz 28748540
3. 命令参数说明
ChloroScan 的完整命令空间如下所示:
Usage: chloroscan run [OPTIONS]
Run the workflow.
All unrecognized arguments are passed onto Snakemake.
╭─ Options ────────────────────────────────────────────────────────────────────────────────╮
│ --config FILE Path to snakemake config file. Overrides existing │
│ workflow configuration. │
│ [default: None] │
│ --resource -r PATH Additional resources to copy from workflow directory │
│ at run time. │
│ --profile -p TEXT Name of profile to use for configuring Snakemake. │
│ [default: None] │
│ --dry -n Do not execute anything, and display what would be │
│ done. │
│ --lock -l Lock the working directory. │
│ --dag -d PATH Save directed acyclic graph to file. Must end in │
│ .pdf, .png or .svg │
│ [default: None] │
│ --cores -c INTEGER Set the number of cores to use. If None will use all │
│ cores. │
│ [default: None] │
│ --no-conda Do not use conda environments. │
│ --keep-resources Keep resources after pipeline completes. │
│ --keep-snakemake Keep .snakemake folder after pipeline completes. │
│ --verbose -v Run workflow in verbose mode. │
│ --help-snakemake -hs Print the snakemake help and exit. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Workflow Configuration ─────────────────────────────────────────────────────────────────╮
│ --Inputs-assembly -a PATH Path to fasta format │
│ assembly of contigs from │
│ all sorts of organisms. │
│ [default: None] │
│ --Inputs-depth-txt -d PATH Path to a tab-separated │
│ text storing abundance │
│ of each contig in the │
│ sample. │
│ [default: None] │
│ --Inputs-alignment -l PATH Path to the folder │
│ containing alignment │
│ files of the contigs. │
│ [default: None] │
│ --Inputs-batch-name -b TEXT Name of the batch. │
│ [default: None] │
│ --outputdir -o PATH Path to the output │
│ directory of the │
│ workflow. │
│ [default: None] │
│ --tmpdir -t PATH Path to the temporary │
│ directory of the │
│ workflow. │
│ [default: tmp] │
│ --binning-universal-le… INTEGER Length cutoff for │
│ universal binning. │
│ [default: 1500] │
│ --binning-snakemake-env TEXT Customized snakemake │
│ environment for binny to │
│ run. │
│ [default: None] │
│ --binning-mantis-env TEXT Customized Mantis │
│ virtual environment to │
│ have mantis_pfa │
│ installed, annotating │
│ genes. │
│ [default: None] │
│ --binning-outputdir -o PATH Path to the output │
│ directory of the │
│ binning. │
│ [default: binny_output] │
│ --binning-clustering-e… TEXT Range of epsilon values │
│ for HDBSCAN clustering. │
│ [default: 0.250,0.000] │
│ --binning-clustering-h… TEXT Range of min_samples │
│ values for HDBSCAN │
│ clustering, larger value │
│ means larger MAGs. │
│ [default: 1,5,10] │
│ --binning-bin-quality-… FLOAT Starting completeness │
│ for bin quality. │
│ [default: 92.5] │
│ --binning-bin-quality-… FLOAT Minimum completeness for │
│ bin quality. │
│ [default: 50] │
│ --binning-bin-quality-… FLOAT Purity for bin quality. │
│ [default: 95] │
│ --corgi-min-length INTEGER Minimum length of │
│ contigs to be processed │
│ by CORGI. │
│ [default: 500] │
│ --corgi-save-filter --no-corgi-save-filter Save the filtered │
│ contigs by CORGI (Note: │
│ may take long time). │
│ [default: │
│ no-corgi-save-filter] │
│ --corgi-batch-size INTEGER Batch size for CORGI to │
│ process contigs. │
│ [default: 1] │
│ --corgi-pthreshold FLOAT P-value threshold for │
│ CORGI to determine if │
│ the contigs category is │
│ authentically plastidial │
│ or something else. │
│ [default: 0.9] │
│ --cat-database -d PATH Path to the database of │
│ chloroplast genomes. │
│ [default: │
│ /home/yuhtong/scratch/a… │
│ --cat-taxonomy -t PATH Path to the taxonomy of │
│ the database. │
│ [default: │
│ /home/yuhtong/scratch/a… │
│ --krona-env TEXT Path to the Krona │
│ environment. │
│ [default: kronatools] │
╰──────────────────────────────────────────────────────────────────────────────────────────╯
- 以下列出了 ChloroScan 的所有参数。
--Inputs-assembly: Fasta 格式的 contigs 装配文件路径,包含各种生物的 contigs。--Inputs-depth-txt: 样本中每个 contig 丰度的制表符分隔文本文件路径。第一列是 contig 的 ID,第二列是 contig 的平均测序深度。--Inputs-alignment: 包含 contigs 比对bam文件的文件夹路径。对齐文件应为 bam 格式,并命名为 “sample_name.bam”。样本名称将从 bam 文件名中提取,通过去掉 “.bam” 后缀。样本名称将在下游分析和输出文件中使用。--Inputs-batch-name: 批次名称。该名称将在下游分析和输出文件中使用。起到标识不同运行批次数据的作用。--outputdir: 工作流的输出目录路径。最终结果将存储在此目录中。中间结果将存储在输出目录下名为 “working” 的子目录中。默认值为 “output”。--tmpdir: 工作流的临时目录路径。默认值为 “tmp”。--binning-universal-length-cutoff: 分箱的contigs长度阈值。短于此长度的 contigs 将在分箱前被过滤。默认值为 1500bp。--binning-snakemake-env: 用于运行 binny 的自定义 snakemake 环境。如果未指定,将使用默认的 conda 环境。--binning-mantis-env: 用于安装 mantis_pfa 并注释基因的自定义 Mantis 虚拟环境。如果未指定,将使用默认的 conda 环境。--binning-outputdir: 分箱的输出目录路径。默认值为 “binny_output”。--binning-clustering-epsilon-range: HDBSCAN 聚类中重要的 epsilon的取值范围。默认值为 “0.250,0.000”。--binning-clustering-hdbscan-min-sample-range: HDBSCAN 聚类中 min_samples 的取值范围,较大的值意味着较大的 MAGs。默认值为 “1,5,10”。--binning-bin-quality-purity: 分箱质量的最小纯度。默认值为 95。--binning-bin-quality-starting-completeness: 分箱质量的起始完整性。Binny 使用滑动完整性来过滤分箱。默认值为 92.5。--binning-bin-quality-min-completeness: 分箱质量的最小完整性。默认值为 50。--corgi-min-length: CORGI 处理的 contigs 的最小长度。默认值为 500bp。--corgi-save-filter: 保存 CORGI 过滤后的 contigs(注意:可能需要较长运行时间)。默认值为 no-corgi-save-filter。--corgi-batch-size: CORGI 推断 contigs 分类标签的批次大小。默认值为 1。--corgi-pthreshold: CORGI 判断 contigs 类别是否为真正的叶绿体或其他类别的 P 值阈值。默认值为 0.9。--cat-database: CAT 数据库的路径,保存经过 diamond 处理的蛋白质序列。默认值为 “PATH/TO/CAT_db/db”。--cat-taxonomy: CAT 数据库的分类标签路径。默认值为 “PATH/TO/CAT_db/tax”。--krona-env: Krona 环境的路径。默认值为 “kronatools”。 现在通常不需要设置此项。