「view this page in B3 βῆτα server」

Revisions №57941

branch: master 「№57941」
Commited by: Vikram K. Mulligan
GitHub commit link: 「d1f3eeaf508cdb8c」 「№566」
Difference from previous tested commit:  code diff
Commit date: 2015-06-25 18:04:22

Merge pull request #566 from RosettaCommons/vmullig/reference_pose Creates a means of tracking changes to residue indices as residues are added or deleted The goal of this pull request is to create a means of tracking changes to residue indices as residues in a pose are added or deleted. The usage case is as follows: a user wants to write a protocol (e.g. in RosettaScripts) in which he or she calls a mover that appends or inserts residues in a pose, and then wants to call a mover that operates on inserted residues or downstream residues. Unfortunately, the first mover could insert a variable number of residues, making it impossible to pass exact indices to the second mover at scripting time. The solution is to implement something that can take a snapshot of a pose, then track where residues are added or removed, associating the residue indices of the modified pose with residue indices of an initial pose. This implements the following: -- Adds ReferencePoseSet class (a container for multiple named ReferencePose objects, with hooks for retrieving them by name). -- Poses now store an owning pointer to a ReferencePoseSet. This adds almost no memory overhead if reference poses are not used in a protocol. -- Adds a ReferencePose class (a class for storing the association between residues currently in a pose and residues that were in a pose at a point in the past). -- Adds unit tests for the above. -- Adds the StorePoseSnapshot mover, which creates a ReferencePose based on the current state of the pose and adds an owning pointer to it to the pose's ReferencePoseSet. -- Modifies MutateResidue to use reference pose indices should the user indicate that this should be the case (this will serve as a demo for how to modify movers to permit users to use ReferencePoses). -- Modifies the add and delete operations in the Pose class so that any mover adding or deleting residues automatically updates any ReferencePose objects that are present. -- Modifies the PDB numbering parse logic so that any Rosetta mover that takes residue numbers and parses them using the PDB numbering logic can also parse residue numbers based on a reference pose. (That is, a user could specify, "17", "5B", or "16_refpose1" to refer to residue 5 of chain B, the 17th residue of the pose, which corresponds to the 16th residue of some reference pose). -- Adds an integration test for a RosettaScript involving a StorePoseSnapshot mover, a mover that modifies pose length, and a mover that refers to a residue in the ReferencePose. -- Documents these changes, for users. -- Documents these changes, for developers. X Modify GeneralizedKIC to use reference poses. -- Put off to a future pull request.

...