Idris2Doc : Chem.AtomType

Chem.AtomType

(source)

Definitions

record AtomType : Type
  CDK atom types

Totality: total
Visibility: public export
Constructor: 
AT : String -> Nat -> Hybridization -> Nat -> Nat -> Nat -> AtomType

Projections:
.double : AtomType -> Nat
.hybridization : AtomType -> Hybridization
.lonePairCount : AtomType -> Nat
.name : AtomType -> String
.single : AtomType -> Nat
.triple : AtomType -> Nat

Hints:
Eq AtomType
Show AtomType
.name : AtomType -> String
Totality: total
Visibility: public export
name : AtomType -> String
Totality: total
Visibility: public export
.lonePairCount : AtomType -> Nat
Totality: total
Visibility: public export
lonePairCount : AtomType -> Nat
Totality: total
Visibility: public export
.hybridization : AtomType -> Hybridization
Totality: total
Visibility: public export
hybridization : AtomType -> Hybridization
Totality: total
Visibility: public export
.single : AtomType -> Nat
Totality: total
Visibility: public export
single : AtomType -> Nat
Totality: total
Visibility: public export
.double : AtomType -> Nat
Totality: total
Visibility: public export
double : AtomType -> Nat
Totality: total
Visibility: public export
.triple : AtomType -> Nat
Totality: total
Visibility: public export
triple : AtomType -> Nat
Totality: total
Visibility: public export
record Bonds : Type
  Counts of bond types connected to an atom

Totality: total
Visibility: public export
Constructor: 
BS : Nat -> Nat -> Nat -> Bonds

Projections:
.double : Bonds -> Nat
.single : Bonds -> Nat
.triple : Bonds -> Nat

Hints:
Eq Bonds
Monoid Bonds
Ord Bonds
Semigroup Bonds
Show Bonds
.single : Bonds -> Nat
Totality: total
Visibility: public export
single : Bonds -> Nat
Totality: total
Visibility: public export
.double : Bonds -> Nat
Totality: total
Visibility: public export
double : Bonds -> Nat
Totality: total
Visibility: public export
.triple : Bonds -> Nat
Totality: total
Visibility: public export
triple : Bonds -> Nat
Totality: total
Visibility: public export
toBonds : BondOrder -> Bonds
  Converts a single bond to a value of type `Bonds`

Totality: total
Visibility: export
addH : HCount -> Bonds -> Bonds
  Add single bonds from implicit hydrogens to the list of bonds
connected to an atom

Totality: total
Visibility: export
unknown : AtomType
  Placeholder for unknown atom types

We use this instead of returning an error type such
as a `Maybe` or an `Either` because it facilitates
writing algorithms with a certain tolerance for invalid
molecules

Totality: total
Visibility: export
hasPiBonds : Bonds -> Bool
Totality: total
Visibility: export
atomType : Elem -> Radical -> Charge -> Bonds -> AtomType
  Perceiving atom types

This is to be used if no implicit hydrogen atoms are given.
Implicit hydrogen count can then be determined from the atom type.

Totality: total
Visibility: export
atomTypeAndHydrogens : Elem -> Radical -> Charge -> Bonds -> (HCount, AtomType)
  General purpose atom type perception

This is to be used if no implicit hydrogen atoms are given
and these should be perceived from the atom type as well.

Totality: total
Visibility: export
exactAtomType : Elem -> Radical -> Charge -> Bonds -> AtomType
  Utility for those cases where the number of implict hydrogens
(if any) is already included in the number of bonds.

This returns `unknown` if the number of single bonds do not
match exactly.

Totality: total
Visibility: export
isInvalid : AtomType -> Bool
  True, if the given atom type is considered to be invalid.

Currently, the following atom types are considered to be invalid:
"unknown", "N.oxide", "N.sp2.3"

Totality: total
Visibility: export