RSeQC с multiQC и snakemake

Я хочу включить результаты RSeQC с помощью multiQC в рабочие процессы snakemake. У меня проблема в том, что один из инструментов RSeQC сообщает только .r и .pdf, в то время как кажется, что multiQC требует ввода .txt для создания графика.

Есть ли у кого-нибудь рабочий код для snakemake, который восстанавливает информацию из RSeQC в правило multiQC.

Поскольку это комбинация трех инструментов, получить поддержку сложно.


Мой код здесь, из которого используется только вывод RSeQC geneBodyCoverage.txt (не два вывода .r и особенно junctionSaturation_plot.r, из которых нет ничего, кроме изображения .r и png)

rule multiqc_global:
"""
Aggregate all MultiQC reports
"""
  input:
    expand("intermediate/{smp}_fastqc.zip", smp=SAMPLES),
    expand("intermediate/merged_{smp}_fastqc.zip", smp=SAMPLES),
    expand("logs/star/{smp}_Log.final.out", smp=SAMPLES),
    expand("intermediate/{smp}.geneBodyCoverage.txt", smp=SAMPLES),
    expand("intermediate/{smp}.geneBodyCoverage.r", smp=SAMPLES),
    expand("intermediate/{smp}.junctionSaturation_plot.r", smp=SAMPLES),
  output:
    html = "results/global_multiqc.html",
    stats = "intermediate/global_multiqc_general_stats.txt"
  log:
    "logs/multiqc/global_multiqc.log"
  version: "1.0"
  shadow: "minimal"
  shell: 
    """
    # Run multiQC and keep the html report
    multiqc -n multiqc.html {input} 2> {log}
    mv multiqc.html {output.html}
    mv multiqc_data/multiqc_general_stats.txt {output.stats}
    """

person splaisan    schedule 01.11.2018    source источник
comment
Привет, если вам нужна помощь с комбинацией продуктов, лучше всего пометить вопрос ими всеми. Я вижу, что для двух других продуктов нет специальных тегов StackOverflow, но, пожалуйста, добавьте существующие теги, которые лучше всего их описывают. Спасибо.   -  person MandyShaw    schedule 01.11.2018
comment
Вы используете хотя бы один из модулей RSeQC, поддерживаемых multiqc? Это не всегда похоже на *.txt файл; используемый файл зависит от модуля   -  person Manavalan Gajapathy    schedule 01.11.2018
comment
Привет @JeeYem; Я попытался добавить файл e.r во входные данные, но был сгенерирован только QC из txt файла.   -  person splaisan    schedule 02.11.2018
comment
Вы видите какие-либо результаты RSeQC в выводе multiqc? Или вы не видите все образцы в своем выводе? В последнем случае вы можете попробовать --dirs-depth, если проблема связана с тем же именем образца. Кроме того, попробуйте --verbose посмотреть, что делает multiqc, который может сказать вам, в чем проблема.   -  person Manavalan Gajapathy    schedule 03.11.2018


Ответы (1)


Это своего рода анекдотический случай, поскольку, как отметил @JeeYem в комментарии, это может зависеть от того, какой анализ вы выполняете с помощью RSeQC. Вот как я использую анализ read_distribution.py в snakemake, который генерирует совместимый файл, который распознает MultiQC.

rule read_distribution:
    input:
        bam = "data/bam/{srr}.bam",
        bed = config["gencodeBED"]
    output:
        "qc/aligned/{srr}.read_distribution.txt"
    shell:
        """
        read_distribution.py -i {input.bam} -r {input.bed} &> {output}
        """

По сути, просто перенаправьте потоки stdout и err в файл. Надеюсь, что то же самое и для других скриптов RSeQC.

person merv    schedule 01.11.2018
comment
Привет, Мэнди. Пытался, но мои низкие кредиты не позволяют мне создавать теги. Если бы вы могли создать теги, я был бы признателен - person splaisan; 02.11.2018
comment
добавил мой код выше, который выводит только один элемент из трех, поступающих от RSeQC - person splaisan; 02.11.2018