Canonicalization in the context of InChI refers to the process of generating a unique canonical representation of the molecular graph. The canonical representation is invariant to certain transformations and leads to a unique atom numbering scheme that is independent of the arbitrary labeling of the atoms in the original molfile and represents the chemical structure as a bijective graph reflecting the inherent connectivity of the molecule. To reach that goal multiple methods are involved including an implementation of the Morgan algorithm. Before canonicalization, there are several internal steps that are carried out on the processed chemical compound. These steps, which may also be called as pre-canonicalization steps, include: