Snakefile 只执行一个 job/rule
Snakefile executes only one job/rule
snakefile
包含两个作业 - 一个下载基因组,另一个使用 bowtie2 构建
来自生成的 .fa 文件的 bowtie2 索引。代码如下:
rule reference_genome_download:
output:
"reference_genome/ref_genome.fna"
shell:
"""
gca="GCA_000372685.2"
datasets download genome accession $gca --exclude-gff3 --exclude-protein --exclude-rna
unzip ncbi_dataset.zip
cat $(ls ncbi_dataset/data/$gca/chr*) > {output}
rm -r ncbi_dataset
rm README.md
rm ncbi_dataset.zip
"""
rule build_bowtie_index:
input:
"reference_genome/ref_genome.fna"
output:
"reference_genome/btbuild.log"
shell:
"bowtie2-build {input} reference_genome/ref_genome_btindex > {output}"
当我用 snakemake -n -c 10
干燥 运行 时,我得到以下信息:
Building DAG of jobs...
Job stats:
job count min threads max threads
------------------------- ------- ------------- -------------
reference_genome_download 1 1 1
total 1 1 1
[Fri Jan 28 12:54:25 2022]
rule reference_genome_download:
output: reference_genome/ref_genome.fna
jobid: 0
resources: tmpdir=/tmp
规则 build_bowtie_index
甚至没有作为工作选项出现。我如何让两者达到 link?
使用 snakemake,我发现根据 我最终想要什么 来思考比根据一系列作业来思考更有用。 Snakemake 查看第一个规则来确定用户想要生成的内容,然后使用以下规则生成该输出。
在你的情况下,第一条规则应该是这样的:
rule all:
input:
"reference_genome/btbuild.log",
意思是最后你想要reference_genome/btbuild.log
。 Snakemake 会计算出要生成 reference_genome/btbuild.log
它需要先 运行 reference_genome_download
然后 build_bowtie_index
。事实上,第一个规则之后的规则顺序无关紧要,snakemake 会自行将它们按正确的顺序组合起来。
snakefile
包含两个作业 - 一个下载基因组,另一个使用 bowtie2 构建
来自生成的 .fa 文件的 bowtie2 索引。代码如下:
rule reference_genome_download:
output:
"reference_genome/ref_genome.fna"
shell:
"""
gca="GCA_000372685.2"
datasets download genome accession $gca --exclude-gff3 --exclude-protein --exclude-rna
unzip ncbi_dataset.zip
cat $(ls ncbi_dataset/data/$gca/chr*) > {output}
rm -r ncbi_dataset
rm README.md
rm ncbi_dataset.zip
"""
rule build_bowtie_index:
input:
"reference_genome/ref_genome.fna"
output:
"reference_genome/btbuild.log"
shell:
"bowtie2-build {input} reference_genome/ref_genome_btindex > {output}"
当我用 snakemake -n -c 10
干燥 运行 时,我得到以下信息:
Building DAG of jobs...
Job stats:
job count min threads max threads
------------------------- ------- ------------- -------------
reference_genome_download 1 1 1
total 1 1 1
[Fri Jan 28 12:54:25 2022]
rule reference_genome_download:
output: reference_genome/ref_genome.fna
jobid: 0
resources: tmpdir=/tmp
规则 build_bowtie_index
甚至没有作为工作选项出现。我如何让两者达到 link?
使用 snakemake,我发现根据 我最终想要什么 来思考比根据一系列作业来思考更有用。 Snakemake 查看第一个规则来确定用户想要生成的内容,然后使用以下规则生成该输出。
在你的情况下,第一条规则应该是这样的:
rule all:
input:
"reference_genome/btbuild.log",
意思是最后你想要reference_genome/btbuild.log
。 Snakemake 会计算出要生成 reference_genome/btbuild.log
它需要先 运行 reference_genome_download
然后 build_bowtie_index
。事实上,第一个规则之后的规则顺序无关紧要,snakemake 会自行将它们按正确的顺序组合起来。