-
Notifications
You must be signed in to change notification settings - Fork 33
Description
I have been trying to complete SMC++ (v.1.15.4) analysis on my dataset (whole genome sequencing) using the following command:
Example: smc++ --estimate --cores 8 -o output_folder --base {POP} --em-iterations 30 --timepoints 20 20000 --thinning 2000 --knots 40 2.85e-8 sample1.chr1.smc.gz
Actual: smc++ --estimate --cores 8 -o output_folder --base SUD --em-iterations 30 --timepoints 20 20000 --thinning 2000 --knots 40 2.85e-8 CSUD006_S1_NC_067113.1.smc.gz
My intention was to see if I could get it to run with one file before running all chromosome from all individuals per population together. The main problem I having seems to be with the way SMC++ handles files when I submit the the command within a PBS script to a HPC. When I submit the command I get an error that occurs on a line specifying a python command and then [Errono 24: Too many open files], and this error will appear multiple times after it has tried to execute python commands.
I have tried lowering the --cores; --em-iterations; --knots; and --timepoints, however, the same error occurs.
The error seems to be primarily occur when attempting to submit the job within a PBS script.
I have tried lifting the file limit:
ulimit -n 4096
as well as limiting threads:
export OMP_NUM_THREADS=1
export OPENBLAST_NUM_THREADS=1
When I check jobs -l
There are no other jobs running that would be opening files.
I can see smc++ launches (a large number) of python3 and it doesn't matter what --cores is set to?
Regardless of what I try I get the same error message.
"cannot open shared object file: Too many open files"
Example:
ImportError: /usr/local/lib/python3.8/dist-packages/scipy/sparse/csgraph/_shortest_path.cpython-38-x86_64-linux-gnu.so: cannot open shared object file: Too many open files
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/forkserver.py", line 280, in main
File "/usr/lib/python3.8/multiprocessing/forkserver.py", line 319, in _serve_one
File "/usr/lib/python3.8/multiprocessing/spawn.py", line 125, in _main
File "/usr/lib/python3.8/multiprocessing/spawn.py", line 236, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "/usr/lib/python3.8/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
File "/usr/lib/python3.8/runpy.py", line 265, in run_path
File "/usr/lib/python3.8/runpy.py", line 97, in _run_module_code
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
File "/usr/local/bin/smc++", line 5, in
File "/usr/local/lib/python3.8/dist-packages/smcpp/frontend/console.py", line 4, in
File "/usr/local/lib/python3.8/dist-packages/smcpp/commands/init.py", line 1, in
File "/usr/local/lib/python3.8/dist-packages/smcpp/commands/vcf2smc.py", line 16, in
File "/usr/local/lib/python3.8/dist-packages/smcpp/commands/command.py", line 9, in
File "_smcpp.pyx", line 10, in init smcpp._smcpp
File "/usr/local/lib/python3.8/dist-packages/scipy/optimize/init.py", line 404, in
File "/usr/local/lib/python3.8/dist-packages/scipy/optimize/_optimize.py", line 33, in
File "/usr/local/lib/python3.8/dist-packages/scipy/sparse/init.py", line 283, in
File "/usr/local/lib/python3.8/dist-packages/scipy/sparse/csgraph/init.py", line 199, in
Does anyone have an idea of what might be causing this? Any help would be greatly appreciated.
I have attached my example *.smc.gz file, to make the issue reproducible.