Cannot allocate memory

Issue #51 new
Former user created an issue

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

Comments (1)

  1. Ben Bolduc

    While not as well documented, as long as you have those 3 files, you can jump-start a failed run.

    vcontact2 --contigs vConTACT_contigs.csv --pcs vConTACT_pcs.csv --pc-profiles vConTACT_profiles.csv --db ProkaryoticViralRefSeq207-Merged --output-dir output_dir
    

    Give it a try and let me know how it works for you!

    -Ben

  2. Log in to comment