Set#

Setting attribute values (topological or structural) to a molecular system.

Some attributes of a molecular system can be changed without altering its identity — for example, modifying the box dimensions, coordinates, or forcefield information. In other cases, attribute corrections may be required, such as fixing a wrong residue name or atom type. MolSysMT provides the molsysmt.basic.set() function to assist with these tasks.

The list of attributes defined in MolSysMT for a molecular system can be checked in the section User guide > Introduction > Molecular system > Attributes.

Added in version 1.0.0.

How this function works#

API documentation

Follow this link for a detailed description of the input arguments, raised errors, and returned objects of this function:molsysmt.basic.set().

To illustrate how this function works, lets load a molecular system:

import molsysmt as msm
molsys = msm.convert('181L')
msm.info(molsys)
form n_atoms n_groups n_components n_chains n_molecules n_entities n_waters n_ions n_small_molecules n_proteins n_structures
molsysmt.MolSys 1441 302 141 6 141 5 136 2 2 1 1

Suppose that the name of the group at index 30 is incorrect in our system:

msm.info(molsys, element='atom', selection='group_index==30')
index id name type group index group id group name group type component index chain index molecule index molecule type entity index entity name
248 249 N N 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
249 250 CA C 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
250 251 C C 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
251 252 O O 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
252 253 CB C 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
253 254 CG C 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
254 255 ND1 N 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
255 256 CD2 C 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
256 257 CE1 C 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME
257 258 NE2 N 30 31 HIS amino acid 0 0 0 protein 0 T4 LYSOZYME

Let’s now assume that the histidine residue should be labeled as “HSD” instead of “HIS”. This can be easily updated using the function molsysmt.basic.set():

msm.set(molsys, selection='group_index==30', group_name='HSD')

Tip

All methods defined in the molsysmt.basic module can be invoked also from the main level of the library. Hence, molsysmt.set() is the same method as molsysmt.basic.set().

Let’s check that the group name changed in deed:

msm.info(molsys, element='atom', selection='group_index==30')
index id name type group index group id group name group type component index chain index molecule index molecule type entity index entity name
248 249 N N 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
249 250 CA C 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
250 251 C C 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
251 252 O O 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
252 253 CB C 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
253 254 CG C 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
254 255 ND1 N 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
255 256 CD2 C 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
256 257 CE1 C 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME
257 258 NE2 N 30 31 HSD amino acid 0 0 0 protein 0 T4 LYSOZYME

Let’s explore another example, this time modifying a structural attribute. We will look at the coordinates of the “CA” atom in the “HSD” group:

msm.get(molsys, element='atom', selection='group_name=="HSD" and atom_name=="CA"', coordinates=True)
Magnitude
[[[3.7278 1.6327 1.7646999999999997]]]
Unitsnanometer

There is only a single structure in the system, let’s change the coordinates of this former atom to a new value:

msm.set(molsys, selection='group_name=="HSD" and atom_name=="CA"', structure_indices=0, coordinates='[0,0,0] nm')

Finally, let’s verify that the coordinates of the “CA” atom in the “HSD” group were updated correctly:

msm.get(molsys, element='atom', selection='group_name=="HSD" and atom_name=="CA"', coordinates=True)
Magnitude
[[[0.0 0.0 0.0]]]
Unitsnanometer

See also

User guide > Introduction > Molecular System > Attributes:
Overview of attributes defined for molecular systems in MolSysMT.

User guide > Tools > Basic > Convert:
Convert molecular systems between different formats.

User guide > Tools > Basic > Info:
Display structural and topological summaries.

User guide > Tools > Basic > Select:
Select elements from a molecular system using various syntaxes.

User guide > Tools > Basic > Get:
Retrieve attribute values from selected elements.