error_ ensemble NMA

Issue #528 new
karolk created an issue

Hi,

I am trying to perform ensemble NMA.

I am getting weird error: "Warning in mylapply(1:length(pdbs$id), .calcAlnModes, pdbs, xyz, gaps.res, : all scheduled cores encountered errors in user code Error in tmp.modes$U : $ operator is invalid for atomic vectors"

code:

pdbs.list <-list.files(path="path",pattern="^pdb_a_")
align.pdbs <- pdbaln(pdbs.list,fit = FALSE)
modes <- nma(align.pdbs,keep = 50, mass = TRUE, ff="calpha", ncore=2, fit=FALSE)

thank you

Comments (7)

  1. Xinqiu Yao

    Could you provide an example pdbs object that we can reproduce your problems? You can either attach the file here or send it to xinqiu.yao@gmail.com.

  2. karolk reporter

    Hi Yao,

    The problem was ( I think) that I was operating on Calphas only. When I pdbaln whole structures, the problem disappeared. Nevertheless, I encountered another problem.

    Error: ... dimension of x$U.subspace: ( 13944x13938x4 ) ... aligned eigenvectors (gap containing positions removed)
    ... estimated memory usage of final 'eNMA' object: 5931.6 Mb

    | | 0%Error in modes$U[, k] : subscript out of bounds

    I managed to reproduce the problem. The argument, which is causing the problem is: "keep=30". Without it, eNMA goes fine. Nevertheless, I would prefer to store only first 30.. If I store all modes for my protein, the binaries go really big and working with these is quite inconvenient.

    The problem appears on two different platforms:

    (1) Mac Os, R version 3.4.1 (2017-06-30)

    (2) Linux cluster, R version 3.4.2 (2017-09-28)

    The code is exactly the same.

    pdbs.list <-list.files(path="path",pattern="^pdb_a_")
    align.pdbs <- pdbaln(pdbs.list,fit = FALSE)
    modes <- nma(align.pdbs,keep = 30, mass = TRUE, ff="calpha", ncore=2, fit=FALSE)
    
  3. Xinqiu Yao

    Hi,

    Instead of using keep=30, try subspace=30 (See help(nma.pdbs) for more detail).

    (To Lars: We need to override 'subspace' when users set 'keep' in calling nma.pdbs() (otherwise, 'out of boundary' errors). Or, we can modify to ignore 'keep' in nma.pdbs(). What do you think?)

  4. Lars Skjærven

    (To Lars: We need to override 'subspace' when users set 'keep' in calling nma.pdbs() (otherwise, 'out of boundary' errors). Or, we can modify to ignore 'keep' in nma.pdbs(). What do you think?)

  5. Log in to comment