Molecular modeling often comes down to precise specifications. One common pain point for many modelers is effectively filtering and matching specific molecular bonds based on their characteristics. This is where the Node Specification Language (NSL) in SAMSON offers an elegant solution. SAMSON simplifies this critical step through a comprehensive system of customizable bond attributes. Here’s how it works and how you can make the most of it.
Diving into Bond Attributes
Bonds in SAMSON are characterized by four key attributes:
- customType (
b.ct) - length (
b.len) - order (
b.o) - type (
b.t)
Each of these attributes allows you to query or filter bonds according to specific criteria, making the modeling process far more efficient. Here, we’ll break these down and provide clear examples so you can apply them to your work.
1. Matching Bonds by customType
The bond.customType attribute (abbreviated b.ct) enables you to target bonds based on specific integer types you assign. For instance, you might define custom bond types to categorize bonds in your molecular model based on experimental or computational needs.
Examples:
bond.customType 0orb.ct 0: Matches bonds withcustomTypeof 0.bond.customType >= 0orb.ct >= 0: Matches bonds withcustomTypegreater than or equal to 0.bond.customType 0:2orb.ct 0:2: Matches bonds with types ranging from 0 to 2.
2. Filtering Bonds by length
The bond.length attribute (abbreviated b.len) is especially useful for precise control of bond lengths – whether it’s in angstroms or nanometers.
Examples:
bond.length >= 1.5Aorb.len >= 1.5A: Matches bonds longer than 1.5 angstroms.bond.length 1.2A:1.4Aorb.len 1.2A:1.4A: Matches bonds between 1.2 and 1.4 angstroms.bond.length 0.15nm:2.1nmorb.len 0.15nm:2.1nm: Matches bonds in the range of 0.15 to 2.1 nanometers.
3. Defining Bonds by order
The bond.order attribute (b.o) helps you select bonds based on their numeric bonding order (single, double, etc.).
Examples:
bond.order >= 2orb.o >= 2: Matches bonds with orders greater than or equal to 2.bond.order 1.5:3orb.o 1.5:3: Matches bonds with orders between 1.5 and 3.
4. Selecting Bonds by type
The bond.type attribute (abbreviated b.t) allows you to filter based on predefined categories of bonds, such as single, double, triple, and more.
Types include:
| Type | Abbreviations | Description |
|---|---|---|
single |
s, 1 |
Single bond |
double |
d, 2 |
Double bond |
triple |
t, 3 |
Triple bond |
amide |
am |
Amide bond |
aromatic |
ar |
Aromatic bond |
dummy |
du |
Dummy bond |
undefined |
un |
Undefined bond |
Examples:
bond.type singleorb.t s: Matches single bonds.bond.type single, doubleorb.t s,d: Matches both single and double bonds.bond.type dummy, undefinedorb.t du,un: Matches dummy and undefined bonds.
Why Use NSL for Bond Attributes?
The flexibility of selecting and filtering bonds using such attributes helps you streamline molecular modeling. Whether you’re working on a drug molecule, visualizing experimental results, or refining structures, this system provides precision and saves time. By mastering these attributes, you can handle even the most complex molecular datasets with ease.
Explore the full documentation for bond attributes to learn more. Tailor your models, and elevate your designs today with SAMSON.
SAMSON and all SAMSON Extensions are free for non-commercial use. You can get SAMSON here.
