For molecular modelers and researchers, understanding and customizing the attributes of molecular bonds is a crucial aspect of their work. SAMSON, an integrative molecular design platform, simplifies this process through its Node Specification Language (NSL). This blog post focuses on the Bond Attributes in NSL, offering you insights into matching and defining bonds based on their properties.
What are Bond Attributes in NSL?
Bond attributes refer to specific properties of bonds within your molecular models. By using NSL syntax, you can conveniently filter and assess bonds according to these attributes. These attributes include customType, length, order, and type. Below, we’ll discuss each attribute and provide clear examples to help you apply them effectively.
customType
The bond.customType attribute (b.ct for shorthand) allows you to classify bonds based on predefined custom types. This is particularly useful for tracking specific bond annotations in your model.
Possible values: integers.
Examples:
bond.customType 0(orb.ct 0): Matches bonds with a custom type of 0.bond.customType >= 0(orb.ct >= 0): Matches bonds with custom types greater than or equal to 0.bond.customType 0:2(orb.ct 0:2): Matches bonds with custom types between 0 and 2.
length
The bond.length attribute (b.len shorthand) enables precise matching based on bond lengths. Whether you work with angstroms or nanometers, this attribute ensures accurate filtering of bonds by their length.
Possible values: floating-point numbers.
Examples:
bond.length >= 1.5A(orb.len >= 1.5A): Matches bonds with lengths greater than or equal to 1.5 angstroms.bond.length 1.2A:1.4A(orb.len 1.2A:1.4A): Matches bonds with lengths between 1.2 and 1.4 angstroms.bond.length 0.15nm:2.1nm(orb.len 0.15nm:2.1nm): Matches bonds with lengths in the range of 0.15 to 2.1 nanometers.
order
The bond.order attribute (b.o) identifies bonds based on their bond order. This attribute is particularly useful for distinguishing between single, double, and more complex bond orders in your models.
Possible values: floating-point numbers.
Examples:
bond.order >= 2(orb.o >= 2): Matches bonds with an order of 2 or higher.bond.order 1.5:3(orb.o 1.5:3): Matches bonds with orders between 1.5 and 3.
type
The bond.type attribute (b.t) distinguishes bonds by category: single, double, triple, amide, aromatic, dummy, and undefined types. This is ideal for exploring specific chemical properties or structures in your model.
Possible values: predefined categories, such as single, double, amide, etc.
Examples:
bond.type single(orb.t s): Matches single bonds.bond.type single, double(orb.t s,d): Matches single and double bonds.bond.type dummy, undefined(orb.t du,un): Matches dummy and undefined bonds.
Why Use Bond Attributes?
Efficiently managing bond attributes can significantly streamline the process of modeling and analyzing molecular structures. Whether you aim to filter bonds based on lengths, classify them by type, or analyze specific properties, the power of NSL in SAMSON allows you to approach these tasks with precision and clarity.
To dive deeper and see the full range of capabilities in NSL, refer to the official SAMSON bond attributes documentation.
SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON today at https://www.samson-connect.net.
