Theoretical and Computational Chemistry

PoreMatMod.jl: Julia package for in silico post-synthetic modification of crystal structure models



PoreMatMod.jl is a free, open-source, user-friendly, and documented Julia package for modifying crystal structure models of porous materials such as metal-organic frameworks (MOFs). PoreMatMod.jl functions as a find-and-replace algorithm on crystal structures by leveraging (i) Ullmann's algorithm to search for subgraphs of the crystal structure graph that are isomorphic to the graph of a query fragment and (ii) the orthogonal Procrustes algorithm to align a replacement fragment with a targeted substructure of the crystal structure for installation. The prominent application of PoreMatMod.jl is to generate libraries of hypothetical structures for virtual screenings via molecular simulations. For example, one can install functional groups on the linkers of a parent MOF, mimicking post-synthetic modification. Other applications of PoreMatMod.jl to modify crystal structure models include introducing defects and correcting artifacts of X-ray structure determination (adding missing hydrogen atoms, resolving disorder, and removing guest molecules).


Thumbnail image of PoreMatMod main.pdf

Supplementary material

Thumbnail image of PoreMatMod SI.pdf
SI text
shows the run time of PoreMatMod.jl

Supplementary weblinks

Github repo
the Github repository containing the source code, examples, and documentation.