Fact-checked by Grok 2 weeks ago

SMILES arbitrary target specification

SMiles ARbitrary Target Specification (SMARTS) is a cheminformatics language designed for expressing and matching substructural patterns in molecules, extending the capabilities of the Simplified Molecular Input Line Entry System (SMILES) to support rather than just exact molecular representations. Developed by Daylight Chemical Information Systems, SMARTS incorporates logical operators, recursive definitions, and specialized symbols for atoms and bonds, allowing users to define complex queries for substructure searching in chemical databases and applications such as and molecular modeling. Unlike SMILES, which primarily encodes complete molecular structures as linear strings, SMARTS treats every atom and bond as a pattern matcher, enabling the specification of features like , , and with greater flexibility. Key features include atomic primitives (e.g., [C] for aliphatic carbon or [#6] for carbon by ), bond descriptors (e.g., ~ for any bond type), and logical constructs such as ! (), & (), and , (disjunction) to build intricate substructure rules. Recursive SMARTS further enhance expressiveness by allowing self-referential patterns, such as identifying atoms connected to a via [$(*C)]. SMARTS has been integral to tools since its introduction, supporting applications in substructure-based screening, reaction prediction, and visualization software like and the Python . Its adoption stems from the need for precise, machine-readable queries in large-scale chemical , with extensions over time including support in version 4.1 and component-level grouping for disconnected structures.

Introduction to SMARTS

Definition and Purpose

SMARTS, or , is a line notation language that extends the Simplified Molecular Input Line Entry System (SMILES) to define arbitrary substructural patterns in molecules, facilitating the identification of specific features such as functional groups or pharmacophores within larger chemical structures. Developed as a query mechanism, SMARTS allows users to symbolically represent atoms, bonds, and rules that can match against molecular graphs, treating molecules as abstract graphs where nodes (atoms) and edges (bonds) are queried for patterns rather than exact structures. This extension enables flexible substructure searching, where unspecified elements are handled through wildcards and variables, permitting the specification of partial or generalized targets without requiring complete molecular descriptions. In cheminformatics, the primary purpose of SMARTS is to support efficient database querying for substructure retrieval, where patterns are matched against vast collections of compounds to identify molecules containing desired motifs, such as in pipelines. It also underpins similarity analysis by quantifying structural overlaps between query patterns and database entries, aiding in the prioritization of based on shared substructural features. Furthermore, SMARTS contributes to prediction by defining reactive sites or transformation templates, allowing computational models to anticipate outcomes in synthetic pathways through pattern-based matching of reactants and products. These applications leverage SMARTS's role as a standardized, expressive that bridges linear notations with graph-based molecular representations, enhancing in chemical .

Historical Development and Relation to SMILES

SMARTS was developed in the late 1980s by David Weininger at Daylight Chemical Information Systems, Inc., as an extension of the SMILES notation specifically designed to facilitate substructure searching in molecular databases. Weininger passed away in 2016. This innovation built directly on SMILES, which Weininger had earlier created for compact representation of complete chemical structures, but SMARTS introduced capabilities for defining abstract patterns rather than fixed molecules. Daylight, founded in 1987 by Weininger and Josef Taitz, commercialized these tools to address growing needs in for efficient querying of chemical information systems. While SMILES focuses on generating a unique, canonical string for an entire molecule to enable isomorphism checks and database storage, SMARTS diverges by supporting variable atoms and bonds, logical operators, and recursive patterns to match substructures flexibly within larger molecules. For instance, SMILES might encode benzene as c1ccccc1 for precise depiction, whereas SMARTS could use 11 to query any aromatic ring system, allowing wildcards and conditions unmet by SMILES's rigid syntax. This distinction arose from the recognition that substructure searches required expressive power beyond SMILES's canonicalization, enabling applications like pharmacophore identification and reaction prediction in cheminformatics workflows. A pivotal advancement came in the 1990s with refinements to both SMILES and SMARTS, including the addition of primitives for , which expanded pattern-matching precision alongside evolving SMILES versions to handle complex queries previously unsupported. By the early , SMARTS was fully integrated into Daylight's C++ Toolkit, a comprehensive library for chemical computation that provided APIs for parsing, searching, and manipulating patterns, solidifying its role in industrial and academic software. This integration spurred widespread adoption, with cheminformatics communities contributing to its de facto standardization through shared implementations and extensions, despite no formal .

Core Syntax Elements

Atomic Properties and Symbols

In SMARTS, atoms are primarily specified using elemental symbols or enclosed in square brackets [ ] to define explicit properties, allowing for precise matching in substructure searches. The organic subset of atoms, such as C, N, O, P, S, B, and halogens (F, Cl, Br, I), can be written without brackets for aliphatic forms or in lowercase (e.g., c for aromatic carbon) to denote aromaticity. General atoms beyond the organic subset require bracketed notation with their symbols, such as [Na] for sodium. Key properties include charge, specified as an following the within brackets, such as [+1] for a singly positive charge or [-] for a single negative charge; multiple charges are denoted by repetition, like [++] for +2. count is indicated by H for total attached hydrogens (explicit and implicit) or h for implicit hydrogens only, such as [CH3] (equivalent to [C;H3] for a carbon with three total hydrogens) or [H0] for no total hydrogens. Isotopes are specified by preceding the atomic symbol with the in brackets, like [13C] for , while atomic mass can be directly stated as [] (e.g., ) to match any of that mass. is distinguished by lowercase symbols for aromatic atoms (e.g., n for aromatic ) or explicit flags like a for any aromatic and A for aliphatic. Advanced atomic features encompass , , and (introduced in version 4.1). Valence is denoted by v (version 4.3+) for total bond order sum equal to n (e.g., [Nv3] for nitrogen with total bond order 3), while connectivity degree uses D (version 4.3+) for explicit bonds or X (version 4.3+) for total connections including implicit hydrogens (e.g., [CX3] for carbon with three total connections). is specified using @ for anticlockwise tetrahedral arrangement or @@ for clockwise, applied within brackets like C@H to define around the atom; unspecified chirality can be indicated with ? , as in [C@?H]. Wildcards facilitate flexible atom matching: * matches any atom regardless of element, while # specifies an atom by (e.g., [#6] for carbon); for broader non-element-specific matching, * serves as the primary wildcard. Atom variables use digits 1-9 as labels for , such as [C:1] to track a specific carbon across patterns, enabling correspondences in recursive or queries; ? can denote optional mapping, like [C:?1].

Bond Types and Specifications

In SMARTS, bonds are specified using symbols that denote their type, order, and properties, allowing for precise substructure queries in molecular patterns. The basic bond symbols include - for a (aliphatic) bond, = for a , # for a , and : for an aromatic bond. These symbols extend the SMILES notation to support querying specific connectivity between atoms, such as in C=C for an ethene-like double bond or c1ccccc1 where implicit : bonds define benzene's aromatic ring. For flexible matching, the tilde ~ serves as a wildcard for any bond type, enabling broad queries like [#6]~[#6] to match any connection between carbon atoms regardless of order. Absent a bond symbol, SMARTS defaults to "single or aromatic," as seen in cc matching adjacent aromatic carbons or CC matching aliphatic single-bonded carbons. Additionally, @ denotes any ring bond (version 4.6+), useful for identifying cyclic connections without specifying order. Stereo bonds incorporate directional indicators / for "up" and \ for "down," primarily for specifying cis/trans () or tetrahedral in queries (version 4.1+). These can combine with unspecified options, such as /? for "up or unspecified," allowing partial stereo matching, as in F/?C=C\Cl for trans-1,2-difluoroethene or equivalents with unspecified direction. In depictions, / and \ also represent / bonds to convey stereochemical . Bond properties extend querying capabilities, particularly for order and . While fixed symbols define exact orders, logical operators enable combinations; , (disjunction/OR) can match alternatives via subpatterns, such as [([C]-[C]),([C]=[C])] for carbons connected by single or double bonds, while ; (conjunction/AND, low precedence) combines conditions. toggles via : enforce delocalized bonds, distinguishing them from aliphatic equivalents like c-c in . In recursive SMARTS patterns, bond matching uses variables denoted by numbers following the symbol, such as -1 to assign and reference a specific type across layers, facilitating complex queries like matching equivalent bonds in nested structures. For instance, a might use bond 1 to ensure consistent order in recursive environments, enhancing precision in substructure searches.

Structural Patterns

Connectivity and Branching

In SMARTS notation, connectivity between atoms is primarily expressed through sequential arrangement, where atoms are listed in order to represent direct bonds, defaulting to single or aromatic bonds unless otherwise specified. This mirrors the linear chain syntax of SMILES but is adapted for substructure querying. For example, the pattern CCO matches a linear chain of two carbon atoms connected to an oxygen atom, as found in the ethanol backbone. Branching structures are denoted using parentheses to indicate side chains or substituents attached to the preceding atom. The notation CC(O)C specifies a branched chain where the second carbon connects to a hydroxyl group in addition to the adjacent carbons, corresponding to the structure of isopropanol. Multiple branches from a single atom are represented by successive parenthetical groups, such as CC(O)(Cl)C, which matches a central carbon bearing both a hydroxy and a chloro substituent alongside the chain. Nested parentheses enable the description of more intricate branching, allowing hierarchical attachments without altering the main sequence. For queries involving disconnected components, the dot (.) operator separates independent fragments, permitting matches across non-adjacent parts of a molecule. The pattern CC.O, for instance, identifies an ethyl group alongside a separate oxygen atom in different molecular segments. Connectivity can be further constrained by specifying an atom's degree—the total number of bonds it forms—using the Xn descriptor within square brackets, as in [C;X4], which targets a carbon atom with exactly four connections, typical of tetrahedral geometry.

Cyclicity and Ring Closures

In SMARTS, cyclicity is represented through ring closure digits, which connect non-adjacent atoms to form cycles in substructure patterns. Digits 1 through 9 are appended to atoms to indicate the start and end of a bond, mirroring the SMILES convention but adapted for querying. For example, the pattern C1CC1 specifies a three-membered aliphatic , matching or similar structures. To handle larger molecules with more than nine rings, the '%' symbol precedes two-digit numbers for closures ranging from 10 to 99, such as %10. Multiple independent rings reuse the same digits without overlap; for instance, c1ccccc1c1ccccc1 denotes , with two separate aromatic six-membered rings linked by a . In fused systems, a shared digit indicates the common bond, as in c12ccccc1cccc2 for , where the '1' and '2' define the fused edges. Ring properties enhance query precision by qualifying atoms based on their cyclic environment. The uppercase 'R' specifies participation in a given number of smallest set of smallest rings (SSSR), with [R3] matching atoms in exactly three rings. The lowercase 'r' targets , such as [r3] for atoms in a three-membered ring or [r6] for six-membered rings like those in . Aromatic cyclicity combines lowercase symbols for atoms and bonds with closures, exemplified by c1ccccc1, which exclusively matches aromatic six-membered rings. Querying rings flexibly employs wildcards and for broad matching. The '*' wildcard represents any heavy atom in ring contexts, while [R] matches any atom involved in at least one ring, regardless of type or size. Atom variables, labeled as [C:1], enable tracking specific ring atoms across patterns for refined substructure searches.

Advanced Features

Logical Operators and Grouping

In SMARTS, logical operators enable the combination of properties, specifications, and substructural conditions to form more complex queries. The primary operators include & for high-precedence logical AND, , for logical OR, ! for logical NOT, and ; for low-precedence logical AND. These operators apply within expressions enclosed in square brackets [ ] or between subpatterns, allowing precise specification of conditions such as [C&H0], which matches an aliphatic carbon atom with exactly zero hydrogen atoms (a carbon without hydrogens). Within bracketed expressions, adjacent primitives are implicitly combined using high-precedence AND (&), so [CH3] is equivalent to [C&H3], denoting an aliphatic carbon with three hydrogens; the NOT operator negates a single condition, as in [!c] for any non-aromatic carbon atom. The OR operator (,) combines alternatives at a precedence level below AND, facilitating queries like [N,O], which matches either aliphatic or oxygen atoms. For more nuanced combinations, parentheses enforce explicit grouping to override default operator precedence, which follows the order ! > & > ; > ,, with left-to-right associativity for operators of equal precedence. For instance, [c,n;H1] without parentheses would parse as ([c,n];H1)—an aromatic carbon or atom that also has exactly one hydrogen—but to group the OR separately, it becomes [ (c,n) ; H1 ], ensuring the hydrogen condition applies to the combined alternatives. This grouping mechanism extends beyond atoms to subpatterns, where parentheses clarify precedence in linear notations, such as (C=O) to specify a as a branched substructure attached to a prior , avoiding in . In non-recursive contexts, these operators support flat combinations of conditions, such as using OR for alternative branches in a query like [N,O], which matches either a or oxygen . The low-precedence AND (;) is particularly useful for chaining multiple conditions across broader subpatterns, evaluated after higher-precedence operations, as in [#6;X3], matching a carbon with exactly three connections. Parentheses also aid in disambiguating such expressions by grouping subpatterns, ensuring that logical operations apply as intended without unintended left-to-right chaining; for example, default parsing of a&b,c yields (a&b),c (AND then OR), but (a&b),c explicitly confirms this while allowing overrides like a&(b,c) for AND with a grouped OR. These features, rooted in extensions of SMILES syntax, enhance the expressiveness of SMARTS for substructure searching while maintaining compactness.

Recursive Definitions and Layers

Recursive SMARTS enable the definition of complex atomic s by embedding subs within a parent , using the $(subpattern) where subpattern is a valid SMARTS expression starting with the atom of interest. This construct treats the enclosed subpattern as a property of the preceding atom, allowing for the specification of nested structural features without including the recursive atoms in the primary match. For instance, the C[$(aaO)] matches a carbon atom adjacent to an oxygen ortho on an aromatic , where aaO defines the aromatic . Nesting of recursive SMARTS is supported through multiple layers of $() enclosures, permitting up to 10 levels of hierarchy to describe increasingly intricate structures such as side chains attached to systems. This layered approach facilitates hierarchical matching, where each recursive layer refines the context of the atoms in the outer pattern; for example, C[$(aa[$(O)])] embeds an oxygen specification within an aromatic context for the carbon. Beyond 10 layers, is not supported to maintain computational feasibility. Recursive SMARTS cannot include expressions due to semantic ambiguities in handling bonds and mappings. Atom mapping within recursive SMARTS employs digits (1 through 9) to , with the key feature that these digits can be reused across different recursive subpatterns to ensure consistent correspondence between mapped in nested environments. This reuse allows for aligned in hierarchical queries, such as identifying repeating units in chains where corresponding in each recursive instance share the same . For example, in a pattern like $(C1CC1)$(C1CC1), the 1 maps equivalent carbons across the two recursive rings, enabling unified treatment in substructure searches. In practical queries, recursive SMARTS excel at matching extended motifs, such as polypeptide backbones that approximate alpha-helical structures through repeated linkages. A representative for a unit, extendable recursively for longer chains, is [NX3H2][CX4H]([*])[CX3](=[OX1])[NX3][CX4H]([*])[CX3](=[OX1])[OX2H], where * serves as a variable for side chains and can embed further backbone repetitions to target polymer-like sequences. Such applications are particularly valuable in cheminformatics for identifying biomolecular scaffolds with .

Practical Usage

Illustrative Examples

To illustrate the application of SMARTS syntax, consider basic patterns that target common molecular features. These examples demonstrate how atomic specifications, bonds, branching, rings, logical operators, and recursion can be combined to define substructures precisely. A simple pattern for a hydroxyl group is [OH], which matches an oxygen atom attached to a , as found in alcohols or . Similarly, C=O targets a , specifying a carbon double-bonded to an oxygen, characteristic of ketones, aldehydes, or carboxylic acids. For branched structures, the pattern CC(=O)O represents acetic acid, where the first C denotes a connected to a central carbon that forms a with oxygen (=O) and a to a hydroxyl (O). This uses branching notation with parentheses to specify the attachments around the carbonyl carbon. Cyclic patterns leverage ring closure digits; for instance, c1ccccc1 matches as an aromatic six-membered ring, with lowercase letters indicating aromatic atoms and the digit 1 . This aromatic query distinguishes it from aliphatic cycles. Logical operators refine properties, such as [N&+0] for a neutral atom, where & enforces the condition of zero charge (+0) alongside the default valence. Recursive definitions allow specifying repeating motifs; a basic example is $(CC), which matches an ethylene repeat unit by recursively querying two connected aliphatic carbons (CC), useful for identifying polymer-like chains.

Applications in Cheminformatics

SMARTS plays a central role in substructure searching within cheminformatics, enabling the identification of specific molecular patterns in large databases. For instance, querying the PubChem database with the SMARTS pattern [NH2] retrieves all compounds containing primary amine groups, facilitating the discovery of molecules with desired functional groups. This capability is essential for screening chemical libraries to find hits that match predefined substructural motifs, as substructure searching identifies molecules where the query pattern appears as a subgraph. In similarity and pharmacophore modeling, SMARTS patterns are combined to define key pharmacophoric features, such as hydrogen bond donors or acceptors, which support scaffold hopping by identifying structurally diverse analogs with retained bioactivity. models labeled using SMARTS-encoded definitions allow for the alignment of molecular features independent of the core , enabling the exploration of novel chemical spaces while preserving essential interactions. This approach has been integrated into ligand-based modeling workflows to generate 3D pharmacophore fingerprints for virtual ligand screening. Reaction mapping in cheminformatics leverages SMIRKS, an extension of SMARTS, where atom variables track specific atoms across reactants and products to delineate transformation pathways. By assigning variables like [C:1] to reactive centers, SMIRKS enables precise enumeration of reaction outcomes and validation of synthetic routes in combinatorial library design. This method supports automated reaction prediction and retrosynthesis by mapping bond changes and stereochemistry. SMARTS integrates into broader cheminformatics workflows for and prediction through pattern-based filtering. In , substructure queries using SMARTS pre-filter large compound collections to enrich for potential actives, accelerating hit identification in pipelines. For assessment, SMARTS-defined structural alerts, such as those for reactive moieties, screen libraries to flag potential hazards, as demonstrated in analyses of the Tox21 10K library where patterns predict endpoints like mutagenicity. These applications enhance efficiency by combining rule-based matching with models for predictive toxicology. As of , SMARTS has seen increased integration with and in cheminformatics. For example, tools like ProPreT5 utilize SMARTS notation in transformer models for predicting products, while SMARTS-RX extends patterns for reactivity analysis in pharmaceutical applications. Additionally, platforms such as SmartChemist and ChemoDOTS employ SMARTS for substructure identification and focused library design in workflows.

Implementation and Extensions

Software Support

The Daylight Toolkit offers the original implementation of SMARTS parsing and substructure matching capabilities, with support for SMARTS search functions introduced in 1996. This commercial C-based library enables efficient pattern optimization and querying for molecular substructures in large databases. Among open-source options, RDKit provides robust SMARTS support through its Python and C++ interfaces, allowing for pattern matching, substructure searching, and integration into cheminformatics workflows. OEChem, developed by OpenEye Scientific, extends SMARTS functionality for enterprise-scale applications, including high-performance parsing and matching in drug discovery pipelines. Commercial tools include ChemAxon's Marvin suite, which integrates SMARTS for structure querying, editing, and export in graphical and programmatic environments. Accelrys' Pipeline Pilot (now Pipeline Pilot) incorporates SMARTS via its Cheminformatics Collection, supporting automated substructure analysis and data processing in scientific workflows. Web-based tools facilitate accessible SMARTS querying; PubChem's interface allows users to perform substructure searches using SMARTS patterns alongside SMILES inputs for compound retrieval. Similarly, provides SMARTS-based substructure search capabilities through its integration with SureChEMBL and RDKit, enabling pattern matching against bioactive molecule databases.

Limitations and Future Directions

One key limitation of SMARTS lies in its handling of , where native support is restricted to basic tetrahedral configurations and does not extend to advanced features such as unspecified or complex spatial arrangements, as these are often considered inherent properties incompatible with the primarily 2D-oriented line notation. Similarly, challenges arise with very large molecules, where the notation's linear structure struggles to efficiently represent extensive without fragmentation, leading to cumbersome expressions and potential errors in implementations. Additionally, recursive definitions in SMARTS introduce ambiguity regarding depth control, as unbounded can result in unintended infinite expansions or inconsistent matching behaviors across software parsers. Performance bottlenecks further constrain SMARTS applications, particularly in substructure searches on expansive databases, where complex queries can incur time complexity due to the underlying NP-complete nature of subgraph problems. This scaling issue becomes pronounced with intricate patterns involving logical operators or deep , often necessitating preprocessing or algorithmic optimizations to maintain feasibility in cheminformatics workflows. Looking ahead, future enhancements for SMARTS include proposals like BigSMILES, which extend the notation to better accommodate biomacromolecules and polymers by incorporating stochastic and ensemble representations, addressing gaps in handling macromolecular variability. Integration with offers promising avenues for automated pattern generation, such as evolutionary algorithms that evolve interpretable SMARTS-based molecular descriptors tailored to specific predictive tasks. efforts through IUPAC's SMILES+ project aim to formalize and unify interpretations of SMILES-derived notations like SMARTS, potentially resolving ambiguities and enabling broader interoperability. As an alternative for structural representation, the InChI system provides a layered, encoding for complete molecules but lacks the query flexibility of SMARTS for substructure specification.

References

  1. [1]
    4. SMARTS - A Language for Describing Molecular Patterns - Daylight
    SMARTS is a language for specifying substructures in molecules, using rules extended from SMILES, and is used for substructure searching.
  2. [2]
    Jmol SMILES and Jmol SMARTS: specifications and applications
    Sep 26, 2016 · The Simplified Molecular-Input Line-Entry System (SMILES) [1–3] and SMILES Arbitrary Target Specification (SMARTS) [4, 5] have been of ...
  3. [3]
    How to use SMARTS and SMILES in Mercury and the CSD Python API
    Dec 6, 2021 · SMARTS stands for SMiles ARbitrary Target Specification. They are like SMILES, but can be used to express substructures and patterns. They ...
  4. [4]
    SMARTS.plus – A Toolbox for Chemical Pattern Design - PMC
    Invented in the late 80s by Daylight Information Systems, today, the SMARTS language is the quasi‐standard for the description of chemical patterns.
  5. [5]
    Cheminformatics - an overview | ScienceDirect Topics
    SMARTS (SMILES arbitrary target specification) enables substructure searches on SMILES strings, while SMIRKS describes generic reactions using 'reactant to ...
  6. [6]
    a tribute to David Weininger, 1952–2016
    Feb 3, 2018 · By this time Dave had also developed a scheme to translate any input SMILES into a unique SMILES and formalized the SMARTS substructure ...
  7. [7]
    An Introduction to Daylight
    The Daylight Toolkit provides a chemical-information infrastructure allowing programmers to get directly to their unique chemical problems and achieve project ...
  8. [8]
    SMARTS Examples - Daylight
    This document provides example SMARTS queries for searches, including functional groups by element, and examples like alkane, alkene, and carbonyl.
  9. [9]
    SMARTS Tutorial - Daylight
    In SMARTS, the wildcard atom ,"*", matches all atoms. It won't hit hydrogens which are merely properties of heavy atoms. 3. Bonds. SMARTS, Hits SMILES: Note ...ناقصة: variables | عرض نتائج تتضمّن:variables
  10. [10]
    The PubChem Compound Help
    Substructure search allows one to locate chemical structures that contain a particular connectivity and valence-bond (i.e., bond order) pattern. For example, a ...Compound Name/Text Search · Identity and Similarity Search · Substructure and...
  11. [11]
    PubChem structure search - NIH
    PubChem Structure Search allows the PubChem Compound Database to be queried by chemical structure or chemical structure pattern.<|control11|><|separator|>
  12. [12]
    Ligand-Based Pharmacophore Modeling Using Novel 3D ... - NIH
    Nov 27, 2018 · A particular conformer of a compound is labeled with pharmacophore features using definitions encoded by SMARTS adapted from [14]. A single ...
  13. [13]
    Daylight Theory: SMIRKS - A Reaction Transform Language
    SMIRKS is a language for generic reactions, a hybrid of SMILES and SMARTS, used to express reaction graphs and indirect effects.
  14. [14]
    Ambit-SMIRKS: a software module for reaction representation ...
    Aug 20, 2018 · RDKit [19] supports application of chemical reactions to sets of molecules by using a SMARTS-based language similar to daylight's reaction ...
  15. [15]
    Computational toxicology methods in chemical library design ... - NIH
    Structural alerts in the form of SMARTS patterns are generated and can be used to screen individual compounds for toxicity prediction or to pre-filter libraries ...
  16. [16]
    [PDF] Daylight Toolkit Programmers' Guide
    (This is an example of a recursive SMARTS.) Binding patterns to names doesn't extend the expressive power of SMARTS (unnamed vectors such as [$(C[Cl,Br,I])] ...
  17. [17]
    The RDKit Book — The RDKit 2025.09.2 documentation
    dative bonds (only if dative bonds are not also being written to the SMILES/SMARTS) ... bond order from the reactant, use an “Any” bond: >>> rxn = AllChem ...
  18. [18]
    SMARTS Pattern Matching — Toolkits -- Python
    SMARTS is a line notation developed by Daylight Chemical Information Systems for compactly representing molecular substructure queries.Missing: ranges | Show results with:ranges
  19. [19]
    SMARTS - Chemaxon Docs
    Chemaxon products import and export SMARTS strings with the following features: Full-functional (editable) query features.Missing: syntax | Show results with:syntax
  20. [20]
    Accelrys Inc. Releases Cheminformatics Collection for Pipeline Pilot
    Apr 14, 2009 · The Cheminformatics Collection is designed to support the development of enterprise cheminformatics systems and applications using Pipeline ...
  21. [21]
    SMARTS search | SureChEMBL - ChEMBL Interface Documentation
    Dec 4, 2023 · Below are the SMARTS descriptions used by SureChEMBL that would indicate whether a compound would match one or more structural alerts.Missing: capabilities | Show results with:capabilities
  22. [22]
    Jmol SMILES and Jmol SMARTS: specifications and applications
    Sep 26, 2016 · Background. SMILES and SMARTS are two well-defined structure matching languages that have gained wide use in cheminformatics.
  23. [23]
    Tips for speeding up SMARTS matching on large molecules? #3939
    Mar 18, 2021 · This requires doing SMARTS searches on a large RDMol, which takes a while. I was wondering if any folks here had tips for improving the runtime ...Missing: challenges | Show results with:challenges
  24. [24]
    Systematic benchmark of substructure search in molecular graphs
    Jul 31, 2012 · In this study, all substructures are formulated as SMARTS expressions. Methods. The Ullmann and the VF2 algorithms are two algorithms that solve ...
  25. [25]
    BigSMILES: A Structurally-Based Line Notation for Describing ...
    Sep 12, 2019 · BigSMILES, a line notation that supports intrinsically stochastic molecules on top of the simplified molecular-input line-entry system (SMILES), is presented ...Missing: ++ biomacromolecules
  26. [26]
    An evolutionary algorithm for interpretable molecular representations
    May 9, 2024 · As an alternative, we envisioned an evolutionary algorithm to generate problem-specific SMARTS-based representations as they are known to ...
  27. [27]
    IUPAC SMILES+ Specification
    This project seeks to establish a formalized recommended up-to-date specification of the SMILES format.