Skip to main content

Moltric Molecular Metric

Project description

For installation of Moltric, use pip: pip install moltric

For questions or suggestions for features to add, contact Kazuumi Fujioka: kazuumi@hawaii.edu

How do you best overlap two molecules? How do we order the atoms?

Finding the best algorithm to do this is a Holy Grail

Many groups have searched for this, but improvements are constantly being made:

Comparing Software

A few benchmarks will be compared over:

  • C10H9 (Bimolecular Reaction of CH + C9H8 and C2H4 + C8H5)
  • H3CS (Bimolecular Reaction of CH + H2S)
  • H5CBr (Bimolecular Reaction of HBr+ + CH4)
  • Ne20 (20-atom Subsets of a Neon200 Cluster) [source]
  • Ne180 (180-atom Subsets of a Neon200 Cluster) [source]
  • FGG (FGG tripeptide C13H17N3O4 Conformers) [source]
  • BsMaWa (Bisulfate-Methylammonium-Water Cluster CH9NO5S Conformers) [source]

Usage:

Comparing two sets of molecules:

From a terminal, prepare two xyz files of the two sets of molecules. Then call Moltric, like so:

moltric/moltric.py examples/fromFujioka_CH.indene_19atoms.xyz examples/fromFujioka_CH.indene_19atoms.xyz

this produces:

# Number of points found in 'examples/fromFujioka_CH.indene_19atoms.xyz': 81
# Number of points found in 'examples/fromFujioka_CH.indene_19atoms.xyz': 81
#    i    j      DMD
     0    0      0.0000
     0    1      2.1084
     0    2      3.9254
     0    3      3.9358
     0    4      1.7824
     0    5      2.6834
     0    6      5.1325
     0    7      3.6761
     0    8      6.9604
     0    9      2.2738
.
.
.

Benchmarking different molecule alignments for RMSD:

Moltric and other methods can be compared with compare_methods.py from the terminal on an example xyz file:

cat examples/fromFujioka_CH.indene_19atoms.xyz | moltric/compare_methods.py 0.00001 output.xyz

this produces:

.
.
.
 DMDbound#      i      j    ArbAlign    OTMol MolAlign  Umeyama      FAQ    GOATf     GOAT   minimum (Nf) (N)
Adding index        0 to the training set ...   Sparsity 1.0000  = 1/1
   1.5928#      1      0     25.4432  31.6604  19.0167  13.8631  17.9570  21.2356   4.2362    4.2362 (21) (467)
Adding index        1 to the training set ...   Sparsity 1.0000  = 2/2
   2.4458#      2      0     39.6316  29.3163  32.7360  11.1385  26.1334  21.7794   5.2278    5.2278 (26) (482)
   1.7212#      2      1     33.6609  12.9877   9.0464   3.5600   3.5600   3.5600   3.5600    3.5600 (18) (389)
Adding index        2 to the training set ...   Sparsity 1.0000  = 3/3
   1.8722#      3      0     33.3322  21.9517  28.5810   9.6538  21.7277  21.1000   4.4000    4.4000 (20) (449)
   1.5957#      3      1     24.4360  17.1308  17.4071   3.6724   3.6724   3.6724   3.6724    3.6724 (16) (403)
   0.9671#      3      2     29.2970  22.7893  20.3330   2.0084   2.0084   2.0084   2.0084    2.0084 (18) (474)
Adding index        3 to the training set ...   Sparsity 1.0000  = 4/4
   2.8128#      4      0     41.7131  22.6670  23.5538  11.3122  23.8455  22.5683   6.1147    6.1147 (21) (461)
   2.3773#      4      1     34.7580  31.9236  32.2770   4.3386   4.3386   4.3386   4.3386    4.3386 (17) (390)
   0.3376#      4      2      8.8606   6.1540  15.8762   0.7083   0.7083   0.7083   0.7083    0.7083 (18) (385)
   0.7713#      4      3     17.4316   4.9512   8.0874   1.3402   1.3402   1.3402   1.3402    1.3402 (17) (360)
Adding index        4 to the training set ...   Sparsity 1.0000  = 5/5
   0.9072#      5      0     19.7347  18.7131  22.0875   2.7445  14.5171  14.5171   2.4299    2.4299 (18) (432)
   0.9114#      5      1     19.6808   3.3077   3.3077  12.6573   3.3077   3.3077   1.8983    1.8983 (16) (366)
   1.9796#      5      2     37.5165   9.5294  11.2601  14.6674   8.1114   6.3697   4.8420    4.8420 (18) (396)
   1.6283#      5      3     23.7955  15.7882  18.5697   9.7445   5.6637   5.6637   4.1777    4.1777 (17) (443)
   2.3768#      5      4     43.0193  24.0932  29.3850  19.2532   6.4887   6.4887   5.0040    5.0040 (17) (396)
.
.
.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moltric-0.0.2.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moltric-0.0.2-py3-none-any.whl (43.4 kB view details)

Uploaded Python 3

File details

Details for the file moltric-0.0.2.tar.gz.

File metadata

  • Download URL: moltric-0.0.2.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for moltric-0.0.2.tar.gz
Algorithm Hash digest
SHA256 aba4b97ace61e1d0a7c4918604c25579bf41de8019a9ae12a1f6c088c43e164b
MD5 5687ab9bda931201c7c82e05fc18e7f0
BLAKE2b-256 6c981d6979976693b15f3e120905388a4b7f96a3f8f8c35a84c548c01373c06e

See more details on using hashes here.

Provenance

The following attestation bundles were made for moltric-0.0.2.tar.gz:

Publisher: publish.yml on kaka-zuumi/Moltric

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file moltric-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: moltric-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 43.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for moltric-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 769f55cdf2eafdeb46810f26302e2659959421494552e4df8257e094fce92210
MD5 2ff5ae11e4fcbf4b759f8020766ce089
BLAKE2b-256 ec1102f052b69dc7b0374078debfffd8f96f3e150ecd26216b4b9a21d92dbade

See more details on using hashes here.

Provenance

The following attestation bundles were made for moltric-0.0.2-py3-none-any.whl:

Publisher: publish.yml on kaka-zuumi/Moltric

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page