Merging vmullig/ncaas into master. This changes some core functionality in a way that should reproduce the old functionality exactly, except in cases where terminal residues have backbone-backbone or backbone-sidechain connections (e.g. cyclic peptides). I'm trying to take out some of the instances of Rosetta assuming that each residue is connected to the i+1 and i-1 residues, so that terminal residues with connections will score properly.
Unit tests: All pass
Integration tests: 2 are failing to run in the master branch already (app_exception_handling, buried_unsat_kinemage) 2 expected changes; 13 others that seem to be random, small changes:
UBQ_Gp_LYX-Cterm and UBQ_EZ_thioester: expected changes since the C-terminal glycine that's bonded to a sidechain should now score properly with p_aa_pp and omega.
Small random changes:
remodel_disulfides
inverse_rotamer_remodel
antibody_H3
relax_w_allatom_cst
antibody_H3_legacy
antibody_legacy -- NOTE: This one is producing bizarre output, both before and after this change (see the output PDB file).
KIC_vicinity
hotspot_graft
rs_flexbbmoves
antibody_designer
antibody_graft
jrelax
Additional notes:
--This change updates the way that residue backbone torsions are computed in Conformation.cc. Instead of assuming that each residue is connected to the i-1 residue at its lower connection, and the i+1 residue at its upper connection, Rosetta now checks what the residue is actually connected to and uses that for calculation of mainchain torsions.
--This should not change torsion calculation or scoring in any usually-encountered case.
--This should not affect the CTERM_CONNECT or NTERM_CONNECT types that were added when the peptoids branch was merged into master, recently. Those are still handled as special cases.
--If anyone notices any aberrant functionality as a result of this change, please e-mail me (vmullig@uw.edu). I've tried to be as thorough in my testing as possible, but with a deep core change, it's always possible that something was broken.