Snakemake - отсутствует MissingInputException в строке 20: отсутствуют входные файлы для правила stringt: - PullRequest
0 голосов
/ 02 апреля 2020

Мне не удалось запустить эту маленькую программу создания змей для StringTie; dry -run выдает ошибку MissingInputException для «правила stringt», я не могу понять проблему здесь, так как одни и те же структуры каталогов прекрасно работают для другой программы snakemake.

Я уже сгенерировал файлы bam с помощью «hisat2» и находится в каталоге: « / alternate_splice / bam_out / », который хранится как « bamdir » ,

Змеиный мастер должен быть в состоянии найти входной файл, так как имена и местоположение являются подходящими, однако каждый раз выдает ошибку.

Я посмотрел на предыдущие вопросы, связанные с созданием змеи, но не смог решить эту проблему. Если кто-нибудь может помочь мне здесь, было бы здорово!

Есть 4 примера: для групповых символов, он берет список из каталога, в котором есть файлы fastq

~/alternate_splice/expdata$ ls -ltr
 -rw-r--r-- 1 shivani domain^users 1306438351 Jan  2 09:46 TL-19-DA4299_T_RSQ1_2.fastq.gz
 -rw-r--r-- 1 shivani domain^users 1185743896 Jan  2 09:46 TL-19-DA4299_T_RSQ1_1.fastq.gz
> 
 -rw-r--r-- 1 shivani domain^users 1896352262 Jan  9 08:49 TL-20-24D57D_T_RSQ1_2.fastq.gz
 -rw-r--r-- 1 shivani domain^users 1730191383 Jan  9 08:49 TL-20-24D57D_T_RSQ1_1.fastq.gz
> 
 -rwxr-xr-x 1 shivani domain^users 3215901253 Mar 25 10:28 BREAST_817_N1_RNA_REP1_1.fastq.gz
 -rwxr-xr-x 1 shivani domain^users 3396212102 Mar 25 10:36 BREAST_817_N1_RNA_REP1_2.fastq.gz
> 
 -rwxr-xr-x 1 shivani domain^users 3633768287 Mar 25 10:45 BREAST_792_N1_RNA_REP1_1.fastq.gz
 -rwxr-xr-x 1 shivani domain^users 3932340643 Mar 25 10:54 BREAST_792_N1_RNA_REP1_2.fastq.gz

Змеиный файл здесь: " bamdir " = каталог для вывода на bam " geneGTF " = расположение файла GFT

Два правила: 1. stringt 2. merge

 (SAMPLE,)=glob_wildcards("/home/shivani/alternate_splice/expdata/{sample}_1.fastq.gz")
#(SAMPLE,)=glob_wildcards("/home/shivani/alternate_splice/bam_out/{sample}.bam")
 bamdir = "/home/shivani/alternate_splice/bam_out/"
 refere_genome = "/home/shivani/ccb1_shivani/hisat2_trans_bam/hisat2_index/"
 geneGTF = "/home/shivani/stringtie_run/Homo_sapiens.GRCh37.87.gtf"

rule all:
        input:
               expand(bamdir+"{sample}_transcript.gft",sample=SAMPLE),
               expand(bamdir+"{sample}_abundance.tsv",sample=SAMPLE),
               expand(bamdir+"{sample}_coverage.gtf",sample=SAMPLE)
               expand(bamdir+"{sample}_stringtie_merge.gtf",sample=SAMPLE)


rule stringt:
        input:
                bm=bamdir+"{sample}.bam",
                gtf=geneGTF,
                tname="{sample}"
        output:
                tscripts=bamdir+"{sample}_transcript.gft",
                abund=bamdir+"{sample}_abundance.tsv",
                cov=bamdir+"{sample}_coverage.gtf"
        shell:
                """stringtie -p 4 -e -c 3.5 -G {input.gtf} -o {output.tscripts} -A {output.abund} -C {output.cov} -l {sample}{input.bm}"""


rule merge:
       input:
               trnsgtf=bamdir+"{sample}_transcript.gft",
               ggtf=geneGTF
       output :bamdir+"{sample}_stringtie_merge.gtf"
       shell:"stringtie -p 4 --merge -G {input.ggtf} -o {output} {input.trnsgtf}"

dry запускается для этого змеиного мейкера: вместо использования "Snakefile" в качестве назначенного имени, я использовал "stringtie_trans"

snakemake -n -r - s stringtie_trans

Вывод выглядит следующим образом:

MissingInputException в строке 20 из / home / shivani / alternate_splice / stringtie_trans ::::
Пропущенные входные файлы: ::: для строки правила: BREAST_792_N1_RNA_REP1

1 Ответ

1 голос
/ 02 апреля 2020

В качестве ввода у вас есть переменная с именем tname, которая не используется, и я думаю, что она там по ошибке:

rule stringt:
        input:
            bm=bamdir+"{sample}.bam",
            gtf=geneGTF,
            tname="{sample}"  <-- should this be here?
...