Module: Chemicalml::Convention::Cascade

Extended by:
Base
Defined in:
lib/chemicalml/convention/cascade.rb,
lib/chemicalml/convention/cascade/constraints.rb,
lib/chemicalml/convention/cascade/constraints/reaction_scheme_must_have_content.rb,
lib/chemicalml/convention/cascade/constraints/reaction_step_list_must_contain_steps.rb,
lib/chemicalml/convention/cascade/constraints/reaction_step_must_have_reaction_or_lists.rb,
lib/chemicalml/convention/cascade/constraints/reactive_centre_atom_refs_should_be_present.rb

Overview

The Cascade convention. A chemicalml-specific convention for CML reaction cascades — multi-step reaction networks encoded via <reactionScheme>, <reactionStepList>, <reactionStep>, <reaction>, and <reactiveCentre>.

Upstream CML does not publish a dedicated cascade convention; the wire elements exist in the XSD but no constraints guard their well-formedness. This convention covers the gaps:

  • reactionScheme MUST contain at least one reactionStepList or reaction (an empty scheme carries no cascade)
  • reactionStepList MUST contain at least one reactionStep
  • reactionStep MUST contain a reaction or explicit reactant/product lists (an empty step is a dead-end in the cascade)
  • reactiveCentre atomRefs SHOULD be parseable atom references (warning — gracefully degrades when context is missing)

Defined Under Namespace

Modules: Constraints

Constant Summary collapse

QNAME =
'convention:cascade'
NAMESPACE_URI =
"#{Chemicalml::Convention::CONVENTION_NAMESPACE}cascade".freeze

Class Method Summary collapse

Methods included from Base

constraint_count, constraints, namespace_uri, qname, register, reset_constraints!, validate, validate_report

Class Method Details

.namespace_uriObject



33
34
35
# File 'lib/chemicalml/convention/cascade.rb', line 33

def self.namespace_uri
  NAMESPACE_URI
end

.qnameObject



29
30
31
# File 'lib/chemicalml/convention/cascade.rb', line 29

def self.qname
  QNAME
end