Bug? Test failed on the branch feature-cna
Issue #84
resolved
Hi,
Several test codes related to NMA module failed to pass on the branch feature-cna. (See following error message. )
Note that these errors were not observed on the master branch!
I will continue to figure it out what's going wrong...
Testing aa2mass() : .1.
Testing atom mass functions : 23..456
Testing cmap function : .....
Testing core.find function : .....
Testing dccm.nma : .7...
Testing dccm functions : .8........
Testing deformation analysis : .....
Testing dssp() : .......................
Testing fitting functions : ............
Testing get.pdb() : ......
Testing nma.pdbs() : ....9.........
Testing nma() : .a.......................
Testing overlap functions : ......
Testing RMSD function : ..
Testing vector functions : ....
1. Failure: Amino acid mass tests ----------------------------------------------
aa2mass(sequ, addter = TRUE, mmtk = FALSE, mass.custom = NULL) not equal to masses
Mean relative difference: 2.66489e-06
2. Failure: atom to mass tests -------------------------------------------------
atom2mass(atom.names) not equal to masses
Mean relative difference: 8.962427e-05
3. Failure: atom to mass tests -------------------------------------------------
atom2mass(atom.names, grpby = c(1, 1, 1, 2)) not equal to masses
names for current but not for target
Mean relative difference: 6.549466e-05
4. Failure: atom to mass tests -------------------------------------------------
sum(atom2mass(pdb.small)) not equal to 1165.396
Mean relative difference: 4.446557e-05
5. Failure: atom to mass tests -------------------------------------------------
com(pdb.small) not equal to coma
Mean relative difference: 2.875553e-06
6. Error: atom to mass tests ---------------------------------------------------
'mass.custom' must contains 'symb' and 'mass' components
1: expect_that(atom2mass(atom.names, mass.custom = mass.cust, elety.custom = elety.cust), equals(masses))
2: condition(object)
3: all.equal(expected, actual, ...)
4: all.equal.numeric(expected, actual, ...)
5: attr.all.equal(target, current, tolerance = tolerance, scale = scale, ...)
6: mode(current)
7: atom2mass(atom.names, mass.custom = mass.cust, elety.custom = elety.cust)
8: atom2mass.default(atom.names, mass.custom = mass.cust, elety.custom = elety.cust)
9: stop("'mass.custom' must contains 'symb' and 'mass' components")
10: .handleSimpleError(function (e)
{
e$calls <- head(sys.calls()[-seq_len(frame + 7)], -2)
signalCondition(e)
}, "'mass.custom' must contains 'symb' and 'mass' components", quote(atom2mass.default(atom.names, mass.custom = mass.cust, elety.custom = elety.cust)))
7. Failure: Correlation matrix from NMA ----------------------------------------
cm[1, 2] not equal to 0.06514794
Mean relative difference: 2.686028e-06
8. Failure: Correlation matrix from NMA ----------------------------------------
cm[1, 2] not equal to 0.06514794
Mean relative difference: 2.686028e-06
9. Failure: eNMA works ---------------------------------------------------------
nowU2 not equal to U2
Mean relative difference: 2
a. Failure: NMA ----------------------------------------------------------------
nowU8 not equal to U8
Mean relative difference: 2
Comments (8)
-
-
reporter I see. The differences are indeed very small. The last two have difference 2 because of the opposite direction of the modes. Thanks!
-
reporter - changed status to resolved
Test codes failed to pass because of the update in atom2mass() function, which generates very minor different results. The errors will disappear with updates of test codes.
-
shall we keep this issue open so we dont forget about it?
-
reporter Right. Reopened
-
reporter - changed status to open
-
-
reporter - changed status to resolved
Resolved with Lars' recent commits
- Log in to comment
Julien did some updates on the mass related functions, which I think is in the cna branch, but not in the master branch. The tests were never updated to comply with the new element table. e.g. my 'old' implementation used a mass of O set to 16.00, while the new table from Julien uses 15.9994. This leads to very small differences in the resulting modes. Hence the test errors.