2 """This script shows how to create a system with multiple copies of the
4 We also create some cross-links which take into account the ambiguity.
5 The key to ambiguity is using the same molecule name for ambiguous copies.
6 That way when you perform Selection it automatically finds all relevant
31 st1 = s.create_state()
32 st2 = s.create_state()
37 m1A = st1.create_molecule(
'ProtA', sequence, chain_id=
'A')
38 m1A.add_representation(m1A, resolutions=[1])
43 m1B = m1A.create_clone(chain_id=
'B')
44 m1C = st1.create_molecule(
'ProtC', sequence, chain_id=
'C')
45 m1C.add_representation(m1C, resolutions=[1])
48 m2A = st2.create_molecule(
'ProtA', sequence, chain_id=
'A')
49 m2A.add_representation(m2A, resolutions=[1])
50 m2C = st2.create_molecule(
'ProtC', sequence, chain_id=
'C')
51 m2C.add_representation(m2C, resolutions=[1])
61 for mol
in (m1A, m1B, m1C, m2A, m2C):
62 dof.create_flexible_beads(mol, max_trans=0.1)
63 dof.create_super_rigid_body(mol)
72 lines =
'''id,mol1,res1,mol2,res2,score
75 tf = tempfile.NamedTemporaryFile(delete=
False, mode=
'w')
81 kw.set_unique_id_key(
"id")
82 kw.set_protein1_key(
"mol1")
83 kw.set_protein2_key(
"mol2")
84 kw.set_residue1_key(
"res1")
85 kw.set_residue2_key(
"res2")
86 kw.set_id_score_key(
"score")
88 xldb.create_set_from_file(tf.name)
100 output_objects.append(xlr)
102 dof.get_nuisances_from_restraint(xlr)
106 for mol
in (m1A, m1B, m1C, m2A, m2C):
109 output_objects.append(cr)
113 included_objects=(m1A, m1B, m1C))
115 output_objects.append(evr1)
117 included_objects=(m2A, m2C))
119 output_objects.append(evr2)
137 monte_carlo_sample_objects=dof.get_movers(),
138 global_output_directory=
'ambiguity_output/',
139 output_objects=output_objects,
140 monte_carlo_steps=10,