| |
|
|
| |
| |
|
|
| from copy import deepcopy |
|
|
| from biotite.database.rcsb import fetch |
| from biotite.structure import AtomArray |
|
|
| from language import ( |
| ConstantSequenceSegment, |
| MaximizePLDDT, |
| MaximizePTM, |
| MaximizeSurfaceExposure, |
| MinimizeCRmsd, |
| MinimizeDRmsd, |
| MinimizeSurfaceHydrophobics, |
| ProgramNode, |
| VariableLengthSequenceSegment, |
| get_atomarray_in_residue_range, |
| pdb_file_to_atomarray, |
| sequence_from_atomarray, |
| ) |
|
|
|
|
| def scaffolding_ace2() -> ProgramNode: |
| binding_site_atoms: AtomArray = pdb_file_to_atomarray(fetch("6m0j", format="pdb")) |
| binding_site_atoms = get_atomarray_in_residue_range( |
| binding_site_atoms, start=23, end=42 |
| ) |
| binding_site_sequence: str = sequence_from_atomarray(binding_site_atoms) |
| print(binding_site_sequence) |
|
|
| leader_amino_acid_sequence = VariableLengthSequenceSegment(50) |
| binding_site_sequence = ConstantSequenceSegment(binding_site_sequence) |
| follower_amino_acid_sequence = VariableLengthSequenceSegment(50) |
|
|
| return ProgramNode( |
| energy_function_terms=[ |
| MaximizePTM(), |
| MaximizePLDDT(), |
| MinimizeSurfaceHydrophobics(), |
| ], |
| children=[ |
| ProgramNode(sequence_segment=leader_amino_acid_sequence), |
| ProgramNode( |
| sequence_segment=binding_site_sequence, |
| energy_function_terms=[ |
| MaximizeSurfaceExposure(), |
| MinimizeCRmsd(template=binding_site_atoms), |
| MinimizeDRmsd(template=binding_site_atoms), |
| ], |
| energy_function_weights=[1.0, 10.0, 10.0], |
| ), |
| ProgramNode(sequence_segment=follower_amino_acid_sequence), |
| ] |
| ) |
|
|