58/* Topology Broker is the central class for the broking mechanism. The broker maintains a list of ToplogyClaimers. These Claimers
59will be asked what kind of things they want to do (i.e., they return a list of DofClaims )
60then the Broker asks each Claimer if foreign claims are acceptable. A claim can be disallowed. For instance, the RigidChunkClaimer,
61can't accept any changes within its region of interest, and thus will disallow any claims to move BB-Torsions or to make jumps within its region.
62The Broking process will be handled in two rounds ( generate_round1 and generate_final_claims ) to give Claimers the possibility to react on
63the situation presented to them in round1.
64
65The Claimer needs to keep track himself what he can move and what was declined. This is not enforced any further. The idea is that the claimer
66being asked to provide a mover will return a Mover class that moves the dofs it had claimed successfully.
67 -> notify via claim about each change you want to make to the pose
68 -> don't move anything which was declined.
69 --> be aware that multiple movers might move the same dof -- unless your claimer takes care of declining foreign claims.
70
71the process is carried out each time the apply is called ( since we might have different choices, e.g., different jumps, different ss-bonds, different chunks)
72
73the life of a job goes thru stages:
74first apply is called, but the state is safed for further consulting during the run of the job:
75
76>>>apply
77
78broking ( round1 , final_round )
79
80setting up the pose --> pose is made from scratch!!
81 whatever you pass into apply will be ignored.(we call pose.clear() )
82 1. ) init_sequence ( make residues from sequence )
83 2. ) init_dofs ( initialize dofs , from fragments (jumps, bbtorsion), from pdb (rigid chunks)
84
85add_constraints
86
87>>>sampling within the protocol
88 during the run of the samplign protocol the TopologyBroker system can be consulted for
89 movers ( depending on stage )
90 adding chainbreaks ( depending on sequence separation )
91 switch to fullatom ( e.g., rigid chunks provide the full-atom sidechains of their input-pdb if available )
92 final_fold_tree ( which chainbreaks and jumps should the loop-closer remove before relax ? )