i2bc / SURFMAP

Other
20 stars 3 forks source link

Error about permission denied when using the docker version. #5

Open otzfadia opened 1 year ago

otzfadia commented 1 year ago

Hello, I am running the following:

sudo python3 run_surfmap_image.py -d OREN/ -pdb OREN/3fav.pdb -tomap binding_sites
Running: /home/surfmap/MSMS/pdb_to_xyzr /input/3fav.pdb > ./shells/3fav.xyzr-tmp ...

surface property mapping: binding_sites
Traceback (most recent call last):
  File "/home/surfmap/tools/SurfmapTools.py", line 178, in <module>
    main()
  File "/home/surfmap/tools/SurfmapTools.py", line 93, in main
    out = open(outdir + "%s_%s_partlist.out"%(pdbName.split(".")[0],tomap),"w")
PermissionError: [Errno 13] Permission denied: '/output//3fav_bfactor_partlist.out'

Mapping of the residues given in input failed. This can be due to a malformed residue file or a mistake in the reisdue numbering, type or chain.

Format should be the following:
chain residuenumber residuetype
example: A  5 LEU

Exiting now.

Why I get permission denied, even when I use sudo? Cheers! Oren

nchenche commented 1 year ago

Hello,

First of all, thanks for using SURFMAP (or at least trying to :) ).

docker case

Unfortunately I wasn't able to reproduce your error. It might come from running the docker with root privileges but I am not sure of that. You could try following the procedure described here to run docker without root privileges.

However, when trying to reproduce your error, I have noticed something wrong: the directory output given after the -d optional argument must be written without /, so instead of -d OREN/ you should do -d OREN (it will be corrected in a later version).

My additional advises to help you resolving the issue from the docker are:

Also, if you are still facing any issue, could you please share your input pdb file ? I also need to add that using -tomap binding_sites requires the pdb file to be edited with the b-factor column containing an integer value (0, 1, 2, ...), with 0 for atoms outside of any binding site, and 1, 2 or more for atoms being present in binding site 1, binding site 2 etc (the numbers are used to label different binding site with different colors). That being said, no error should occur if the input pdb file is filled with original b-factor values, just a strange colored map.

local running case

For this case, it appears that you don't have numpy installed in your python library. I thus deduce that you might not have installed required python libraries through the following command: pip3 install -r requirements.txt (requirements.txt is at the root of the SURFMAP directory).

otzfadia commented 1 year ago

Thank you very much for your speedy reply! Indeed the pip3 did the trick. I now have a question regarding interpetation of the results. May I contact you directly? Cheers! Oren

otzfadia commented 1 year ago

Archive.zip Files I used.

nchenche commented 1 year ago

You're welcome and thank you for the archive, I will take a look.

You can contact us at the following mails:

Please put all of us in copy to increase the speed of your answer(s).

Cheers

nchenche commented 1 year ago

So I looked at your archive. From what I saw, I understand that you tried to "find" and map the binding sites of components of a multimeric protein. Unfortunately, SURMAP does not "find" binding sites, it only maps them as long as their residues have already been identified and this information been given in the b-factor column of an edited pdb file by the user.

For instance, let's say for simplicity that you know that the residues I, F, and Q of the chain A constitute a binding site. To map those residues with SURFMAP, you will need to edit the pdb file in the following way:

Hope I didn't misunderstand your aim of using SURFMAP here and answer your question.

I will try (maybe tomorrow) to make a script to help users modify a pdb file from simplified information on the known residues of a binding site in order to avoid editing "manually" a pdb file, if that could help.

otzfadia commented 1 year ago

Thank you very much! Yes we di have the locations of the binding sites, so we need to edit the pdb files we use as input. Your kind suggestion for a script will be very helpful! Cheers! Oren