diff --git a/examples/create_o2_box.py b/examples/create_o2_box.py index e439a82..1c9d199 100644 --- a/examples/create_o2_box.py +++ b/examples/create_o2_box.py @@ -1,6 +1,7 @@ from molbox import Box, MolBox from molbox.lammps_data import write_lammps_data from molbox.rdkit_3d_ops import create_3d_mol_from_smiles, rotate_mol +from rdkit import Chem from scipy.spatial.transform import Rotation @@ -10,9 +11,10 @@ def main(): o2_mol = create_3d_mol_from_smiles("O=O") num_mols = 32 for _ in range(num_mols): - rotation = Rotation.random(random_state=42) + rotation = Rotation.random() new_mol = rotate_mol(o2_mol, rotation, "COM") o2_box.add_mol_randomly(new_mol) + Chem.MolToMolFile(o2_box.mol, "examples/o2_box.mol") write_lammps_data(o2_box, "examples/o2_box.lmpdat") diff --git a/examples/o2_box.lmpdat b/examples/o2_box.lmpdat index a7f445b..a670400 100644 --- a/examples/o2_box.lmpdat +++ b/examples/o2_box.lmpdat @@ -22,70 +22,70 @@ Masses Atoms -1 1 1 -0.82000 1.51000 5.87950 0.49750 # O -2 1 1 -0.82000 0.69680 5.17790 0.09060 # O -3 2 1 -0.82000 4.20060 3.43600 5.64340 # O -4 2 1 -0.82000 3.38740 2.73440 5.23650 # O -5 3 1 -0.82000 6.92550 2.54890 7.92870 # O -6 3 1 -0.82000 6.11230 1.84730 7.52180 # O -7 4 1 -0.82000 1.04960 2.04430 9.01030 # O -8 4 1 -0.82000 0.23630 1.34270 8.60340 # O -9 5 1 -0.82000 9.82850 6.71930 5.19770 # O -10 5 1 -0.82000 9.01520 6.01770 4.79080 # O -11 6 1 -0.82000 4.89740 9.03610 9.23920 # O -12 6 1 -0.82000 4.08410 8.33460 8.83230 # O -13 7 1 -0.82000 5.28020 1.04250 1.29220 # O -14 7 1 -0.82000 4.46700 0.34100 0.88530 # O -15 8 1 -0.82000 8.04630 1.41080 6.04210 # O -16 8 1 -0.82000 7.23300 0.70930 5.63520 # O -17 9 1 -0.82000 5.51180 2.00770 8.04880 # O -18 9 1 -0.82000 4.69850 1.30610 7.64190 # O -19 10 1 -0.82000 5.38230 7.34780 8.09130 # O -20 10 1 -0.82000 4.56900 6.64630 7.68440 # O -21 11 1 -0.82000 5.89290 5.20160 1.83530 # O -22 11 1 -0.82000 5.07960 4.50000 1.42840 # O -23 12 1 -0.82000 9.83060 9.62740 3.23710 # O -24 12 1 -0.82000 9.01730 8.92580 2.83020 # O -25 13 1 -0.82000 5.29960 4.79080 8.92640 # O -26 13 1 -0.82000 4.48630 4.08920 8.51950 # O -27 14 1 -0.82000 2.50350 3.92090 8.77710 # O -28 14 1 -0.82000 1.69030 3.21940 8.37020 # O -29 15 1 -0.82000 7.28740 7.11910 1.97060 # O -30 15 1 -0.82000 6.47410 6.41760 1.56370 # O -31 16 1 -0.82000 1.65600 2.75270 0.93320 # O -32 16 1 -0.82000 0.84280 2.05110 0.52630 # O -33 17 1 -0.82000 8.21960 8.82360 2.02200 # O -34 17 1 -0.82000 7.40640 8.12200 1.61500 # O -35 18 1 -0.82000 9.95430 8.25970 7.03280 # O -36 18 1 -0.82000 9.14100 7.55810 6.62590 # O -37 19 1 -0.82000 7.72650 0.91710 8.71080 # O -38 19 1 -0.82000 6.91320 0.21550 8.30390 # O -39 20 1 -0.82000 7.42150 8.85070 6.34540 # O -40 20 1 -0.82000 6.60820 8.14910 5.93850 # O -41 21 1 -0.82000 5.06700 9.05260 9.11020 # O -42 21 1 -0.82000 4.25370 8.35100 8.70330 # O -43 22 1 -0.82000 1.91460 3.79480 2.25130 # O -44 22 1 -0.82000 1.10130 3.09330 1.84440 # O -45 23 1 -0.82000 8.16410 4.65750 2.33390 # O -46 23 1 -0.82000 7.35080 3.95600 1.92700 # O -47 24 1 -0.82000 4.00130 1.07330 1.79300 # O -48 24 1 -0.82000 3.18810 0.37170 1.38610 # O -49 25 1 -0.82000 6.39820 1.85540 5.68050 # O -50 25 1 -0.82000 5.58500 1.15380 5.27360 # O -51 26 1 -0.82000 7.76260 5.98560 9.63870 # O -52 26 1 -0.82000 6.94940 5.28400 9.23180 # O -53 27 1 -0.82000 6.21240 2.10670 0.49840 # O -54 27 1 -0.82000 5.39910 1.40520 0.09150 # O -55 28 1 -0.82000 3.63120 0.80060 9.20380 # O -56 28 1 -0.82000 2.81790 0.09900 8.79680 # O -57 29 1 -0.82000 4.87080 9.67330 1.89420 # O -58 29 1 -0.82000 4.05750 8.97170 1.48730 # O -59 30 1 -0.82000 1.81820 0.85510 6.82080 # O -60 30 1 -0.82000 1.00500 0.15350 6.41390 # O -61 31 1 -0.82000 4.86710 6.83020 6.40010 # O -62 31 1 -0.82000 4.05390 6.12860 5.99320 # O -63 32 1 -0.82000 4.71830 4.93120 9.63850 # O -64 32 1 -0.82000 3.90500 4.22960 9.23160 # O +1 1 1 -0.82000 6.90450 5.23720 6.49140 # O +2 1 1 -0.82000 7.10250 4.64310 5.52860 # O +3 2 1 -0.82000 2.38430 4.54550 1.62670 # O +4 2 1 -0.82000 1.46290 4.81410 0.99570 # O +5 3 1 -0.82000 8.47940 2.49120 2.42370 # O +6 3 1 -0.82000 8.30130 3.58670 2.71930 # O +7 4 1 -0.82000 2.11440 3.59610 7.71730 # O +8 4 1 -0.82000 1.01320 3.73940 7.42370 # O +9 5 1 -0.82000 2.85860 7.35000 5.82650 # O +10 5 1 -0.82000 2.55520 8.37580 6.24470 # O +11 6 1 -0.82000 4.01490 7.19160 9.32840 # O +12 6 1 -0.82000 4.16630 6.20020 8.76870 # O +13 7 1 -0.82000 1.54920 2.19380 6.35620 # O +14 7 1 -0.82000 2.27360 1.54400 6.96630 # O +15 8 1 -0.82000 3.19730 3.44040 5.82690 # O +16 8 1 -0.82000 2.38670 2.82430 6.35850 # O +17 9 1 -0.82000 2.96030 2.58010 6.05130 # O +18 9 1 -0.82000 2.79710 2.33920 4.94020 # O +19 10 1 -0.82000 9.71520 1.94650 0.99180 # O +20 10 1 -0.82000 9.44010 0.85010 1.19550 # O +21 11 1 -0.82000 3.06770 3.30350 8.54490 # O +22 11 1 -0.82000 2.73920 3.34820 9.64450 # O +23 12 1 -0.82000 6.48700 0.36360 7.19200 # O +24 12 1 -0.82000 5.87300 1.32990 7.28380 # O +25 13 1 -0.82000 8.88380 4.01260 4.02690 # O +26 13 1 -0.82000 8.53170 3.17830 3.32050 # O +27 14 1 -0.82000 1.36480 3.67210 8.92880 # O +28 14 1 -0.82000 1.73620 3.69300 7.84220 # O +29 15 1 -0.82000 0.78520 6.41470 3.69760 # O +30 15 1 -0.82000 0.31480 7.45150 3.84910 # O +31 16 1 -0.82000 0.57190 0.57620 8.20900 # O +32 16 1 -0.82000 1.14700 0.55780 9.20300 # O +33 17 1 -0.82000 8.36540 8.86050 5.54070 # O +34 17 1 -0.82000 8.77890 9.65910 4.82620 # O +35 18 1 -0.82000 5.10150 6.62530 2.94410 # O +36 18 1 -0.82000 5.98610 6.78410 3.65920 # O +37 19 1 -0.82000 4.75900 7.12220 4.34040 # O +38 19 1 -0.82000 4.46750 8.22350 4.19460 # O +39 20 1 -0.82000 7.34780 7.99790 4.84200 # O +40 20 1 -0.82000 7.24200 6.96390 4.35330 # O +41 21 1 -0.82000 3.25490 4.39510 5.21520 # O +42 21 1 -0.82000 2.33090 4.99370 5.54240 # O +43 22 1 -0.82000 7.92470 8.01840 0.80820 # O +44 22 1 -0.82000 7.93400 6.87390 0.71290 # O +45 23 1 -0.82000 6.22460 8.87810 6.48960 # O +46 23 1 -0.82000 6.50240 8.53260 5.43010 # O +47 24 1 -0.82000 4.02890 4.43300 7.49050 # O +48 24 1 -0.82000 2.92010 4.72160 7.41080 # O +49 25 1 -0.82000 6.66310 6.67840 7.61370 # O +50 25 1 -0.82000 5.91920 5.86720 7.94200 # O +51 26 1 -0.82000 9.51210 8.45910 7.02870 # O +52 26 1 -0.82000 8.92810 9.41000 6.75680 # O +53 27 1 -0.82000 9.15020 2.21150 5.52630 # O +54 27 1 -0.82000 9.07360 1.10950 5.84100 # O +55 28 1 -0.82000 9.40050 9.44570 1.91290 # O +56 28 1 -0.82000 9.26640 9.05630 0.84070 # O +57 29 1 -0.82000 8.30820 1.24210 6.11150 # O +58 29 1 -0.82000 8.25310 1.66800 7.17680 # O +59 30 1 -0.82000 5.85860 9.61010 1.51910 # O +60 30 1 -0.82000 6.85080 9.21020 1.93750 # O +61 31 1 -0.82000 9.51230 4.02790 0.12790 # O +62 31 1 -0.82000 8.80700 3.36600 0.74730 # O +63 32 1 -0.82000 6.64700 1.76700 5.62250 # O +64 32 1 -0.82000 6.26970 0.70250 5.41330 # O Bonds diff --git a/examples/o2_box.mol b/examples/o2_box.mol new file mode 100644 index 0000000..d0ede60 --- /dev/null +++ b/examples/o2_box.mol @@ -0,0 +1,101 @@ + + RDKit 3D + + 64 32 0 0 0 0 0 0 0 0999 V2000 + 6.9045 5.2372 6.4914 O 0 0 0 0 0 0 0 0 0 0 0 0 + 7.1025 4.6431 5.5286 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.3843 4.5455 1.6267 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.4629 4.8141 0.9957 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.4794 2.4912 2.4237 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.3013 3.5867 2.7193 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.1144 3.5961 7.7173 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0132 3.7394 7.4237 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.8586 7.3500 5.8265 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.5552 8.3758 6.2447 O 0 0 0 0 0 0 0 0 0 0 0 0 + 4.0149 7.1916 9.3284 O 0 0 0 0 0 0 0 0 0 0 0 0 + 4.1663 6.2002 8.7687 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.5492 2.1938 6.3562 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.2736 1.5440 6.9663 O 0 0 0 0 0 0 0 0 0 0 0 0 + 3.1973 3.4404 5.8269 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.3867 2.8243 6.3585 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.9603 2.5801 6.0513 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.7971 2.3392 4.9402 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.7152 1.9465 0.9918 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.4401 0.8501 1.1955 O 0 0 0 0 0 0 0 0 0 0 0 0 + 3.0677 3.3035 8.5449 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.7392 3.3482 9.6445 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.4870 0.3636 7.1920 O 0 0 0 0 0 0 0 0 0 0 0 0 + 5.8730 1.3299 7.2838 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.8838 4.0126 4.0269 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.5317 3.1783 3.3205 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.3648 3.6721 8.9288 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.7362 3.6930 7.8422 O 0 0 0 0 0 0 0 0 0 0 0 0 + 0.7852 6.4147 3.6976 O 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3148 7.4515 3.8491 O 0 0 0 0 0 0 0 0 0 0 0 0 + 0.5719 0.5762 8.2090 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1.1470 0.5578 9.2030 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.3654 8.8605 5.5407 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.7789 9.6591 4.8262 O 0 0 0 0 0 0 0 0 0 0 0 0 + 5.1015 6.6253 2.9441 O 0 0 0 0 0 0 0 0 0 0 0 0 + 5.9861 6.7841 3.6592 O 0 0 0 0 0 0 0 0 0 0 0 0 + 4.7590 7.1222 4.3404 O 0 0 0 0 0 0 0 0 0 0 0 0 + 4.4675 8.2235 4.1946 O 0 0 0 0 0 0 0 0 0 0 0 0 + 7.3478 7.9979 4.8420 O 0 0 0 0 0 0 0 0 0 0 0 0 + 7.2420 6.9639 4.3533 O 0 0 0 0 0 0 0 0 0 0 0 0 + 3.2549 4.3951 5.2152 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.3309 4.9937 5.5424 O 0 0 0 0 0 0 0 0 0 0 0 0 + 7.9247 8.0184 0.8082 O 0 0 0 0 0 0 0 0 0 0 0 0 + 7.9340 6.8739 0.7129 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.2246 8.8781 6.4896 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.5024 8.5326 5.4301 O 0 0 0 0 0 0 0 0 0 0 0 0 + 4.0289 4.4330 7.4905 O 0 0 0 0 0 0 0 0 0 0 0 0 + 2.9201 4.7216 7.4108 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.6631 6.6784 7.6137 O 0 0 0 0 0 0 0 0 0 0 0 0 + 5.9192 5.8672 7.9420 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.5121 8.4591 7.0287 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.9281 9.4100 6.7568 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.1502 2.2115 5.5263 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.0736 1.1095 5.8410 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.4005 9.4457 1.9129 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.2664 9.0563 0.8407 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.3082 1.2421 6.1115 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.2531 1.6680 7.1768 O 0 0 0 0 0 0 0 0 0 0 0 0 + 5.8586 9.6101 1.5191 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.8508 9.2102 1.9375 O 0 0 0 0 0 0 0 0 0 0 0 0 + 9.5123 4.0279 0.1279 O 0 0 0 0 0 0 0 0 0 0 0 0 + 8.8070 3.3660 0.7473 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.6470 1.7670 5.6225 O 0 0 0 0 0 0 0 0 0 0 0 0 + 6.2697 0.7025 5.4133 O 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 2 0 + 3 4 2 0 + 5 6 2 0 + 7 8 2 0 + 9 10 2 0 + 11 12 2 0 + 13 14 2 0 + 15 16 2 0 + 17 18 2 0 + 19 20 2 0 + 21 22 2 0 + 23 24 2 0 + 25 26 2 0 + 27 28 2 0 + 29 30 2 0 + 31 32 2 0 + 33 34 2 0 + 35 36 2 0 + 37 38 2 0 + 39 40 2 0 + 41 42 2 0 + 43 44 2 0 + 45 46 2 0 + 47 48 2 0 + 49 50 2 0 + 51 52 2 0 + 53 54 2 0 + 55 56 2 0 + 57 58 2 0 + 59 60 2 0 + 61 62 2 0 + 63 64 2 0 +M END