配置multiQC
大多数MultiQC设置都可以在命令行上指定,MultiQC还能够解析系统范围和个人配置文件。在运行时,它将按照以下顺序收集配置设置(在每个步骤中,如果发现冲突的配置变量,将进行设置覆盖):
1、MultiQC代码中的硬编码默认值(Hardcoded defaults)
2、在<installation_dir> /multiqc_config.yaml中的系统级配置(这是自己安装时需要的,pip或conda安装都不要这个)
3、〜/ .multiqc_config.yaml中的用户配置
4、在环境变量MULTIQC_CONFIG_PATH中设置文件的路径
例如,在您的〜/ .bashrc文件中定义此文件路径,并将文件保留在您喜欢的任何位置
5、在当前工作目录multiqc_config.yaml中配置文件
6、在命令行中使用--config / -c指定配置具体的文件路径
您可以指定多个文件,它们可以是具有的任何文件名。
7、命令行配置(--cl_config)
8、具体的命令行选项(例如--force)
1、样品名称清洗
MultiQC通常通过获取输入或日志文件名并“清洗”它来生成样品名称。为此,它要使用fn_clean_exts的设置选项并查找任何匹配项。如果它找到任何匹配项,则删除右边的所有项。例如,考虑以下配置:
fn_clean_exts:
- ".gz"
- ".fastq"
那么结果就是:
mysample.fastq.gz -> mysample
secondsample.fastq.gz_trimming_log.txt -> secondsample
thirdsample.fastq_aligned.sam.gz -> thirdsample
还有一个配置列表称为fn_clean_trim,它只是用来删除可能存在于示例名称的开始或结束的字符串。
通常您不希望覆盖缺省值(尽管您可以)。相反,添加到特殊变量名extra_fn_clean_exts和extra_fn_clean_trim:
extra_fn_clean_exts:
- ".myformat"
- "_processedFile"
extra_fn_clean_trim:
- "#"
- ".myext"
1.1 其他的搜索类型
文件名清洗还可以使用要删除的字符串(而不是使用截断某些字符)。同样,正则表达式的字符串也可以用来搜索匹配的模式和删除或保留匹配的子字符串。
trumcate(默认的)
如果你只是用1个字符串,那么默认的行为与“trim”类似。从匹配的字符串开始,文件名将被截断。
extra_fn_clean_exts:
- ".fastq"
就相当于下面的
extra_fn_clean_exts: - type: "truncate"
pattern: ".fastq"
这个规则将会产生下面的样品名:
mysample.fastq.gz -> mysample
thirdsample.fastq_aligned.sam.gz -> thirdsample
remove(之前叫replace)
remove类型允许你除去匹配上的某个具体文件名
extra_fn_clean_exts: - type: remove
pattern: .sorted
这个规则会产生下面的结果:
secondsample.sorted.deduplicated -> secondsample.deduplicated
regex命令
你同样还可以使用正则表达式删除子字符串。这里有一个很好的资源,可以交互地尝试一下:
extra_fn_clean_exts:
- type: regex
pattern: "^processed."
这个规则产生的结果如下:
processed.thirdsample.processed -> thirdsample.processed
regex_keep命令
如果你想保持正则表达式的匹配,你可以使用regex keep类型。如果您可以直接指定示例名称,那么这将简化事情,比如:
extra_fn_clean_exts: - type: regex_keep
pattern: "[A-Z]{3}[1-9]{2}"
运用这个规则的结果是:
merged.recalibrated.XZY97.alignment.bam -> XZY97
module命令
这个键将告诉MultiQC只将模式应用于特定的MultiQC模块。这应该是一个匹配module anchor的字符串——当你在侧边栏中点击主模块标题时的#module位(删除#)。例如,仅为Kallisto将所有样品名称截断为5个字符:
extra_fn_clean_exts: - type: regex_keep
pattern: "^.{5}"
module: kallisto
如果你愿意的话,你同样可以应用一系列的多样化module anchors:
extra_fn_clean_exts: - type: regex_keep
pattern: "^.{5}"
module:- kallisto
- cutadapt
1.2 冲突的样品名称
清理样品名称的过程有时会导致重复。 重复的样品名称将覆盖以前的结果。 使用--verbose / -v标志或在multiqc_data / multiqc.log中,通过详细日志记录可以看到显示这些事件的警告。
通常会发现由此引起的问题要比预期的要少。 如果您不确定MultiQC报告中的数据来自何处,请查看multiqc_data / multiqc_sources.txt,其中列出了报告各部分所使用的文件的路径。
网友评论