Cannot allocate memory
Issue #51
new
Hi,
When I use my viral proteins and GOV2 proteins to run vcontact2. It is really slow and I meet the following error.
ESC[1;42mINFOESC[1;0m:vcontact2: Building the cluster and profiles (this may take some time...)
If it fails, try re-running using --blast-fp flag and specifiying merged.self-diamond.tab (or merged.self-blastp.tab)
ESC[1;42mINFOESC[1;0m:vcontact2: Saving intermediate files...
ESC[1;42mINFOESC[1;0m:vcontact2: Read 5323784 entries (dropped 88261 singletons) from Mariana_Prokaryotic_vContact/vConTACT_profiles.csv
Traceback (most recent call last):
File "/public/home/software/miniconda3/envs/vContact2/bin/vcontact2", line 757, in <module>
main(options)
File "/public/home/software/miniconda3/envs/vContact2/bin/vcontact2", line 591, in main
pcp = vcontact2.pcprofiles.PCProfiles(merged_df, pcs_csv_df, profiles_csv, cpus, name, args.sig, args.max_sig,
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/site-packages/vcontact2/pcprofiles.py", line 71, in __init__
self.ntw = self.network(self.matrix, self.singletons, thres=sig, max_sig=max_sig, threads=self.threads)
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/site-packages/vcontact2/pcprofiles.py", line 136, in network
pool = mp.Pool(processes=threads)
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/context.py", line 119, in Pool
return Pool(processes, initializer, initargs, maxtasksperchild,
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/pool.py", line 212, in __init__
self._repopulate_pool()
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/pool.py", line 303, in _repopulate_pool
return self._repopulate_pool_static(self._ctx, self.Process,
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/pool.py", line 326, in _repopulate_pool_static
w.start()
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/context.py", line 277, in _Popen
return Popen(process_obj)
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
self._launch(process_obj)
File "/public/home/software/miniconda3/envs/vContact2/lib/python3.8/multiprocessing/popen_fork.py", line 70, in _launch
self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory
I successfully got these files (vConTACT_proteins.csv, vConTACT_contigs.csv,vConTACT_pcs.csv, vConTACT_profiles.csv, merged_df.csv)
After reading your wiki, it seems I can rerun from those files. How should I do?
Thanks
While not as well documented, as long as you have those 3 files, you can jump-start a failed run.
Give it a try and let me know how it works for you!
-Ben