Creating Protein Structure Networks

Issue #731 resolved
Yu Zhu created an issue

Hello, I’ve read the tutorials about Protein Structure Network and I tried to use my own data but failed.

Before I use the bio3D, I’ve finished Correlation Analysis and got a matrix in txt format which means I want to skip some steps in the tutorial to reach my goal. PDB file can be correctly read while my matrix can’t. I think some changes in the tutorials need to be done in the following lines:

modes <- nma(pdb)
cij <- dccm(modes)
net <- cna(cij, cutoff.cij=0.3)

However, I’m still a green hand in R and cannot correctly shift my matrix.txt file into the cij variable. I wish someone could help me solve the issue.

Thx a lot.

Comments (10)

  1. Yu Zhu reporter

    Yes, I’ve tried this but something is still wrong. I couldn’t get the net plot as the picture shown below.

    I checked the class(cij) in the tutorials example and it turned out to be “dccm” “matrix” while mine result is just “matrix”. I don’t know whether this is the key to the problem.

    Attached with the comment is part of my matrix since I wonder whether something is wrong with my matrix file and hope you can help me find the solution.

    Thank you.

  2. Xinqiu Yao

    The class of matrix should be fine.

    Try just typing net, what does it tell you? If no error/warning, the network object should be fine. And the problem must be from pdb.

    Try just plot(net). Do you see a plot?

    One possibility is the pdb contain non-protein atoms, or the number of residues does not match the number of nodes in the network.

    Let me know if it helps.

  3. Yu Zhu reporter

    Yes, it worked after I removed some ions in the pdb file. Besides, I wonder whether some non-standard amino acids in the pdb file could affect the accuracy of the result.

    Hope to hear from you soon.

    Thank you.

  4. Xinqiu Yao

    Bio3D can recognize non-standard amino acids.

    Type pdb and see if it says Non-protein/nucleic atoms#: 0.

    If non-standard amino acids are expected to be in the network, the result should be fine.

  5. Yu Zhu reporter

    By typing pdb, I got this:

    Non-protein/nucleic Atoms#: 221 (residues: 20)
    Non-protein/nucleic resid values: [ CY1 (8), CY2 (3), CY3 (6), HD1 (2), HE1 (1) ]

    These are some residues closely similar to CYS and HIS, differing only a few hydrogen ions. Is that necessary to manually edit the pdb file or could you please give me a better solution.

    Thanks.

  6. Xinqiu Yao

    If you didn’t get any error/warning, I don’t think you need to change the names. The function distinguishes residues by residue numbers and extracts C-alpha coordinates to build the layout of the plot. I assume all those unrecognized residues have C-alpha, right?

    You may change the residue name for double checking anyway. For example,

    pdb$atom$resid[pdb$atom$resid=="CY1"] <- "CYS"
    ...
    

  7. Log in to comment