【发布时间】:2021-11-02 21:39:33
【问题描述】:
提前感谢您在这里提供的所有帮助! 我有一个蛇形文件,它定义了处理短读数据、映射和变体调用的步骤。我希望对不同的样本使用不同的参考序列,我想知道您会如何建议根据输入样本名称定义参考?
例如,我使用通配符定义了我的运行和样本名称。我希望根据样本(或运行)名称定义我的参考,以便将样本映射到正确的参考。我的规则 map_reads 如下。
提前感谢您的帮助!
# Define samples:
RUNS, SAMPLES = glob_wildcards("/xyz/{run}/{samp}_L001_R1_001.fastq.gz")
sample_dict = dict(zip(SAMPLES,RUNS))
print("runs are: ", RUNS)
print("samples are: ", SAMPLES)
# Map reads.
rule map_reads:
input:
ref_path='/xyz/refs/{ref}.fasta',
kr1='process/trim/{run}_{samp}_trim_kr_1.fq.gz',
kr2='process/trim/{run}_{samp}_trim_kr_2.fq.gz'
output:
bam='process/bams/{run}_{samp}_{mapper}_{ref}_rg_sorted.bam'
params:
mapper='{mapper}'
log:
'process/bams/{run}_{samp}_{mapper}_{ref}_map.log'
threads: 8
shell:
"/xyz/scripts/map_reads.sh {input.ref_path} {params.mapper} {input.kr1} {input.kr2} {output.bam} &>> {log}"
【问题讨论】:
标签: snakemake