The exact behaviour for a builder is implementation-specific. So far, two
The exact behaviour for a processor is implementation-specific. So far, two
classes implement the Builder interface: A heuristic and a rule-based builder. The builders mainly differ in the source of their connectivity information. The
classes implement the processor interface: A heuristic and a rule-based processor.
HeuristicBuilder uses a hard-coded heuristic connectivity table for the 20
The processor mainly differ in the source of their connectivity information. The
Heuristicprocessor uses a hard-coded heuristic connectivity table for the 20
standard amino acids as well as nucleotides.For other compounds such as ligands
standard amino acids as well as nucleotides.For other compounds such as ligands
the HeuristicBuilder runs a distance-based connectivity algorithm that connects
the HeuristicProcessor runs a distance-based connectivity algorithm that connects
two atoms if they are closer than a certain threshold. The RuleBasedBuilder
two atoms if they are closer than a certain threshold. The RuleBasedProcessor
uses a connectivity library containing all molecular components present in the
uses a connectivity library containing all molecular components present in the
PDB files on PDB.org. The library can easily be extended with custom
PDB files on PDB.org. The library can easily be extended with custom
connectivity information, if required. If a :doc:`compound library <compoundlib>` is present, the :class:`RuleBasedBuilder` is enabled by default, otherwise the :class:`HeuristicBuilder` is used as a fallback.
connectivity information, if required. If a :doc:`compound library <compoundlib>` is
present, the :class:`RuleBasedProcessor` is enabled by default, otherwise the
:class:`HeuristicProcessor` is used as a fallback.
The following 3 functions give you access to builders known to OpenStructure,