snakemake-wrappers
snakemake-wrappers copied to clipboard
Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
Snakemake version
5.8.1
NOTE: I will go over why I'm not using the latest version in the additional context section
Wrapper version
0.64.0/bio/fastqc
Describe the bug
I'm getting the following error trying to use the fastqc wrapper:
Error occurred during initialization of VM
Logs
Building DAG of jobs...
Using shell: /cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job counts:
count jobs
1 qc_before_trim_r2
1
[Wed Aug 26 09:34:45 2020]
Job 0: --- Quality check of raw data with FastQC before trimming.
python /scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/.snakemake/scripts/tmpb0_czsv2.wrapper.py
Activating conda environment: /scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/.snakemake/conda/91998b6c
fastqc --quiet -t 1 --outdir /tmp/tmpjnd9fio7 /home/moldach/projects/def-mtarailo/common/WGS_6/MTG324/MTG324_R2.fastq.gz ' 2> logs/fastqc/MTG324_R2.log'
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Traceback (most recent call last):
File "/scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/.snakemake/scripts/tmpb0_czsv2.wrapper.py", line 35, in <module>
shell(
File "/home/moldach/bin/snakemake/lib/python3.8/site-packages/snakemake/shell.py", line 156, in __new__
raise sp.CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'set -euo pipefail; fastqc --quiet -t 1 --outdir /tmp/tmpjnd9fio7 /home/moldach/projects/def-mtarailo/common/WGS_6/MTG324/MTG324_R2.fastq.gz ' 2> logs$
[Wed Aug 26 09:35:09 2020]
Error in rule qc_before_trim_r2:
jobid: 0
output: qc/fastQC/before_trim/MTG324_R2_fastqc.html, qc/fastQC/before_trim/MTG324_R2_fastqc.zip
log: logs/fastqc/MTG324_R2.log (check log file(s) for error message)
conda-env: /scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/.snakemake/conda/91998b6c
RuleException:
CalledProcessError in line 140 of /scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/Snakefile:
Command 'source /home/moldach/miniconda3/bin/activate '/scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/.snakemake/conda/91998b6c'; set -euo pipefail; python /scratch/moldach/MADDOG/V$
File "/scratch/moldach/MADDOG/VCF-FILES/biostars439754/MTG353/Snakefile", line 140, in __rule_qc_before_trim_r2
File "/cvmfs/soft.computecanada.ca/easybuild/software/2017/Core/python/3.8.0/lib/python3.8/concurrent/futures/thread.py", line 57, in run
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Minimal example
The config.yaml
# Files
REF_GENOME: "c_elegans.PRJNA13758.WS265.genomic.fa"
GENOME_ANNOTATION: "c_elegans.PRJNA13758.WS265.annotations.gff3"
# Tools
QC_TOOL: "fastQC"
TRIM_TOOL: "trimmomatic"
ALIGN_TOOL: "bwa"
MARKDUP_TOOL: "picard"
CALLING_TOOL: "varscan"
ANNOT_TOOL: "vep"
The Snakefile
# Directories------------------------------------------------------------------
configfile: "config.yaml"
# Setting the names of all directories
dir_list = ["REF_DIR", "LOG_DIR", "BENCHMARK_DIR", "QC_DIR", "TRIM_DIR", "ALIGN_DIR", "MARKDUP_DIR", "CALLING_DIR", "ANNOT_DIR"]
dir_names = ["refs", "logs", "benchmarks", "qc", "trimming", "alignment", "mark_duplicates", "variant_calling", "annotation"]
dirs_dict = dict(zip(dir_list, dir_names))
import os
import pandas as pd
# getting the samples information (names, path to r1 & r2) from samples.txt
samples_information = pd.read_csv("samples.txt", sep='\t', index_col=False)
# get a list of the sample names
sample_names = list(samples_information['sample'])
sample_locations = list(samples_information['location'])
samples_dict = dict(zip(sample_names, sample_locations))
# get number of samples
len_samples = len(sample_names)
# Rules -----------------------------------------------------------------------
rule all:
input:
expand('{QC_DIR}/{QC_TOOL}/before_trim/{sample}_{pair}_fastqc.{ext}', QC_DIR=dirs_dict["QC_DIR"], QC_TOOL=config["QC_TOOL"], sample=sample_names, pair=['R1', 'R2'], ext=['html', 'zip'])
def getHome(sample):
return(list(os.path.join(samples_dict[sample],"{0}_{1}.fastq.gz".format(sample,pair)) for pair in ['R1','R2']))
rule qc_before_trim_r1:
input:
r1 = lambda wildcards: getHome(wildcards.sample)[0]
output:
html=os.path.join(dirs_dict["QC_DIR"],config["QC_TOOL"],"before_trim","{sample}_R1_fastqc.html"),
zip=os.path.join(dirs_dict["QC_DIR"],config["QC_TOOL"],"before_trim","{sample}_R1_fastqc.zip"),
params: ""
log:
"logs/fastqc/{sample}_R1.log"
resources:
mem = 1000,
time = 30
threads: 1
message: """--- Quality check of raw data with FastQC before trimming."""
wrapper:
"0.64.0/bio/fastqc"
rule qc_before_trim_r2:
input:
r1 = lambda wildcards: getHome(wildcards.sample)[1]
output:
html=os.path.join(dirs_dict["QC_DIR"],config["QC_TOOL"],"before_trim","{sample}_R2_fastqc.html"),
zip=os.path.join(dirs_dict["QC_DIR"],config["QC_TOOL"],"before_trim","{sample}_R2_fastqc.zip"),
params: ""
log:
"logs/fastqc/{sample}_R2.log"
resources:
mem = 1000,
time = 30
threads: 1
message: """--- Quality check of raw data with FastQC before trimming."""
wrapper:
"0.64.0/bio/fastqc"
Additional context
It was mentioned in the preamble to this issue that I should I try the newest version of Snakemake. I downloaded the newest version via:
$ mamba create -c conda-forge -c bioconda -n snakemake snakemake
$ conda activate snakemake
But now when I try a dry-run I get a Segmentation fault
Using the older version of Snakemake (for comparison)
$ source ~/bin/snakemake/bin/activate
(snakemake) $ snakemake -n -r
Building DAG of jobs...
Job counts:
count jobs
1 all
1 qc_before_trim_r1
1 qc_before_trim_r2
3
[Wed Aug 26 10:28:41 2020]
Job 2: --- Quality check of raw data with FastQC before trimming.
Reason: Missing output files: qc/fastQC/before_trim/MTG324_R2_fastqc.html, qc/fastQC/before_trim/MTG324_R2_fastqc.zip
[Wed Aug 26 10:28:41 2020]
Job 1: --- Quality check of raw data with FastQC before trimming.
Reason: Missing output files: qc/fastQC/before_trim/MTG324_R1_fastqc.zip, qc/fastQC/before_trim/MTG324_R1_fastqc.html
[Wed Aug 26 10:28:41 2020]
localrule all:
input: qc/fastQC/before_trim/MTG324_R1_fastqc.html, qc/fastQC/before_trim/MTG324_R1_fastqc.zip, qc/fastQC/before_trim/MTG324_R2_fastqc.html, qc/fastQC/before_trim/MTG324_R2_fastqc.zip
jobid: 0
reason: Input files updated by another job: qc/fastQC/before_trim/MTG324_R2_fastqc.html, qc/fastQC/before_trim/MTG324_R2_fastqc.zip, qc/fastQC/before_trim/MTG324_R1_fastqc.zip, qc/fastQC/before_trim/MTG324_R1_fastqc.html
Job counts:
count jobs
1 all
1 qc_before_trim_r1
1 qc_before_trim_r2
3
This was a dry-run (flag -n). The order of jobs does not reflect the order of execution.
$ deactivate
Newest version of Snakemake
$ conda activate snakemake
$ conda --version
5.23.0
$ snakemake -n -r
Segmentation fault
I guess other pertinent information is that I'm on an academic HPC with a SLURM scheduler.
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
The issue I see with me using the newest Snakemake version is the following:
If I were to run an interactive job (to get more memory) (via salloc --time=1:0:0 --mem=1000) and then try to submit a job (which is a full pipeline consisting of many wrappers) (via bash -c "nohup snakemake --profile slurm --use-conda --jobs 500 &") it would only run jobs as long as the interactive job was set for.
As I understand it, Snakemake needs to be run from the head node - it submit jobs to the SLURM scheduler.
Is it possible that Snakemake version 5.23.0 is more memory intensive than 5.8.1? And if so does this preclude me from using it?
I've used the verbose flag -r to get a more comprehensive log:
Building DAG of jobs...
Creating conda environment https:/github.com/snakemake/snakemake-wrappers/raw/0.64.0/bio/fastqc/environment.yaml...
Downloading and installing remote packages.
CreateCondaEnvironmentException:
Could not create conda environment from /tmp/tmp1y8ge388.yaml:
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done
Preparing transaction: ...working... done
Verifying transaction: ...working... failed
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1079, in __call__
return func(*args, **kwargs)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda_env/cli/main.py", line 80, in do_call
exit_code = getattr(module, func_name)(args, parser)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda_env/cli/main_create.py", line 117, in execute
result[installer_type] = installer.install(prefix, pkg_specs, args, env)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda_env/installers/conda.py", line 40, in install
unlink_link_transaction.execute()
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/core/link.py", line 244, in execute
self.verify()
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/core/link.py", line 231, in verify
exceptions = self._verify(self.prefix_setups, self.prefix_action_groups)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/core/link.py", line 590, in _verify
for exc in self.verify_executor.map(UnlinkLinkTransaction._verify_individual_level,
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 525, in map
yield func(thing)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/core/link.py", line 411, in _verify_individual_level
error_result = axn.verify()
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/core/path_actions.py", line 418, in verify
create_link(self.source_full_path, self.intermediate_path, LinkType.copy)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/gateways/disk/create.py", line 373, in create_link
copy(src, dst)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/gateways/disk/create.py", line 310, in copy
_do_copy(src, dst)
File "/home/moldach/miniconda3/lib/python3.8/site-packages/conda/gateways/disk/create.py", line 324, in _do_copy
copyfileobj(fsrc, fdst, buffer_size)
OSError: [Errno 5] Input/output error
`$ /home/moldach/miniconda3/bin/conda-env create --file /scratch/moldach/MADDOG/VCF-FILES/biostars439754/.snakemake/conda/f288ba8b.yaml --prefix /scratch/moldach/MADDOG/VCF-FILES/biostars439754/.snakemake/conda/f288ba8b`
environment variables:
ACLOCAL_PATH=/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/share/aclocal
CIO_TEST=<not set>
CMAKE_LIBRARY_PATH=/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc-5.4.0/lib64
CMAKE_PREFIX_PATH=/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc-5.4.0
CONDA_AUTO_UPDATE_CONDA=false
CONDA_EXE=/home/moldach/miniconda3/bin/conda
CONDA_PYTHON_EXE=/home/moldach/miniconda3/bin/python
CONDA_ROOT=/home/moldach/miniconda3
CONDA_SHLVL=0
CPATH=/cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compiler/int
el2016.4/openmpi/2.1.1/include:/cvmfs/restricted.computecanada.ca/easy
build/software/2017/Core/ifort/2016.4.258/include:/cvmfs/restricted.co
mputecanada.ca/easybuild/software/2017/Core/imkl/11.3.4.258/mkl/includ
e/fftw:/cvmfs/restricted.computecanada.ca/easybuild/software/2017/Core
/imkl/11.3.4.258/mkl/include
CPLUS_INCLUDE_PATH=/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/include
CURL_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt
C_INCLUDE_PATH=/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/include
EASYBUILD_BUILDPATH=/tmp/moldach
LD_LIBRARY_PATH=/opt/software/slurm/lib
LIBRARY_PATH=/cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compiler/int
el2016.4/openmpi/2.1.1/lib:/cvmfs/soft.computecanada.ca/easybuild/soft
ware/2017/Core/ifort/2016.4.258/compilers_and_libraries_2016.4.258/lin
ux/compiler/lib/intel64:/cvmfs/restricted.computecanada.ca/easybuild/s
oftware/2017/Core/ifort/2016.4.258/compilers_and_libraries_2016.4.258/
linux/compiler/lib/intel64:/cvmfs/soft.computecanada.ca/easybuild/soft
ware/2017/Core/icc/2016.4.258/compilers_and_libraries_2016.4.258/linux
/compiler/lib/intel64:/cvmfs/restricted.computecanada.ca/easybuild/sof
tware/2017/Core/icc/2016.4.258/compilers_and_libraries_2016.4.258/linu
x/compiler/lib/intel64:/cvmfs/soft.computecanada.ca/nix/var/nix/profil
es/gcc-5.4.0/lib64:/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/g
cc-5.4.0/lib:/cvmfs/soft.computecanada.ca/easybuild/software/2017/Core
/imkl/11.3.4.258/mkl/lib/intel64:/cvmfs/restricted.computecanada.ca/ea
sybuild/software/2017/Core/imkl/11.3.4.258/mkl/lib/intel64:/cvmfs/rest
ricted.computecanada.ca/easybuild/software/2017/Core/imkl/11.3.4.258/l
ib/intel64:/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.09/lib
LMOD_PACKAGE_PATH=/cvmfs/soft.computecanada.ca/config/lmod/
MANPATH=/cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compiler/int
el2016.4/openmpi/2.1.1/share/man:/cvmfs/restricted.computecanada.ca/ea
sybuild/software/2017/Core/ifort/2016.4.258/compilers_and_libraries_20
16.4.258/linux/man/common:/cvmfs/restricted.computecanada.ca/easybuild
/software/2017/Core/icc/2016.4.258/compilers_and_libraries_2016.4.258/
linux/man/common:/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/gcc
-5.4.0/share/man:/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/16.
09/share/man:/cvmfs/soft.computecanada.ca/custom/software/lmod/lmod/sh
are/man::/opt/puppetlabs/puppet/share/man
MIC_LD_LIBRARY_PATH=/cvmfs/restricted.computecanada.ca/easybuild/software/2017/Core/imkl/1
1.3.4.258/mkl/lib/mic:/cvmfs/restricted.computecanada.ca/easybuild/sof
tware/2017/Core/imkl/11.3.4.258/lib/intel64_lin_mic
MODULEPATH=/opt/software/modulefiles:/cvmfs/soft.computecanada.ca/easybuild/modul
es/2017/avx2/MPI/intel2016.4/openmpi2.1:/cvmfs/soft.computecanada.ca/e
asybuild/modules/2017/avx2/Compiler/intel2016.4:/home/moldach/.local/e
asybuild/modules/2017/Core:/cvmfs/soft.computecanada.ca/easybuild/modu
les/2017/Core:/cvmfs/soft.computecanada.ca/custom/modules
PATH=/home/moldach/bin/snakemake/bin:/home/moldach/nb_distribution/:/home/m
oldach/miniconda3/condabin:/home/moldach/projects/def-mtgraovac/moldac
h/bin:/cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compil
er/intel2016.4/openmpi/2.1.1/bin:/cvmfs/restricted.computecanada.ca/ea
sybuild/software/2017/Core/ifort/2016.4.258/compilers_and_libraries_20
16.4.258/linux/bin/intel64:/cvmfs/restricted.computecanada.ca/easybuil
d/software/2017/Core/icc/2016.4.258/compilers_and_libraries_2016.4.258
/linux/bin/intel64:/cvmfs/soft.computecanada.ca/nix/var/nix/profiles/g
cc-5.4.0/bin:/cvmfs/restricted.computecanada.ca/easybuild/software/201
7/Core/imkl/11.3.4.258/mkl/bin:/cvmfs/restricted.computecanada.ca/easy
build/software/2017/Core/imkl/11.3.4.258/bin:/cvmfs/soft.computecanada
.ca/custom/bin/computecanada:/cvmfs/soft.computecanada.ca/easybuild/bi
n:/cvmfs/soft.computecanada.ca/custom/bin:/cvmfs/soft.computecanada.ca
/nix/var/nix/profiles/16.09/bin:/cvmfs/soft.computecanada.ca/nix/var/n
ix/profiles/16.09/sbin:/opt/software/bin:/opt/software/slurm/bin:/usr/
local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/opt/
dell/srvadmin/bin
PKG_CONFIG_PATH=/cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compiler/int
el2016.4/openmpi/2.1.1/lib/pkgconfig:/cvmfs/soft.computecanada.ca/nix/
var/nix/profiles/16.09/lib/pkgconfig:/cvmfs/soft.computecanada.ca/nix/
var/nix/profiles/16.09/share/pkgconfig
PYTHONPATH=/cvmfs/soft.computecanada.ca/custom/python/site-packages
REQUESTS_CA_BUNDLE=<not set>
RSNT_LD_LIBRARY_PATH=/opt/software/slurm/lib
SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt
__LMOD_Priority_MODULEPATH=/opt/software/modulefiles:-10
__LMOD_REF_COUNT_MODULEPATH=/opt/software/modulefiles:1;/cvmfs/soft.computecanada.ca/easybuild/mod
ules/2017/avx2/MPI/intel2016.4/openmpi2.1:1;/cvmfs/soft.computecanada.
ca/easybuild/modules/2017/avx2/Compiler/intel2016.4:1;/home/moldach/.l
ocal/easybuild/modules/2017/Core:1;/cvmfs/soft.computecanada.ca/easybu
ild/modules/2017/Core:1;/cvmfs/soft.computecanada.ca/custom/modules:1
active environment : None
shell level : 0
user config file : /home/moldach/.condarc
populated config files : /home/moldach/.condarc
conda version : 4.8.4
conda-build version : not installed
python version : 3.8.3.final.0
virtual packages : __glibc=2.17
base environment : /home/moldach/miniconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/moldach/miniconda3/pkgs
/home/moldach/.conda/pkgs
envs directories : /home/moldach/miniconda3/envs
/home/moldach/.conda/envs
platform : linux-64
user-agent : conda/4.8.4 requests/2.23.0 CPython/3.8.3 Linux/3.10.0-1062.12.1.el7.x86_64 centos/7.7.1908 glibc/2.17
UID:GID : 3019658:3019658
netrc file : None
offline mode : False
An unexpected error has occurred. Conda has prepared the above report.
Relevant issue: #191 Relevant stackoverflow question: https://stackoverflow.com/q/64000711/3998252