我正在编写一个 GNUmakefile 来创建一个工作流来分析一些生物序列数据。数据采用名为 fastq 的格式,然后经过许多清理和分析工具。我附上了我目前写的内容,从清洁前的质量控制到之后的质量控制,我一路走来。我的问题是我不确定如何运行“fastqc”命令,因为它的目标不依赖于工作流中的任何其他步骤。
%_sts_fastqc.html %_sts_fastqc.zip: %_sts.fastq
# perform quality control after cleaning reads
fastqc $^
%_sts.fastq: %_st.fastq
# trim reads based on quality
sickle se -f $^ -t illumina -o $@
%_st.fastq: %_s.fastq
# remove contaminated reads
tagdust -s adapters.fa $^
%_s.fastq: %.fastq
# trim adapters
scythe -a <adapters.fa> -o $@ $^
%_fastqc.html %_fastqc.zip: %.fastq
# perform quality control before cleaning reads
fastqc $^
%.fastq: %.sra
# convert .fastq to .sra
fastq-dump $^