Closed jptamby closed 1 week ago
Hello @jptamby,
Thanks for posting your issue here.
The output is not as expected because an error occured during computation. It seems that the issue could be related to your pdb file which might contain unexpected characters or encoding.
Can you please upload you pdb file here?
@nchenche Here is the pdb file (I added a .txt to be able to upload it) Q99252.pdb.txt Thank you
ERRATUM
Dear @jptamby,
SURFMAP actually handles multi-chain pdb files, I am really sorry I answered you too quickly in my precedent comment (now crossed below).
I have just run SURFMAP with your pdb file and no problem, computation has successfully completed (see below). So right now I don't understand the error you are coping with, I cannot reproduce it.
If you have a docker engine installed on your machine, could you try with the --docker
option: surfmap -pdb Q99252.pdb -tomap kyte_doolittle --docker
?
Although this does not solve the problem, it would allow you to run your calculations.
Sorry again,
Bests
(surfmap_2.2.0) nchenche@nchenche-laptop:~/surfmap_tests/issue_23$ ll total 752 drwxrwxr-x 2 nchenche nchenche 4096 juin 27 21:37 ./ drwxrwxr-x 9 nchenche nchenche 4096 juin 27 21:22 ../ -rw-rw-r-- 1 nchenche nchenche 758889 juin 27 21:23 Q99252.pdb (surfmap_2.2.0) nchenche@nchenche-laptop:~/surfmap_tests/issue_23$ surfmap -pdb Q99252.pdb -tomap kyte_doolittle SURFMAP: Projection of protein surface features on 2D map Copyright (C) 2021 H. Schweke Version: 2.2.0 ... -------------------------------------------------------------------------------- SURFACE MAPPING OF THE KYTE_DOOLITTLE PROPERTY Step 1: computing a shell around the protein surface Step 2: computing the property values and/or assign it to the shell particles Step 3: computing the 2D sinusoidal projection coordinates of each shell particle Step 4: dividing the 2D projection into 72x36 cells and smoothing the values Step 5: computing the 2D map (surfmap_2.2.0) nchenche@nchenche-laptop:~/surfmap_tests/issue_23$ ll total 756 drwxrwxr-x 3 nchenche nchenche 4096 juin 27 21:38 ./ drwxrwxr-x 9 nchenche nchenche 4096 juin 27 21:22 ../ drwxrwxr-x 4 nchenche nchenche 4096 juin 27 21:38 output_SURFMAP_Q99252_kyte_doolittle/ -rw-rw-r-- 1 nchenche nchenche 758889 juin 27 21:23 Q99252.pdb (surfmap_2.2.0) nchenche@nchenche-laptop:~/surfmap_tests/issue_23$ tree output_SURFMAP_Q99252_kyte_doolittle/ output_SURFMAP_Q99252_kyte_doolittle/ ├── maps │ └── Q99252_kyte_doolittle_map.pdf ├── parameters.log ├── smoothed_matrices │ └── Q99252_kyte_doolittle_smoothed_matrix.txt └── surfmap.log
Thank you @jptamby, this should help to resolve the issue.
Indeed your pdb file is a multi-chain pdb file (it contains 2 chains: A and B), and SURFMAP will only work with single chain pdb files.
You can use the command extract_interface
included in SURFMAP. This command allows to find the interface residues between a given chain (or set of chains) and all the other chains of the input PDB structure. The command outputs a new PDB file of the given chain(s) with the expected format for the -tomap binding_sites option. More information here.
So, to extract the chain A, use extract_interface -pdb Q99252.pdb -chains A
.
This will generate Q99252_chain-A_bs.pdb
, a pdb file of the chain A of your original pdb file in a format that will be compatible with SURFMAP (bfactor column will contain discrete values: 1 for atoms involved in an interface with a chain different from chain A, 0 otherwise - if interested, you can map them with the SURFMAP option -tomap binding_sites
; if not interested, be aware that those values have no influence on property computations, like kyte_doolitttle or others).
(surfmap.2.2.0) nche@nche-Precision-7920-Tower:~/surfmap_test/issues/23$ ll total 752 drwxrwxr-x 2 nche nche 4096 juin 27 11:40 ./ drwxrwxr-x 3 nche nche 4096 juin 27 11:02 ../ -rw-rw-r-- 1 nche nche 758889 juin 27 10:43 Q99252.pdb (surfmap.2.2.0) nche@nche-Precision-7920-Tower:~/surfmap_test/issues/23$ extract_interface -pdb Q99252.pdb -chains A Chains found in the PDB Q99252: A, B Target chain(s): A Interface residues will be searched between the following chains: A and B (surfmap.2.2.0) nche@nche-Precision-7920-Tower:~/surfmap_test/issues/23$ ll total 1088 drwxrwxr-x 2 nche nche 4096 juin 27 11:40 ./ drwxrwxr-x 3 nche nche 4096 juin 27 11:02 ../ -rw-rw-r-- 1 nche nche 339593 juin 27 11:40 Q99252_chain-A_bs.pdb -rw-rw-r-- 1 nche nche 456 juin 27 11:40 Q99252_chain-A_interface.txt -rw-rw-r-- 1 nche nche 758889 juin 27 10:43 Q99252.pdb (surfmap.2.2.0) nche@nche-Precision-7920-Tower:~/surfmap_test/issues/23$ surfmap -pdb Q99252_chain-A_bs.pdb -tomap kyte_doolittle
Please let me know if this resolved your problem.
Bests
Thank you @nchenche
Actually yes, SURFMAP handles multi-chain pdb files. Finally, I found that my problem comes from the length of the pdb file name. When I try to process a file with name Q99252_P32891_unrelaxed_rank_001_alphafold2_multimer_v3_model_2_seed_000.pdb, it can not output the correct results (see error in previous message). When I rename the same file with Q99252_P32891_rank_001_model_2_seed_000.pdb, SURFMAP gives complete results, including the pdf file, with no error. From several tests I done, it appears that a file name of length lesser than 50 characters is ok. So the question: in SurfMap, is there a limitation in the length of the pdb file names ?
Thank you @jptamby for your feedback.
To my knowledge, the length should not be a problem per se for SURFMAP scripts, but apparently it sounds it might be for internal python scripts like codecs.py. It is good to know, I'll do some tests on my side, thank you again!
Bests
Operating System
Unix (e.g., Ubuntu 20.04)
Version
2.2.0, 2.1.0, 2.0.0
Python Version (optional)
3.8.10
Python Virtual Environment
venv/virtualenv/other
Execution Environment
Local environment after installation of all external dependencies
Bug Description
I run the command line: surfmap -pdb Q99252.pdb -tomap kyte_doolittle -verbose 0 In the result directory "output_SURFMAP_Q99252_kyte_doolittle", I just see the file surfmap.log and a sub-directory "shells" containing Q99252.face, Q99252.vert, Q99252.xyzr and Q99252.csv. (the csv file is empty). No pdf files are generated.
Steps to Reproduce
surfmap -pdb Q99252.pdb -tomap kyte_doolittle -verbose 2 --keep
Relevant Log Output
Additional context (optional)
Q99252.pdb 742K
Confirmation