Package schrodinger :: Package application :: Package combiglide :: Package packages :: Module classification_scheme
[hide private]
[frames] | no frames]

Module classification_scheme

A module to implement a particular type of classification scheme.

The scheme consists of a set of node names at various levels. For example, the scheme might look like this:

           3          Root node; Parent of 2
           |
           2          Child of Root node, Parent of 1a, 1b
          / \
         1a 1b        Children of 2, Parents of 0
          \ /
           0          Child of 0

This shows that the scheme could contain cycles; it is not a pure hierarchy. The structure of the scheme and the names of the nodes are given when a Scheme object is initialized. The names 0, 1a, etc. are merely illustrative. Also, the scheme has the concept of levels. Above, there are four levels, which for discussion we will refer to as level 0, 1, 2 and 3.

The classification itself is provided by an external module. An item, to be inserted into the scheme, is registered with a list of names, one for each node in the scheme. The names are the names of the classes into which each item falls in each node.

It is expected that at the lowest level, each item's name will be unique; that is, it resides in a class by itself. For example, for a chemical structure, the name at the lowest level might be its canonical SMILES. Except at the lowest level (called 0 above), the classes are in effect mere containers. Thus, what we mean by an "item" is the sole member of a class at the lowest level. Finally, the lowest and highest level must each consist of only a single node.

Every node contains all the items in the data set. Within each node, the classes tile all the items in the data set. That is every node contains a set of classes; the union of the items contained in a node's classes is the set of all the items registered in the scheme and the intersection of any pair of classes within a node is the null set.

The term "item" is used as a synonym for a _Class object at the lowest level of the hierarchy.

All the node names must be unique and within each node, all the class names must be unique.

Classes [hide private]
  Scheme
Class that stores the structure of the classification scheme.
  _Node
A node in the classification scheme.
  _Class
A Class in the classification scheme.
Variables [hide private]
  __package__ = 'schrodinger.application.combiglide.packages'