diff --git a/workflow/rules/star_index.rules b/workflow/rules/star_index.rules index b14843f6b6fbb8fde0ae8781e80ebaaa51216dfd..6dacca4c38db5bfa7dffd0c9281b226fd0a1ed3b 100755 --- a/workflow/rules/star_index.rules +++ b/workflow/rules/star_index.rules @@ -43,22 +43,25 @@ rule star_index: shell: """ set +o pipefail - GenomeLength=`grep -v ">" {input.fasta} | tr -d '\n' | wc -c` + tmp="{input}" + infiles=($tmp) + + GenomeLength=`grep -v ">" ${{infiles[0]}} | tr -d '\n' | wc -c` SAindex=$(echo $GenomeLength | awk '{{a=log($1)/2 - 1; if (a>14) a=14; printf("%d\\n",a)}}') - NumberOfReferences=`grep -c ">" {input.fasta}` + NumberOfReferences=`grep -c ">" ${{infiles[0]}}` ChrBin=$(echo | awk -v g=$GenomeLength -v n=$NumberOfReferences '{{a=log(g/n); if (a>18) a=18; printf("%d\\n",a)}}' ) - if [[ -s {input.gff_file} && {input.gff_file} == "*.gtf" ]] + if [[ -s ${{infiles[1]}} && ${{infiles[1]}} == "*.gtf" ]] then - STAR --runMode genomeGenerate --genomeFastaFiles {input.fasta} --genomeDir {params.wkdir} --runThreadN {threads} --sjdbGTFfile {input.gff_file} --genomeSAindexNbases $SAindex --genomeChrBinNbits $ChrBin - elif [[ -s {input.gff_file} && {input.gff_file} == "*.gff" ]] + STAR --runMode genomeGenerate --genomeFastaFiles ${{infiles[0]}} --genomeDir {params.wkdir} --runThreadN {threads} --sjdbGTFfile ${{infiles[1]}} --genomeSAindexNbases $SAindex --genomeChrBinNbits $ChrBin + elif [[ -s ${{infiles[1]}} && ${{infiles[1]}} == "*.gff" ]] then - STAR --runMode genomeGenerate --genomeFastaFiles {input.fasta} --genomeDir {params.wkdir} --runThreadN {threads} --sjdbGTFfile {input.gff_file} --sjdbGTFtagExonParentTranscript Parent --genomeSAindexNbases $SAindex --genomeChrBinNbits $ChrBin + STAR --runMode genomeGenerate --genomeFastaFiles ${{infiles[0]}} --genomeDir {params.wkdir} --runThreadN {threads} --sjdbGTFfile ${{infiles[1]}} --sjdbGTFtagExonParentTranscript Parent --genomeSAindexNbases $SAindex --genomeChrBinNbits $ChrBin else - STAR --runMode genomeGenerate --genomeFastaFiles {input.fasta} --genomeDir {params.wkdir} --runThreadN {threads} --genomeSAindexNbases $SAindex --genomeChrBinNbits $ChrBin + STAR --runMode genomeGenerate --genomeFastaFiles ${{infiles[0]}} --genomeDir {params.wkdir} --runThreadN {threads} --genomeSAindexNbases $SAindex --genomeChrBinNbits $ChrBin fi - samtools faidx {input.fasta} + samtools faidx ${{infiles[0]}} """