diff --git a/.travis.yml b/.travis.yml index d2ff12da4f..ff3c46baf9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,7 @@ before_install: # - sudo apt-get install python-rdkit librdkit-dev librdkit1 rdkit-data - sudo apt-get install -qq python-numpy python-scipy python-matplotlib - cd .. + - git clone https://github.com/GreenGroup/RMG-database.git - git clone https://github.com/GreenGroup/PyDAS.git - git clone https://github.com/GreenGroup/PyDQED.git diff --git a/documentation/source/reference/molecule/adjlist.rst b/documentation/source/reference/molecule/adjlist.rst index cbfa481d01..d1dd780bdd 100644 --- a/documentation/source/reference/molecule/adjlist.rst +++ b/documentation/source/reference/molecule/adjlist.rst @@ -7,6 +7,15 @@ Adjacency Lists .. module:: rmgpy.molecule.adjlist + +.. note:: + The adjacency list syntax changed in July 2014. + The minimal requirement for most translations is to prefix the number + of unpaired electrons with the letter `u`. + The new syntax, however, allows much + greater flexibility, including definition of lone pairs, partial charges, + wildcards, and molecule multiplicities. + .. note:: To quickly visualize any adjacency list, or to generate an adjacency list from other types of molecular representations such as SMILES, InChI, or even common @@ -21,49 +30,100 @@ RMG -- but extended to allow for specification of extra semantic information. The first line of most adjacency lists is a unique identifier for the molecule or pattern the adjacency list represents. This is not strictly required, but is recommended in most cases. Generally the identifier should only use -alphanumeric characters and the underscore, as if an identifer in many popular +alphanumeric characters and the underscore, as if an identifier in many popular programming languages. However, strictly speaking any non-space ASCII character is allowed. -After the identifier line, each subsequent line describes a single atom and its +The subsequent lines may contain keyword-value pairs. Currently there is only +one keyword, ``multiplicity``. + +For species or molecule declarations, the value after ``multiplicity`` defines +the spin multiplicity of the molecule. E.g. ``multiplicity 1`` for most ground state +closed shell species, ``multiplicity 2`` for most radical species, +and ``multiplicity 3`` for a triplet biradical. +If the ``multiplicity`` line is not present then a value of +(1 + number of unpaired electrons) is assumed. +Thus, it can usually be omitted, but if present can be used to distinguish, +for example, singlet CH2 from triplet CH2. + +If defining a Functional :class:`~rmgpy.molecule.Group`, then the value must be a list, +which defines the multiplicities that will be matched by the group, eg. +``multiplicity [1,2,3,4,5]`` or, for a single value, ``multiplicity [1]``. +If the multiplicity line is omitted, then ``multiplicity [1,2,3,4,5]`` is assumed. + +After the identifier line and keyword-value lines, +each subsequent line describes a single atom and its local bond structure. The format of these lines is a whitespace-delimited list with tokens :: - [