snakemake - 如何从 config.yaml 分配多个路径?
问题描述
我想使用snakemake 来分析我的数据集。由于我将使用不同的生物体,我希望 snakemake 在索引基因组时为每个生物体创建一个文件夹。
我在我的config file
organism:
Dmel:
fasta: "ftp://ftp.ensembl.org/pub/current_fasta/drosophila_melanogaster/dna/Drosophila_melanogaster.BDGP6.22.dna.toplevel.fa.gz"
gtf: "ftp://ftp.ensembl.org/pub/current_gtf/drosophila_melanogaster/Drosophila_melanogaster.BDGP6.22.98.gtf.gz"
Dpse:
fasta: "ftp://ftp.ensemblgenomes.org/pub/current/metazoa/fasta/drosophila_pseudoobscura/dna/Drosophila_pseudoobscura.Dpse_3.0.dna.toplevel.fa.gz"
gtf: "ftp://ftp.ensemblgenomes.org/pub/current/metazoa/gtf/drosophila_pseudoobscura/Drosophila_pseudoobscura.Dpse_3.0.45.gtf.gz"
并想尝试rule star_index
在我的snakemake
文件中调用此链接,就像这样:
rule star_index:
input:
fasta="genome/{org}.fa",
gtf="genome/{org}.gtf"
output:
directory("genome/{org}/starIndex/")
threads: 16
params:
prefix = lambda wildcards: "genome/{org}/starIndex".format(org=wildcards.organism) ## wildcards.organism # {config['organism']}
shell:
"mkdir -p {output} && "
"STAR --runThreadN {threads} "
"--outFileNamePrefix {output} "
"--runMode genomeGenerate "
"--genomeDir {output} "
"--limitGenomeGenerateRAM {config[RAM]} "
"--genomeSAindexNbases {config[SAindex]} "
"--genomeFastaFiles {input.fasta} "
"--sjdbGTFfile {input.gtf} "
"--sjdbOverhang 100"
但是我无法弄清楚通配符有错误。
运行此规则时出现以下错误:
/local/Assa/projects/automation/P135.automation/getGenome_IndexGenome.Snakefile 的第 51 行中的 InputFunctionException: AttributeError: 'Wildcards' object has no attribute 'organism' Wildcards: org=Dmel
我知道问题出在params
元素上,因为当我将这两行注释掉时,脚本将能够运行。
我不明白为什么wildcards.organism
没有定义。
我将不胜感激任何提示或想法。谢谢阿萨
解决方案
AttributeError: 'Wildcards' object has no attribute 'organism'
Wildcards: org=Dmel
似乎您organism
完全拼写出来,而通配符是org
.
params:
prefix = lambda wildcards: "genome/{org}/starIndex".format(org=wildcards.org)
推荐阅读
- android - 如何从 Unity 创建前台服务
- php - 如何在不使用 phpWord 或任何其他包的情况下仅使用核心 php 获取仅写入文档(.doc、.docx、.pdf)中的内容
- generics - 带有 kotlin 泛型的 Moshi 为接口抛出 No JsonAdapter
- r - 使用 EDGAR 在 R 中的 For-Loop 中创建变量的问题
- javascript - 将 Electron 应用程序打包到 macOS 时出错
- c - 蜂鸣器 持续蜂鸣 HIGH 然后 LOW
- java - 如何在Android中将HTML页面下载为pdf?
- opencv - 获得清晰和连续轮廓opencv的问题
- python - 如何更正要在 python 中执行的 sql 查询?
- java - 在 docker 容器内生成的 Log4j 日志