Obtain aligned eigenvectors from nma modes

Issue #814 new
George Tzotzos created an issue

Hi,

My objective is to obtain the eigenvectors of the first three non-trivial modes. I assume that these are stored in the modes$U.subspace attribute. First, I'd like to ask if this assumption is correct and second what is the exact R syntax to obtain the vectors separately and all three together. As my competence with R is rather rudimentary, I'd be most grateful for any suggestions.

Many thanks in advance

Comments (2)

  1. Xinqiu Yao

    If you are using nma.pdbs(), yes, your assumption is correct.

    Note that ‘modes$U.subspace’ is a 3D array, with each “slice” along the 3rd dimension representing eigenvectors of each structure (columns of that “slice” are the first, second, etc. eigenvector).

    So, for example, if you want to access the second eigenvector of the first structure, use modes$U.subspace[, 2, 1]. Or, if you want the first 3 vectors of the second structure, use modes$U.subspace[, 1:3, 2].

    Also note that the vectors are aligned according to the sequence alignment. So, if your sequences have gaps, the corresponding position in the vector will be shown as NA.

    For single PDB NMA (called by nma.pdb()), the vectors are stored in ‘modes$U’, and it is a matrix and so much easier to understand.

  2. George Tzotzos reporter

    Thank you very much. I would be grateful for some additional clarifications.

    Starting with the simplest case. Assume that the length of a protein is 125 amino acids. The GNM non-trivial modes are 137. The matrix dimension dim(modes1$U) is 125 x 137. First question: How does one slice out, for example, mode 2 (1st non-trivial) mode of the protein?

    Moving to the more difficult question, involving an ensemble of proteins. In my example:

    modes2 <- gnm(pdbs)

    Details of Scheduled Calculation:
    ... 17 input structures
    ... storing 96 eigenvectors for each structure
    ... dimension of x$U.subspace: ( 97x96x17 )
    ... coordinate superposition prior to NM calculation
    ... aligned eigenvectors (gap containing positions removed)
    ... estimated memory usage of final 'eGNM' object: 1.2 Mb

    Second question. Using your suggestion modes$U.subspace[, 2, 1] I obtain a 292x2 array. What does this array represent?

    Final question. I’m trying to obtain the line shapes of the first three non-trivial modes. Something like the attached screenshot. Maybe, I’m going around the wrong way trying to slice out the eigenvectors for the modes$U object.

    Thanks again for your attention

  3. Log in to comment