Dssp ValueError: could not broadcast input array from shape (71,) into shape (70,) #621
-
I am trying to run the biotite secondary structure analysis program in wsl to study the secondary structure of a protein after md simulation. The website link for the python code is provided below. [Secondary structure of protein during an MD simulation using Biotite] (Secondary structure during an MD simulation — Biotite 0.41.0 documentation ) The error message goes like this, It is working for the lysozyme.xtc (given as example) and other md trajectory files that I have used, but not this one. How do I solve this issue? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Probably this has something to do with residue recognition. Can you provide the template structure file? |
Beta Was this translation helpful? Give feedback.
-
Sorry for the later answer, I was a few days on vacation. The problem is atom naming: The trajectory from the example gallery was created with GROMACS, whose atom naming sometimes deviate from the standard PDB nomenclature. Specifically, the C-terminal # DSSP does not assign an SSE to the last residue -> -1
sse = np.empty((traj.shape[0], struc.get_residue_count(traj)-1), dtype='U1') However, in your template the atoms are named correctly. Hence DSSP returns has the correct length. Since the To fix this you can rename the problematic C-terminal atoms correctly (i.e. |
Beta Was this translation helpful? Give feedback.
Sorry for the later answer, I was a few days on vacation. The problem is atom naming: The trajectory from the example gallery was created with GROMACS, whose atom naming sometimes deviate from the standard PDB nomenclature. Specifically, the C-terminal
O
andOXT
are namedO1
andO2
. However without theO
DSSP does not recognize the terminal residue as amino acid, and skips it. Hence, the array with the secondary structure elements has one element less in the example:However, in your template the atoms are named correctly. Hence DSSP returns has the correct …