Building Complex Dimers from Multiple PDBs#
Task: Create a clean, repaired, and aligned protein-protein complex by harvesting monomers from different sources.
In this recipe, we take the structure with PDB id 1BRS. It contains three barnase-barstar complexes, but they are incomplete. We will “fish” the best monomers, align them, and build a perfect dimer from scratch.
import molsysmt as msm
import warnings
warnings.filterwarnings('ignore')
1. Harvesting the Monomers#
We download the system and identify the best chains (B and F are the most complete).
system = msm.convert('pdb_id:1BRS')
# Extract specific monomers
barnase = msm.extract(system, selection="chain_name=='B'")
barstar_E = msm.extract(system, selection="chain_name=='E'") # Reference position
barstar_F = msm.extract(system, selection="chain_name=='F'") # Best quality monomer
2. Structural Alignment#
We move the high-quality barstar (F) to the bound position of barstar E using a least-RMSD fit. The fit selection must match between both systems and contain at least three non-collinear atoms; the C-alpha selection used here satisfies that geometric requirement.
barstar_aligned = msm.structure.align(barstar_F, selection='atom_name=="CA"',
reference_molecular_system=barstar_E)
msm.view([barnase, barstar_aligned])
3. Merging and Curing#
We merge them into a single system and repair missing atoms or alternate locations.
complex = msm.merge([barnase, barstar_aligned])
# Check and fix missing heavy atoms
complex = msm.build.add_missing_heavy_atoms(complex)
complex = msm.build.add_missing_hydrogens(complex, pH=7.4)
msm.info(complex)
4. Persistence#
Finally, we save our masterpiece as a clean PDB file.
msm.convert(complex, to_form='barnase_barstar_cured.pdb')