Open michaelSkaro opened 1 year ago
Thanks for the comment, can you confirm that which version of snakemake
you get the error?
Yes.
Here is the error.
2023-06-07 10:24:11,792 Exiting because a job execution failed. Look above for error message
Complete log: .snakemake/log/2023-06-07T101256.771368.snakemake.log
2023-06-07 10:24:11,793 Complete log: .snakemake/log/2023-06-07T101256.771368.snakemake.log
Traceback (most recent call last):
File "/home/biodocker/SalmonTE/SalmonTE.py", line 293, in
Here is the version info: snakemake 7.26.0
Build in docker, convert to singularity:
RUN mkdir /home/biodocker/bin
RUN conda config --add channels r RUN conda config --add channels conda-forge RUN conda config --add channels bioconda
RUN conda upgrade conda
VOLUME ["/data", "/config"]
RUN conda install snakemake docopt pandas r RUN conda install r-tidyverse r-scales r-writexls r-cowplot RUN conda install bioconductor-deseq2 bioconductor-tximport
The quantification mode results in a seg fault error. This is due to calling a function that is designed for your test mode. The EXPR.csv is not made in quant mode. The call to aggregate the quant.sf files is not necessary but is called under your rule all. To fix this error you can modify the current DAG into two DAGs. The quant DAG and the test mode DAG. The quant dag does not need to make the
join(OUTPUT_DIR,"EXPR.csv"), join(OUTPUT_DIR,"MAPPING_INFO.csv")
files. To avoid the non-zero
You do not need the run salmon function to call the opening of EXPR.csv bc it will not be made in this step:
def run_salmon(param): import snakemake snakefile = os.path.join(os.path.dirname(file), "snakemake/Snakefile.paired" if param["paired"] else "snakemake/Snakefile.single")
Remove the calls to this in your run salmon function and remove the call for the EXPR to be made in your paired end mode. Two solutions; make a try-catch that accepts the mode as a string to look for in the arguments OR make a new function that collates the quan.sf files into an EXPR.csv only in test mode as the first step. Push that into the R script that calls the DEseq2fromExpresisonMatrix input.
I personally think you should try making the ladder function bc it is a bit more deliberate and far cleaner to read that relying on a try catch.