diff --git a/rules/rulesNew.smk b/rules/rulesNew.smk index b7835de48507a3dabe5a998076686c7941086b60..c94a9cb6f394c4ad82e1f1b6a3514a9b0dccbdff 100644 --- a/rules/rulesNew.smk +++ b/rules/rulesNew.smk @@ -146,7 +146,8 @@ rule meryl_R1: read1= rules.combine_illuminaReads_R1.output # check = os.path.join(config['Results'], "{sample}" + "/busco5/short_summary.specific." + config['busco5Lineage'] + "_odb10." + "{sample}" + ".txt") params: - script = os.path.join(workflow.basedir, "programs/meryl/*/bin/meryl"), +# script = os.path.join(workflow.basedir, "programs/meryl/build/bin/meryl"), + script = os.path.join(workflow.basedir, "programs/meryl-1.0/Linux-amd64/bin/meryl"), kmer = 21, r1= "{sample}" + "_R1.21.meryl", path= os.path.join(config['Results'], "{sample}" +"/2_QVstats_merylAndMerqury/") @@ -170,7 +171,8 @@ rule meryl_R2: read2= rules.combine_illuminaReads_R2.output # check = os.path.join(config['Results'], "{sample}" + "/busco5/short_summary.specific." + config['busco5Lineage'] + "_odb10." + "{sample}" + ".txt") params: - script = os.path.join(workflow.basedir, "programs/meryl/*/bin/meryl"), +# script = os.path.join(workflow.basedir, "programs/meryl/build/bin/meryl"), + script = os.path.join(workflow.basedir, "programs/meryl-1.0/Linux-amd64/bin/meryl"), kmer = 21, r2= "{sample}" + "_R2.21.meryl", path= os.path.join(config['Results'], "{sample}" +"/2_QVstats_merylAndMerqury/") @@ -195,7 +197,8 @@ rule meryl: read2=os.path.join(config['Results'], "{sample}" +"/2_QVstats_merylAndMerqury/" + "{sample}" + "_R2.21.meryl") # check = os.path.join(config['Results'], "{sample}" + "/busco5/short_summary.specific." + config['busco5Lineage'] + "_odb10." + "{sample}" + ".txt") params: - script = os.path.join(workflow.basedir, "programs/meryl/*/bin/meryl"), +# script = os.path.join(workflow.basedir, "programs/meryl/build/bin/meryl"), + script = os.path.join(workflow.basedir, "programs/meryl-1.0/Linux-amd64/bin/meryl"), kmer = 21, # r1= "{sample}" + "_R1.21.meryl", # r2= "{sample}" + "_R2.21.meryl", @@ -226,17 +229,18 @@ rule merqury: script = os.path.join(workflow.basedir, "programs/merqury-1.1/merqury.sh"), outFile= "{sample}" + "_merq", # outFile= os.path.join(config['Results'], "{sample}" +"/QVstats_merylAndMerqury/{sample}_merq"), - merylPath = os.path.join(workflow.basedir, "programs/meryl/*/bin:$PATH"), +# merylPath = os.path.join(workflow.basedir, "programs/meryl/build/bin:$PATH"), + merylPath = os.path.join(workflow.basedir, "programs/meryl-1.0/Linux-amd64/bin:$PATH"), outPath= os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury"), export= os.path.join(workflow.basedir, "programs/merqury-1.1") - # symlink=os.path.join(config['Results'], "{sample}" + "/{sample}.fasta") threads: workflow.cores * 0.5 output: report(os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.qv"), caption="../report/merqury/qvScore.rst", category="QV Estimate", subcategory="{sample}"), - report(os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.st.png"), caption="../report/merqury/spectra-cn_stacked.rst", category="Copy Number Spectra Plots", subcategory="{sample}"), - report(os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.fl.png"), caption="../report/merqury/spectra-cn_filled.rst", category="Copy Number Spectra Plots", subcategory="{sample}"), - os.path.join(config['Results'], "{sample}" +"/2_QVstats_merylAndMerqury/" + "{sample}" + "_dB.21.hist") + report(os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}.spectra-cn.st.png"), caption="../report/merqury/spectra-cn_stacked.rst", category="Copy Number Spectra Plots", subcategory="{sample}"), + report(os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}.spectra-cn.fl.png"), caption="../report/merqury/spectra-cn_filled.rst", category="Copy Number Spectra Plots", subcategory="{sample}"), + os.path.join(config['Results'], "{sample}" +"/2_QVstats_merylAndMerqury/" + "{sample}" + "_dB.21.hist"), + symlink=os.path.join(config['Results'], "{sample}" + "/{sample}.fasta") log: os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/logs/{sample}_merqury.log") priority: @@ -246,10 +250,11 @@ rule merqury: shell: """ cd {params.outPath} + ln -s {input.assembly} {output.symlink} export PATH={params.merylPath} export MERQURY={params.export} export OMP_NUM_THREADS={threads} - (bash {params.script} {input.merylDB} {input.assembly} {params.outFile}) &> {log} + (bash {params.script} {input.merylDB} {output.symlink} {params.outFile}) &> {log} """ # bash {params.script} {input.merylDB} {params.symlink} {params.outFile} @@ -263,11 +268,12 @@ rule merqury: rule genomescope2: input: hist=os.path.join(config['Results'], "{sample}" +"/2_QVstats_merylAndMerqury/" + "{sample}" + "_dB.21.hist"), - check1=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.fl.png"), - check2=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.st.png") + check1=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}.spectra-cn.fl.png"), + check2=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}.spectra-cn.st.png") params: outFolder=os.path.join(config['Results'], "{sample}" +"/3_genomescopeProfile/"), - cpHist=os.path.join(config['Results'], "{sample}" +"/3_genomescopeProfile/" + "{sample}" + "_dB.21.histo") + cpHist=os.path.join(config['Results'], "{sample}" +"/3_genomescopeProfile/" + "{sample}" + "_dB.21.histo"), + findGscope=os.path.join(workflow.basedir) output: summary=report(os.path.join(config['Results'], "{sample}" +"/3_genomescopeProfile/" + "{sample}" + "_summary.txt"), caption="../report/genomescope/summary.rst", category="Genomescope Profile", subcategory="{sample}"), logPlot=report(os.path.join(config['Results'], "{sample}" +"/3_genomescopeProfile/" + "{sample}" + "_log_plot.png"), caption="../report/genomescope/logplot.rst", category="Genomescope Profile", subcategory="{sample}"), @@ -278,7 +284,8 @@ rule genomescope2: shell: """ expand -t 1 {input.hist} > {params.cpHist} - Rscript genomescope2 -i {params.cpHist} -o {params.outFolder} -k 21 -n {wildcards.sample} + export genomescope2script=$(find {params.findGscope} -name genomescope2) + Rscript $genomescope2script -i {params.cpHist} -o {params.outFolder} -k 21 -n {wildcards.sample} grep "Genome Haploid Length" {output.summary} | awk {{'print $6'}} | sed 's/,//g'> {output.estimatedSize} """ @@ -342,8 +349,8 @@ rule saveConfiguration_and_getKeyValues: gscopeLin=os.path.join(config['Results'], "{sample}" +"/3_genomescopeProfile/" + "{sample}" + "_linear_plot.png"), busco=os.path.join(config['Results'], "{sample}" + "/1_busco5/short_summary.specific." + buscoDataBaseName + "_odb10." + "{sample}" + ".txt"), qv=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.qv"), - spectraStacked=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.st.png"), - spectraFlat=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.fl.png"), + spectraStacked=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}.spectra-cn.st.png"), + spectraFlat=os.path.join(config['Results'],"{sample}" + "/2_QVstats_merylAndMerqury/" + "{sample}" + "_merq.{sample}.spectra-cn.fl.png"), # os.path.join(config['Results'],"{sample}" + "/QVstats_merylAndMerqury/logs/" + "{sample}" + "_merqury.log"), # os.path.join(config['Results'],"{sample}" + "/assemblyStats/{sample}_contig_stats.tsv"), scaffStats=os.path.join(config['Results'],"{sample}" + "/4_assemblyStats/{sample}_scaffold_stats.tsv"), @@ -367,8 +374,8 @@ rule saveConfiguration_and_getKeyValues: gscopeLin=os.path.join(config['Results'], "{sample}" +"/5_Key_Results/" + "{sample}" + "_gScope_linear_plot.png"), busco=os.path.join(config['Results'], "{sample}" + "/5_Key_Results/short_summary.specific." + buscoDataBaseName + "_odb10." + "{sample}" + ".txt"), qv=os.path.join(config['Results'],"{sample}" + "/5_Key_Results/" + "{sample}" + "_merq.qv"), - spectraStacked=os.path.join(config['Results'],"{sample}" + "/5_Key_Results/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.st.png"), - spectraFlat=os.path.join(config['Results'],"{sample}" + "/5_Key_Results/" + "{sample}" + "_merq.{sample}_assembly.spectra-cn.fl.png"), + spectraStacked=os.path.join(config['Results'],"{sample}" + "/5_Key_Results/" + "{sample}" + "_merq.{sample}.spectra-cn.st.png"), + spectraFlat=os.path.join(config['Results'],"{sample}" + "/5_Key_Results/" + "{sample}" + "_merq.{sample}.spectra-cn.fl.png"), # os.path.join(config['Results'],"{sample}" + "/QVstats_merylAndMerqury/logs/" + "{sample}" + "_merqury.log"), # os.path.join(config['Results'],"{sample}" + "/assemblyStats/{sample}_contig_stats.tsv"), scaffStats=os.path.join(config['Results'],"{sample}" + "/5_Key_Results/{sample}_scaffold_stats.tsv"),