|
| 1 | +|Logo| |
| 2 | + |
| 3 | +|Binder| |License| |Python 3.10+| |Documentation Status| |
| 4 | + |
| 5 | +ugropy |
| 6 | +====== |
| 7 | + |
| 8 | +ugropy is a ``Python`` library to obtain the UNIFAC’s subgroups from |
| 9 | +both the name or the SMILES representation of a molecule. If the name is |
| 10 | +given, the library uses the |
| 11 | +`PubChemPy <https://github.com/mcs07/PubChemPy>`__ library to obtain the |
| 12 | +SMILES representation from PubChem. In both cases, ugropy uses the |
| 13 | +`RDKit <https://github.com/rdkit/rdkit>`__ library to search the |
| 14 | +functional groups in the molecule. |
| 15 | + |
| 16 | +ugropy is in an early development stage, leaving issues of examples of |
| 17 | +molecules that ugropy fails solving the UNIFAC’s groups is very helpful. |
| 18 | + |
| 19 | +Models supported v1.0.0 |
| 20 | +======================= |
| 21 | + |
| 22 | +- Classic liquid-vapor UNIFAC |
| 23 | +- Predictive Soave-Redlich-Kwong (PSRK) |
| 24 | +- Joback |
| 25 | + |
| 26 | +Example of use |
| 27 | +============== |
| 28 | + |
| 29 | +You can check the full tutorial |
| 30 | +`here <https://ugropy.readthedocs.io/en/latest/tutorial/tutorial.html>`__. |
| 31 | + |
| 32 | +Get UNIFAC groups from the molecule’s name: |
| 33 | + |
| 34 | +.. code:: python |
| 35 | +
|
| 36 | + from ugropy import Groups |
| 37 | +
|
| 38 | +
|
| 39 | + hexane = Groups("hexane") |
| 40 | +
|
| 41 | + print(hexane.unifac_groups) |
| 42 | + print(hexane.psrk_groups) |
| 43 | + print(hexane.joback.groups) |
| 44 | +
|
| 45 | +:: |
| 46 | + |
| 47 | + {'CH3': 2, 'CH2': 4} |
| 48 | + {'CH3': 2, 'CH2': 4} |
| 49 | + {'-CH3': 2, '-CH2-': 4} |
| 50 | + |
| 51 | +Get UNIFAC groups from molecule’s SMILES: |
| 52 | + |
| 53 | +.. code:: python |
| 54 | +
|
| 55 | + propanol = Groups("CCCO", "smiles") |
| 56 | +
|
| 57 | + print(propanol.unifac_groups) |
| 58 | + print(propanol.psrk_groups) |
| 59 | + print(propanol.joback.groups) |
| 60 | +
|
| 61 | +:: |
| 62 | + |
| 63 | + {'CH3': 1, 'CH2': 2, 'OH': 1} |
| 64 | + {'CH3': 1, 'CH2': 2, 'OH': 1} |
| 65 | + {'-CH3': 1, '-CH2-': 2, '-OH (alcohol)': 1} |
| 66 | + |
| 67 | +Estimate properties with the Joback model! |
| 68 | + |
| 69 | +.. code:: python |
| 70 | +
|
| 71 | + limonene = Groups("limonene") |
| 72 | +
|
| 73 | + print(limonene.joback.groups) |
| 74 | + print(f"{limonene.joback.critical_temperature} K") |
| 75 | + print(f"{limonene.joback.vapor_pressure(176 + 273.15)} bar") |
| 76 | +
|
| 77 | +:: |
| 78 | + |
| 79 | + {'-CH3': 2, '=CH2': 1, '=C<': 1, 'ring-CH2-': 3, 'ring>CH-': 1, 'ring=CH-': 1, 'ring=C<': 1} |
| 80 | + 657.4486692170663 K |
| 81 | + 1.0254019428522743 bar |
| 82 | + |
| 83 | +Installation |
| 84 | +============ |
| 85 | + |
| 86 | +At the moment ugropy is not uploaded in PyPI (will be soon). |
| 87 | + |
| 88 | +:: |
| 89 | + |
| 90 | + pip install git+https://github.com/ipqa-research/ugropy.git |
| 91 | + |
| 92 | +Refereces |
| 93 | +========= |
| 94 | + |
| 95 | +[1] http://www.ddbst.com/published-parameters-unifac.html |
| 96 | + |
| 97 | +[2] Joback, K. G., & Reid, R. C. (1987). ESTIMATION OF PURE-COMPONENT |
| 98 | +PROPERTIES FROM GROUP-CONTRIBUTIONS. Chemical Engineering |
| 99 | +Communications, 57(1–6), 233–243. |
| 100 | +https://doi.org/10.1080/00986448708960487 |
| 101 | + |
| 102 | +[3] Joback, K. G. (1989). Designing molecules possessing desired |
| 103 | +physical property values [Thesis (Ph. D.), Massachusetts Institute of |
| 104 | +Technology]. https://dspace.mit.edu/handle/1721.1/14191 |
| 105 | + |
| 106 | +.. |Binder| image:: https://mybinder.org/badge_logo.svg |
| 107 | + :target: https://mybinder.org/v2/gh/ipqa-research/ugropy/main |
| 108 | +.. |License| image:: https://img.shields.io/badge/License-MIT-blue.svg |
| 109 | + :target: https://tldrlegal.com/license/mit-license |
| 110 | +.. |Python 3.10+| image:: https://img.shields.io/badge/Python-3.10%2B-blue |
| 111 | +.. |Documentation Status| image:: https://readthedocs.org/projects/ugropy/badge/?version=latest |
| 112 | + :target: https://ugropy.readthedocs.io/en/latest/?badge=latest |
| 113 | +.. |Logo| image:: https://github.com/ipqa-research/ugropy/blob/main/logo.png?raw=true |
| 114 | + :target: https://github.com/ipqa-research/ugropy |
0 commit comments