Question about view.dccm()

Issue #90 resolved
rohit_arora created an issue

Hello Bio3D team,

I am performing some analysis using Bio3d and I have used the function view.dccm() to map correlation onto the 3D structures of the protein. I have two questions regarding this:

1) Is there any way to save the information from pymol regarding the correlation? For instance - If I observe two residues are correlated i.e joined by a line and I want to get these residue numbers, is it possible to obtain it?

2) What is the meaning of the names of the pymol objects which are created for the correlation lines. For instance I have (omit=0.4): cor_-1_-08 cor_-08_-06 cor_-06_-04 cor_04_06 cor_06_08 I understand that these represent positive and negative correlations, but what exactly is the significance of the digits. I am unclear on this.

I appreciate your help very much.

Best regards

Rohit

Comments (5)

  1. Barry Grant

    Hi Rohit, I will pass your first question onto Lars who is our pymol wiz (and who wrote the view.dccm() function). For the second question I believe the digits correspond to the magnetite of the actuall correlations. So the object "cor_-1_-08 " would display all pairs of correlations with values between -1 and -0.8. Having the correlations binned by their magnitute is often useful for visualizing subsets of strong and week or positive and negative pairs etc. Hope this helps, Barry

  2. Lars Skjærven

    Hey, yes, the pymol objects correspond to the respective correlation values in the correlation matrix. I should definitively make the documentation of this more complete.

    As for the first question - inside pymol the only way I can think of would be to click on the residues in the protein and monitor the output in the terminal (or pymol terminal). In R you could do something like:

    # calc modes and correlations 
    pdb <- read.pdb("1hel")    
    modes <- nma(pdb)  
    cij <- dccm(modes)
    
    # omit diagonal items
    cij[upper.tri(cij, diag=TRUE)]=NA
    
    # find correlations above 0.6
    which(cij>0.6, arr.ind=T)
    
  3. rohit_arora reporter

    Hi Lars,

    This is very helpful and quite straight forward. Thank you very much for your help.

    Best regards Rohit

  4. Log in to comment