prospr: I cannot run plmDCA
I could not run plmDCA with the latest docker environments. It kept crashing. I tried to resolve the issue, but I could not.
Following is the error message.
[2019-11-12 15:06:28.109831] potts running. inserting gaps... Reformatted /data/1ubqA/1ubqA.a3m with 2018 sequences from a3m to a2m and written to file /data/1ubqA/1ubqA.a2m terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc /opt/entrypoint.sh: line 2: 6 Aborted (core dumped) /usr/bin/python3 /opt/prospr.py $@
And, I dug into the issue, and I found that hhblits.py could not import the plmDCA_asymmetric library with the following message.
Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner self.run() File "/opt/prospr/hhblits.py", line 90, in run p = plmDCA_asymmetric.initialize() File "/usr/local/lib/python3.6/site-packages/plmDCA_asymmetric/__init__.py", line 305, in initialize return _pir.initialize_package() File "/usr/local/lib/python3.6/site-packages/plmDCA_asymmetric/__init__.py", line 253, in initialize_package package_handle.initialize() File "/usr/local/MATLAB/MATLAB_Runtime/v94/toolbox/compiler_sdk/pysdk_py/matlab_pysdk/runtime/deployablepackage.py", line 33, in initialize mcr_handle = self.__cppext_handle.startMatlabRuntimeInstance(self.__ctf_path) SystemError: CTF file '/usr/local/lib/python3.6/site-packages/plmDCA_asymmetric/plmDCA_asymmetric.ctf' failed to open for 'Read' access. Error message: 'Could not open source package'
About this issue
- Original URL
- State: open
- Created 5 years ago
- Comments: 19
I would like to run prospr outside of docker, but failed with plmDCA_asymmetric. I used the .ctf file from https://files.physics.byu.edu/data/prospr/potts-code/ and get the following error message:
Is this precompiled plmDCA version not patched yet? @YoshitakaMo seems to have found a solution. Unfortunately, I do not have a Matlab compiler, so I cannot apply the suggested changes. It would be great if you could share the patched .ctf file
From what I remember, I compiled plmDCA asymmetric following the instructions in the readme at this repository: https://github.com/Urinx/alphafold_pytorch.
However, that repository does not use the modified version of plmDCA that this one does. All of the required modifications are described in
src/potts.patch. That patch is unfortunately missing some modifications which results in a non-functional plmDCA file. The solution for me was using the code mentioned above in this issue by YoshitakaMo on Jan 9, 2020.The instructions from alphafold_pytorch also fortunately use octave instead of MATLAB, so it can be done for free and without any proprietary code. It worked well for me.
I might be forgetting something so please respond if there is still something missing. I’m making a fork of this repository which will hopefully be more functional and well documented.
Hi, I’m also very interested in this excellent work,
prospr. I have started to learn how to predict distance matrices by analyzing the provided codes. However, as discussed below, the plmDCA doesn’t work in my CentOS.I notice the patch for the
plmDCA_asymmetric.m.Fortunately, I have a license of MATLAB to compile the
plmDCA_asymmetric_v2with the patchpotts.patchtyggna provided. However, the compiled binary still doesn’t work with an error messageIndex in position 3 exceeds array bounds.when I executed the following command./run_plmDCA_asymmetric.sh /path/to/MATLAB_Runtime/v94 /path/to/plmDCA_asymmetric_v2/test_examples/example1_alignment.txt example.mat 0.2 8.I think this error is caused by following lines
If the lines are substituted by the original code,
J=0.5*(J1+J2);, the whole process (python3.6 prospr.py build 2o6pAfor2o6pA.fasta) seemed successfully finished, but the resultingpklfile could not be used with the subsequentrunprocess.Also,
2o6pA00.pklfile downloaded from https://byu.app.box.com/v/ProteinStructurePrediction was not compatible for the same process,I think the provided
2o6pA00.pkldoesn’t contain theseqkey (python3.6 -m pickle 2o6pA00.pkl).I’m at a loss for finding a solution. I would appreciate your help.
P.S. Aside from the discussion above, I added some modifications for the original
plmDCAmatlab codes to work (https://github.com/magnusekeberg/plmDCA). In line 48 of./plmDCA_asymmetric_v2/3rd_party_code/minFunc/autoDiff/autoTensor.m,For
./plmDCA_asymmetric_v2/plmDCA_asymmetric.m,I compiled with the following command,
mcc -m plmDCA_asymmetric.m -a functions -a 3rd_party_code.