Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File permissions error when running on shared filesystem #120

Open
james-vincent opened this issue May 23, 2022 · 2 comments · May be fixed by #125
Open

File permissions error when running on shared filesystem #120

james-vincent opened this issue May 23, 2022 · 2 comments · May be fixed by #125

Comments

@james-vincent
Copy link

run_e2e_ver.sh is trying to create cache directory in the RRoseTTAFold install directory. This is not possible on a shared system (HPC). I wonder how others are able to do run like this?

Reading CRF from K4000.crf ... Adding cs-pseudocounts ... Effective number of sequences exp(entropy) = 11.30 Wrote profile with 779 columns as checkpoint file to t000_.msa0.tmp.chk Using backend: pytorch /programs/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/predict_e2e.py:161: DeprecationWarning: np.bool is a deprecated alias for the builtin bool. To silence this warning, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here. Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations sel = np.zeros((L)).astype(np.bool) Traceback (most recent call last): File "/programs/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/predict_e2e.py", line 324, in pred.predict(args.a3m_fn, args.out_prefix, args.hhr, args.atab) File "/programs/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/predict_e2e.py", line 178, in predict logit_s, node, init_crds, pred_lddt = self.model(input_msa, input_seq, input_idx, t1d=input_t1d, t2d=input_t2d, return_raw=True) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/RoseTTAFoldModel.py", line 112, in forward msa, pair, xyz, lddt = self.feat_extractor(msa, pair, seq1hot, idx) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/Attention_module_w_str.py", line 476, in forward msa, pair, xyz = self.iter_block_2[i_m](msa, pair, xyz, seq1hot, idx, top_k=top_ks[i_m]) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/Attention_module_w_str.py", line 363, in forward xyz, state = self.str2str(msa.float(), pair.float(), xyz.float(), seq1hot, idx, top_k=top_k) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/cuda/amp/autocast_mode.py", line 139, in decorate_autocast return func(args, **kwargs) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/Attention_module_w_str.py", line 241, in forward shift = self.se3(G, msa.reshape(BL, -1, 1), l1_feats) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/site-packages/torch/cuda/amp/autocast_mode.py", line 139, in decorate_autocast return func(*args, **kwargs) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/SE3_network.py", line 104, in forward basis, r = get_basis_and_r(G, self.num_degrees-1) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/equivariant_attention/modules.py", line 102, in get_basis_and_r basis = get_basis(G, max_degree, compute_gradients) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/equivariant_attention/modules.py", line 61, in get_basis Q_J = utils_steerable._basis_transformation_Q_J(J, d_in, d_out) File "/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/equivariant_attention/from_se3cnn/cache_file.py", line 68, in wrapper os.makedirs(dirname) File "/programs/x86_64-linux/rosettafold/1.1.0/mamba/envs/RoseTTAFold/lib/python3.8/os.py", line 223, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/nfs/programs-dev/x86_64-linux/rosettafold/1.1.0/RoseTTAFold/network/equivariant_attention/from_se3cnn/cache/trans_Q'

@zemu-unile
Copy link

We are running a patched version that uses the home directory as cache instead. Maybe this patch will help you

Changes the cache directory path from the installation directory to the users home directory
to avoid a crash due to insufficient permissions.
author: Christoph Siegert (Leipzig University)

diff -ruN RoseTTAFold.orig/network/equivariant_attention/from_se3cnn/utils_steerable.py RoseTTAFold/network/equivariant_attention/from_se3cnn/utils_steerable.py
--- RoseTTAFold.orig/network/equivariant_attention/from_se3cnn/utils_steerable.py       2021-08-16 12:54:05.769231102 +0200
+++ RoseTTAFold/network/equivariant_attention/from_se3cnn/utils_steerable.py    2021-08-18 16:17:10.653216846 +0200
@@ -33,7 +33,7 @@
     return get_matrix_kernel(torch.cat(As, dim=0), eps)


-@cached_dirpklgz("%s/cache/trans_Q"%os.path.dirname(os.path.realpath(__file__)))
+@cached_dirpklgz("%s/.cache/trans_Q"%os.path.expanduser('~'))
 def _basis_transformation_Q_J(J, order_in, order_out, version=3):  # pylint: disable=W0613
     """
     :param J: order of the spherical harmonics

I could open a PR for this if there is more interest.

@james-vincent
Copy link
Author

Yes, please do open a PR. We would love to have this implemented. I'm not sure how anyone deploys to a shared system otherwise.

@zemu-unile zemu-unile linked a pull request Jul 13, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants