OrganoMind 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- organomind-0.1.0/LICENSE.txt +22 -0
- organomind-0.1.0/PKG-INFO +277 -0
- organomind-0.1.0/README.md +228 -0
- organomind-0.1.0/pyproject.toml +55 -0
- organomind-0.1.0/setup.cfg +4 -0
- organomind-0.1.0/src/OrganoMind.egg-info/PKG-INFO +277 -0
- organomind-0.1.0/src/OrganoMind.egg-info/SOURCES.txt +36 -0
- organomind-0.1.0/src/OrganoMind.egg-info/dependency_links.txt +1 -0
- organomind-0.1.0/src/OrganoMind.egg-info/entry_points.txt +3 -0
- organomind-0.1.0/src/OrganoMind.egg-info/requires.txt +18 -0
- organomind-0.1.0/src/OrganoMind.egg-info/top_level.txt +1 -0
- organomind-0.1.0/src/organomind/__init__.py +0 -0
- organomind-0.1.0/src/organomind/acidity.py +44 -0
- organomind-0.1.0/src/organomind/app.py +7 -0
- organomind-0.1.0/src/organomind/aromatic.py +22 -0
- organomind-0.1.0/src/organomind/cas.py +10 -0
- organomind-0.1.0/src/organomind/data/__init__.py +0 -0
- organomind-0.1.0/src/organomind/data/acid_base_data.py +78 -0
- organomind-0.1.0/src/organomind/data/aromatic_data.py +39 -0
- organomind-0.1.0/src/organomind/data/functional_groups_data.py +83 -0
- organomind-0.1.0/src/organomind/data/nucleo_data.py +45 -0
- organomind-0.1.0/src/organomind/draw2D.py +39 -0
- organomind-0.1.0/src/organomind/draw3D.py +38 -0
- organomind-0.1.0/src/organomind/functional_groups.py +38 -0
- organomind-0.1.0/src/organomind/highlight_functional_groups.py +177 -0
- organomind-0.1.0/src/organomind/nucleo_electro.py +107 -0
- organomind-0.1.0/src/organomind/point_groups.py +30 -0
- organomind-0.1.0/src/organomind/stereo.py +52 -0
- organomind-0.1.0/src/organomind/ui.py +198 -0
- organomind-0.1.0/tests/test_acidity.py +24 -0
- organomind-0.1.0/tests/test_aromatic.py +23 -0
- organomind-0.1.0/tests/test_cas.py +16 -0
- organomind-0.1.0/tests/test_draw3D.py +14 -0
- organomind-0.1.0/tests/test_functional_groups.py +37 -0
- organomind-0.1.0/tests/test_highlight_functional_groups.py +17 -0
- organomind-0.1.0/tests/test_nucleo_electro.py +36 -0
- organomind-0.1.0/tests/test_point_groups.py +17 -0
- organomind-0.1.0/tests/test_stereo.py +53 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Théo Vienne, Noam Balter-Dejeux,
|
|
4
|
+
Tolga Seckin, Théo Morales Crassier
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: OrganoMind
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Cheminformatics tools for molecular analysis
|
|
5
|
+
Author: Théo Vienne, Théo Morales Crassier, Tolga Seckin, Noam Balter-Dejeux
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Théo Vienne, Noam Balter-Dejeux,
|
|
9
|
+
Tolga Seckin, Théo Morales Crassier
|
|
10
|
+
|
|
11
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
13
|
+
in the Software without restriction, including without limitation the rights
|
|
14
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
15
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
16
|
+
furnished to do so, subject to the following conditions:
|
|
17
|
+
|
|
18
|
+
The above copyright notice and this permission notice shall be included in all
|
|
19
|
+
copies or substantial portions of the Software.
|
|
20
|
+
|
|
21
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
22
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
23
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
24
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
25
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
26
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
|
+
SOFTWARE.
|
|
28
|
+
Requires-Python: >=3.10
|
|
29
|
+
Description-Content-Type: text/markdown
|
|
30
|
+
License-File: LICENSE.txt
|
|
31
|
+
Requires-Dist: rdkit
|
|
32
|
+
Requires-Dist: pubchempy
|
|
33
|
+
Requires-Dist: streamlit
|
|
34
|
+
Requires-Dist: pandas
|
|
35
|
+
Requires-Dist: py3dmol
|
|
36
|
+
Requires-Dist: streamlit-ketcher
|
|
37
|
+
Requires-Dist: pillow
|
|
38
|
+
Requires-Dist: plotly
|
|
39
|
+
Requires-Dist: pymatgen
|
|
40
|
+
Requires-Dist: watchdog
|
|
41
|
+
Provides-Extra: dev
|
|
42
|
+
Requires-Dist: jupyter; extra == "dev"
|
|
43
|
+
Requires-Dist: jupyterlab; extra == "dev"
|
|
44
|
+
Requires-Dist: ipykernel; extra == "dev"
|
|
45
|
+
Requires-Dist: pytest; extra == "dev"
|
|
46
|
+
Requires-Dist: pytest-timeout; extra == "dev"
|
|
47
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
48
|
+
Dynamic: license-file
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
<h1 align="center">
|
|
53
|
+
OrganoMind
|
|
54
|
+
</h1>
|
|
55
|
+
|
|
56
|
+
<p align="center">
|
|
57
|
+
<img src="https://img.shields.io/badge/Python-3.10-blue"/>
|
|
58
|
+
<img src="https://img.shields.io/badge/Streamlit-blue?logo=streamlit"/>
|
|
59
|
+
<img src="https://img.shields.io/badge/RDKit-green"/>
|
|
60
|
+
<img src="https://img.shields.io/badge/License-MIT-yellow"/>
|
|
61
|
+
</p>
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="assets/interface-full.PNG" alt="OrganoMind interface" width="900"/>
|
|
66
|
+
</p>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## 📚General informations📚
|
|
71
|
+
OrganoMind is a project developped as part of Practical Progamming in chemistry EPFL (2026) during second year of study. OrganoMind is thought as a organic chemistry assistant that allows 3D visualization of molecules with built-in features that give both chemical and stereochemical properties that allows better understanding of chemical processes.
|
|
72
|
+
|
|
73
|
+
### 💪Features💪
|
|
74
|
+
- 3D visualization of molecules and IUPAC naming.
|
|
75
|
+
- Detection and 2D visualization of functionnal groups.
|
|
76
|
+
- Detection of aromatic groups and nomenclature of the group.
|
|
77
|
+
- Detection of chiral centers, number of isomers and 2D visualization of the chiral center.
|
|
78
|
+
- Detection of acidic and basic groups, and estimation of the pKa of the molecule.
|
|
79
|
+
- Detection of nucleophilic and electrophilic groups with attribution of the nucleophilic/electrophilic level.
|
|
80
|
+
- Determination of molecule's point group.
|
|
81
|
+
|
|
82
|
+
### 👥Contributions👥
|
|
83
|
+
Théo Vienne
|
|
84
|
+
[](https://github.com/TheoV19)
|
|
85
|
+
|
|
86
|
+
Noam Balter-Dejeux
|
|
87
|
+
[](https://github.com/NoamBalter)
|
|
88
|
+
|
|
89
|
+
Tolga Seckin
|
|
90
|
+
[](https://github.com/tolgaseckin)
|
|
91
|
+
|
|
92
|
+
Théo Morales Crassier
|
|
93
|
+
[](https://github.com/theo-moralescrassier)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
### 📈A useful assistant📈
|
|
97
|
+
Organomind is thought as a tool to simplify the understanding of the reactivity of complex chemical compounds. By either putting directly the structure or the name or the formula or even the smile of a molecule, organomind will give you all the characteritcis you need to work on your problem.
|
|
98
|
+
|
|
99
|
+
#### You need compute a reaction path for a synthesis ?
|
|
100
|
+
Put your reactants in organomind and it will tell you which group of your molecule are nucleophilic and electrophilic with all functional groups, allowing you to determine accuratly which part will react and with what.
|
|
101
|
+
|
|
102
|
+
#### Struggle with a MO diagram ?
|
|
103
|
+
Organomind will give you the point group allowing to simplify your work and focus on the important part of your search.
|
|
104
|
+
|
|
105
|
+
#### Working on a stereospcific synthesis ?
|
|
106
|
+
Organomind will give you the number of chiral centers and 2D view of them with the number of stable isomers which then allow you properly classify the stereo-isomers of your molecule.
|
|
107
|
+
|
|
108
|
+
Already convinced ? Let us show you how to install it and enjoy all the features of this framework ! 🎉
|
|
109
|
+
|
|
110
|
+
## ⚙️ Installation ⚙️
|
|
111
|
+
|
|
112
|
+
### Prerequisites
|
|
113
|
+
- Python 3.10.20
|
|
114
|
+
- pip
|
|
115
|
+
|
|
116
|
+
### Steps
|
|
117
|
+
|
|
118
|
+
**1. Create a CONDA virtual environment (recommended)**
|
|
119
|
+
```bash
|
|
120
|
+
#Open bash or terminal
|
|
121
|
+
#Name the environment as you wish and specify python 3.10
|
|
122
|
+
conda create -n env.name python=3.10
|
|
123
|
+
|
|
124
|
+
#Activate your environment
|
|
125
|
+
conda activate env.name
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**2. Two ways to proceed**
|
|
129
|
+
|
|
130
|
+
*A. Using the repo:*
|
|
131
|
+
```bash
|
|
132
|
+
#Clone the repository
|
|
133
|
+
git clone https://github.com/TheoV19/OrganoMind.git
|
|
134
|
+
|
|
135
|
+
#Naviguate to the OrganoMind folder
|
|
136
|
+
cd path/to/organomind
|
|
137
|
+
|
|
138
|
+
#Installs the dependencies locally as a user, make sure to activate your environment before doing so
|
|
139
|
+
pip install .
|
|
140
|
+
or
|
|
141
|
+
#Installs the dependencies locally in editable mode, make sure to activate your environment before doing so
|
|
142
|
+
pip install -e .
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
*B. Only using the package:*
|
|
146
|
+
```bash
|
|
147
|
+
pip install organomind
|
|
148
|
+
or
|
|
149
|
+
pip install git+https://github.com/TheoV19/OrganoMind.git
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
**3. Run the app**
|
|
154
|
+
```bash
|
|
155
|
+
#In your terminal, you can now run the program with:
|
|
156
|
+
organomind-ui
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
The app will open automatically in your browser at `http://localhost:8501`.
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
## 🧠How to use🧠
|
|
166
|
+
|
|
167
|
+
### ✍️Write your molecule anyway you want✍️
|
|
168
|
+
OrganoMind supports multiple input formats. In the Search tab, select your search type and enter your query:
|
|
169
|
+
|
|
170
|
+
| Input type | Example |
|
|
171
|
+
|------------|---------|
|
|
172
|
+
| Name | `aspirin` |
|
|
173
|
+
| Formula | `C9H8O4` |
|
|
174
|
+
| SMILES | `CC(=O)Oc1ccccc1C(=O)O` |
|
|
175
|
+
| InChI | `InChI=1S/C9H8O4/...` |
|
|
176
|
+
| InChIKey | `BSYNRYMUTXBXSQ-UHFFFAOYSA-N` |
|
|
177
|
+
|
|
178
|
+
> **Tip:** SMILES input gives the most accurate structure results.
|
|
179
|
+
|
|
180
|
+
<p align="center">
|
|
181
|
+
<img src="assets/search-aspirin.PNG" alt="Search aspirin" width="900"/>
|
|
182
|
+
</p>
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
### 🎨Draw a molecule🎨
|
|
186
|
+
|
|
187
|
+
Switch to the Draw tab to use the built-in Ketcher molecular editor. Draw your molecule directly on the canvas and OrganoMind will automatically identify and analyze it.
|
|
188
|
+
|
|
189
|
+
<p align="center">
|
|
190
|
+
<img src="assets/ketcher-aspirin.PNG" alt="Aspirin drawn in Ketcher editor" width="900"/>
|
|
191
|
+
</p>
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
### Select the information to display
|
|
196
|
+
|
|
197
|
+
Use the **sidebar** on the left to select which properties you want to compute:
|
|
198
|
+
|
|
199
|
+
- **Molecular formula / weight / IUPAC name / SMILES / CAS** — General information
|
|
200
|
+
- **Rotatable bonds** — Conformational flexibility
|
|
201
|
+
- **Stereochemistry** — Chiral centers, number of stable isomers, 2D view
|
|
202
|
+
- **Functional groups** — Detection and 2D visualization
|
|
203
|
+
- **Aromaticity** — Aromatic ring detection and nomenclature
|
|
204
|
+
- **Acidity / Basicity** — Acidic and basic site detection with pKa estimation
|
|
205
|
+
- **Nucleophilicity / Electrophilicity** — Reactive site detection with HSAB-based level attribution
|
|
206
|
+
- **Point groups** — Symmetry group determination
|
|
207
|
+
- **3D drawing** — Interactive 3D visualization
|
|
208
|
+
|
|
209
|
+
## Requirements
|
|
210
|
+
|
|
211
|
+
OrganoMind requires the following dependencies, which are automatically installed when you install the package:
|
|
212
|
+
|
|
213
|
+
- `rdkit`
|
|
214
|
+
- `pubchempy`
|
|
215
|
+
- `streamlit`
|
|
216
|
+
- `pandas`
|
|
217
|
+
- `py3dmol`
|
|
218
|
+
- `streamlit-ketcher`
|
|
219
|
+
- `pillow`
|
|
220
|
+
- `plotly`
|
|
221
|
+
- `pymatgen`
|
|
222
|
+
|
|
223
|
+
If you encounter missing package errors, you can install them manually:
|
|
224
|
+
```bash
|
|
225
|
+
pip install rdkit pubchempy streamlit pandas py3dmol streamlit-ketcher pillow plotly pymatgen
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Need help ?
|
|
229
|
+
If you encounter issues or the program doesn't work, try the following steps:
|
|
230
|
+
|
|
231
|
+
1. Verify your active environment
|
|
232
|
+
Make sure you are working in the environment where OrganoMind is installed.
|
|
233
|
+
```bash
|
|
234
|
+
# Check which Python executable is currently active
|
|
235
|
+
which python
|
|
236
|
+
```
|
|
237
|
+
If it's not the correct environment, activate it:
|
|
238
|
+
```bash
|
|
239
|
+
# Activate your conda environment
|
|
240
|
+
conda activate your_env_name
|
|
241
|
+
```
|
|
242
|
+
2. Check and update OrganoMind
|
|
243
|
+
```bash
|
|
244
|
+
pip show organomind
|
|
245
|
+
```
|
|
246
|
+
If needed, update to the latest version:
|
|
247
|
+
```bash
|
|
248
|
+
pip install --upgrade git+https://github.com/TheoV19/OrganoMind.git
|
|
249
|
+
```
|
|
250
|
+
If problems continue, try uninstalling and reinstalling OrganoMind:
|
|
251
|
+
```bash
|
|
252
|
+
pip uninstall organomind
|
|
253
|
+
pip install git+https://github.com/TheoV19/OrganoMind.git
|
|
254
|
+
```
|
|
255
|
+
3. Update pip if necessary
|
|
256
|
+
Sometimes, issues may arise due to an outdated pip. Thus, to update pip:
|
|
257
|
+
- For virtual environments
|
|
258
|
+
```bash
|
|
259
|
+
pip install --upgrade pip
|
|
260
|
+
```
|
|
261
|
+
- For Linux or macOS systems
|
|
262
|
+
```bash
|
|
263
|
+
python3 -m pip install --upgrade pip
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
## 📄 License
|
|
268
|
+
|
|
269
|
+
MIT License
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
<h1 align="center">
|
|
4
|
+
OrganoMind
|
|
5
|
+
</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="https://img.shields.io/badge/Python-3.10-blue"/>
|
|
9
|
+
<img src="https://img.shields.io/badge/Streamlit-blue?logo=streamlit"/>
|
|
10
|
+
<img src="https://img.shields.io/badge/RDKit-green"/>
|
|
11
|
+
<img src="https://img.shields.io/badge/License-MIT-yellow"/>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<img src="assets/interface-full.PNG" alt="OrganoMind interface" width="900"/>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## 📚General informations📚
|
|
22
|
+
OrganoMind is a project developped as part of Practical Progamming in chemistry EPFL (2026) during second year of study. OrganoMind is thought as a organic chemistry assistant that allows 3D visualization of molecules with built-in features that give both chemical and stereochemical properties that allows better understanding of chemical processes.
|
|
23
|
+
|
|
24
|
+
### 💪Features💪
|
|
25
|
+
- 3D visualization of molecules and IUPAC naming.
|
|
26
|
+
- Detection and 2D visualization of functionnal groups.
|
|
27
|
+
- Detection of aromatic groups and nomenclature of the group.
|
|
28
|
+
- Detection of chiral centers, number of isomers and 2D visualization of the chiral center.
|
|
29
|
+
- Detection of acidic and basic groups, and estimation of the pKa of the molecule.
|
|
30
|
+
- Detection of nucleophilic and electrophilic groups with attribution of the nucleophilic/electrophilic level.
|
|
31
|
+
- Determination of molecule's point group.
|
|
32
|
+
|
|
33
|
+
### 👥Contributions👥
|
|
34
|
+
Théo Vienne
|
|
35
|
+
[](https://github.com/TheoV19)
|
|
36
|
+
|
|
37
|
+
Noam Balter-Dejeux
|
|
38
|
+
[](https://github.com/NoamBalter)
|
|
39
|
+
|
|
40
|
+
Tolga Seckin
|
|
41
|
+
[](https://github.com/tolgaseckin)
|
|
42
|
+
|
|
43
|
+
Théo Morales Crassier
|
|
44
|
+
[](https://github.com/theo-moralescrassier)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### 📈A useful assistant📈
|
|
48
|
+
Organomind is thought as a tool to simplify the understanding of the reactivity of complex chemical compounds. By either putting directly the structure or the name or the formula or even the smile of a molecule, organomind will give you all the characteritcis you need to work on your problem.
|
|
49
|
+
|
|
50
|
+
#### You need compute a reaction path for a synthesis ?
|
|
51
|
+
Put your reactants in organomind and it will tell you which group of your molecule are nucleophilic and electrophilic with all functional groups, allowing you to determine accuratly which part will react and with what.
|
|
52
|
+
|
|
53
|
+
#### Struggle with a MO diagram ?
|
|
54
|
+
Organomind will give you the point group allowing to simplify your work and focus on the important part of your search.
|
|
55
|
+
|
|
56
|
+
#### Working on a stereospcific synthesis ?
|
|
57
|
+
Organomind will give you the number of chiral centers and 2D view of them with the number of stable isomers which then allow you properly classify the stereo-isomers of your molecule.
|
|
58
|
+
|
|
59
|
+
Already convinced ? Let us show you how to install it and enjoy all the features of this framework ! 🎉
|
|
60
|
+
|
|
61
|
+
## ⚙️ Installation ⚙️
|
|
62
|
+
|
|
63
|
+
### Prerequisites
|
|
64
|
+
- Python 3.10.20
|
|
65
|
+
- pip
|
|
66
|
+
|
|
67
|
+
### Steps
|
|
68
|
+
|
|
69
|
+
**1. Create a CONDA virtual environment (recommended)**
|
|
70
|
+
```bash
|
|
71
|
+
#Open bash or terminal
|
|
72
|
+
#Name the environment as you wish and specify python 3.10
|
|
73
|
+
conda create -n env.name python=3.10
|
|
74
|
+
|
|
75
|
+
#Activate your environment
|
|
76
|
+
conda activate env.name
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**2. Two ways to proceed**
|
|
80
|
+
|
|
81
|
+
*A. Using the repo:*
|
|
82
|
+
```bash
|
|
83
|
+
#Clone the repository
|
|
84
|
+
git clone https://github.com/TheoV19/OrganoMind.git
|
|
85
|
+
|
|
86
|
+
#Naviguate to the OrganoMind folder
|
|
87
|
+
cd path/to/organomind
|
|
88
|
+
|
|
89
|
+
#Installs the dependencies locally as a user, make sure to activate your environment before doing so
|
|
90
|
+
pip install .
|
|
91
|
+
or
|
|
92
|
+
#Installs the dependencies locally in editable mode, make sure to activate your environment before doing so
|
|
93
|
+
pip install -e .
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
*B. Only using the package:*
|
|
97
|
+
```bash
|
|
98
|
+
pip install organomind
|
|
99
|
+
or
|
|
100
|
+
pip install git+https://github.com/TheoV19/OrganoMind.git
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
**3. Run the app**
|
|
105
|
+
```bash
|
|
106
|
+
#In your terminal, you can now run the program with:
|
|
107
|
+
organomind-ui
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The app will open automatically in your browser at `http://localhost:8501`.
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
## 🧠How to use🧠
|
|
117
|
+
|
|
118
|
+
### ✍️Write your molecule anyway you want✍️
|
|
119
|
+
OrganoMind supports multiple input formats. In the Search tab, select your search type and enter your query:
|
|
120
|
+
|
|
121
|
+
| Input type | Example |
|
|
122
|
+
|------------|---------|
|
|
123
|
+
| Name | `aspirin` |
|
|
124
|
+
| Formula | `C9H8O4` |
|
|
125
|
+
| SMILES | `CC(=O)Oc1ccccc1C(=O)O` |
|
|
126
|
+
| InChI | `InChI=1S/C9H8O4/...` |
|
|
127
|
+
| InChIKey | `BSYNRYMUTXBXSQ-UHFFFAOYSA-N` |
|
|
128
|
+
|
|
129
|
+
> **Tip:** SMILES input gives the most accurate structure results.
|
|
130
|
+
|
|
131
|
+
<p align="center">
|
|
132
|
+
<img src="assets/search-aspirin.PNG" alt="Search aspirin" width="900"/>
|
|
133
|
+
</p>
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
### 🎨Draw a molecule🎨
|
|
137
|
+
|
|
138
|
+
Switch to the Draw tab to use the built-in Ketcher molecular editor. Draw your molecule directly on the canvas and OrganoMind will automatically identify and analyze it.
|
|
139
|
+
|
|
140
|
+
<p align="center">
|
|
141
|
+
<img src="assets/ketcher-aspirin.PNG" alt="Aspirin drawn in Ketcher editor" width="900"/>
|
|
142
|
+
</p>
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
### Select the information to display
|
|
147
|
+
|
|
148
|
+
Use the **sidebar** on the left to select which properties you want to compute:
|
|
149
|
+
|
|
150
|
+
- **Molecular formula / weight / IUPAC name / SMILES / CAS** — General information
|
|
151
|
+
- **Rotatable bonds** — Conformational flexibility
|
|
152
|
+
- **Stereochemistry** — Chiral centers, number of stable isomers, 2D view
|
|
153
|
+
- **Functional groups** — Detection and 2D visualization
|
|
154
|
+
- **Aromaticity** — Aromatic ring detection and nomenclature
|
|
155
|
+
- **Acidity / Basicity** — Acidic and basic site detection with pKa estimation
|
|
156
|
+
- **Nucleophilicity / Electrophilicity** — Reactive site detection with HSAB-based level attribution
|
|
157
|
+
- **Point groups** — Symmetry group determination
|
|
158
|
+
- **3D drawing** — Interactive 3D visualization
|
|
159
|
+
|
|
160
|
+
## Requirements
|
|
161
|
+
|
|
162
|
+
OrganoMind requires the following dependencies, which are automatically installed when you install the package:
|
|
163
|
+
|
|
164
|
+
- `rdkit`
|
|
165
|
+
- `pubchempy`
|
|
166
|
+
- `streamlit`
|
|
167
|
+
- `pandas`
|
|
168
|
+
- `py3dmol`
|
|
169
|
+
- `streamlit-ketcher`
|
|
170
|
+
- `pillow`
|
|
171
|
+
- `plotly`
|
|
172
|
+
- `pymatgen`
|
|
173
|
+
|
|
174
|
+
If you encounter missing package errors, you can install them manually:
|
|
175
|
+
```bash
|
|
176
|
+
pip install rdkit pubchempy streamlit pandas py3dmol streamlit-ketcher pillow plotly pymatgen
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Need help ?
|
|
180
|
+
If you encounter issues or the program doesn't work, try the following steps:
|
|
181
|
+
|
|
182
|
+
1. Verify your active environment
|
|
183
|
+
Make sure you are working in the environment where OrganoMind is installed.
|
|
184
|
+
```bash
|
|
185
|
+
# Check which Python executable is currently active
|
|
186
|
+
which python
|
|
187
|
+
```
|
|
188
|
+
If it's not the correct environment, activate it:
|
|
189
|
+
```bash
|
|
190
|
+
# Activate your conda environment
|
|
191
|
+
conda activate your_env_name
|
|
192
|
+
```
|
|
193
|
+
2. Check and update OrganoMind
|
|
194
|
+
```bash
|
|
195
|
+
pip show organomind
|
|
196
|
+
```
|
|
197
|
+
If needed, update to the latest version:
|
|
198
|
+
```bash
|
|
199
|
+
pip install --upgrade git+https://github.com/TheoV19/OrganoMind.git
|
|
200
|
+
```
|
|
201
|
+
If problems continue, try uninstalling and reinstalling OrganoMind:
|
|
202
|
+
```bash
|
|
203
|
+
pip uninstall organomind
|
|
204
|
+
pip install git+https://github.com/TheoV19/OrganoMind.git
|
|
205
|
+
```
|
|
206
|
+
3. Update pip if necessary
|
|
207
|
+
Sometimes, issues may arise due to an outdated pip. Thus, to update pip:
|
|
208
|
+
- For virtual environments
|
|
209
|
+
```bash
|
|
210
|
+
pip install --upgrade pip
|
|
211
|
+
```
|
|
212
|
+
- For Linux or macOS systems
|
|
213
|
+
```bash
|
|
214
|
+
python3 -m pip install --upgrade pip
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
## 📄 License
|
|
219
|
+
|
|
220
|
+
MIT License
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "OrganoMind"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "Cheminformatics tools for molecular analysis"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = {file = "LICENSE.txt"}
|
|
7
|
+
authors = [
|
|
8
|
+
{name = "Théo Vienne"},
|
|
9
|
+
{name = "Théo Morales Crassier"},
|
|
10
|
+
{name = "Tolga Seckin"},
|
|
11
|
+
{name = "Noam Balter-Dejeux"},
|
|
12
|
+
]
|
|
13
|
+
requires-python = ">=3.10"
|
|
14
|
+
dependencies = [
|
|
15
|
+
"rdkit",
|
|
16
|
+
"pubchempy",
|
|
17
|
+
"streamlit",
|
|
18
|
+
"pandas",
|
|
19
|
+
"py3dmol",
|
|
20
|
+
"streamlit-ketcher",
|
|
21
|
+
"pillow",
|
|
22
|
+
"plotly",
|
|
23
|
+
"pymatgen",
|
|
24
|
+
"watchdog",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[project.scripts]
|
|
28
|
+
organomind-ui = "organomind.app:run"
|
|
29
|
+
organomind-3d = "organomind.draw3D:run"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
[project.optional-dependencies]
|
|
33
|
+
dev = [
|
|
34
|
+
"jupyter",
|
|
35
|
+
"jupyterlab",
|
|
36
|
+
"ipykernel",
|
|
37
|
+
"pytest",
|
|
38
|
+
"pytest-timeout",
|
|
39
|
+
"pytest-cov"
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
[build-system]
|
|
43
|
+
requires = ["setuptools", "wheel"]
|
|
44
|
+
build-backend = "setuptools.build_meta"
|
|
45
|
+
|
|
46
|
+
[tool.setuptools]
|
|
47
|
+
package-dir = {"" = "src"}
|
|
48
|
+
|
|
49
|
+
[tool.setuptools.packages.find]
|
|
50
|
+
where = ["src"]
|
|
51
|
+
|
|
52
|
+
[tool.pytest.ini_options]
|
|
53
|
+
testpaths = [
|
|
54
|
+
"tests",
|
|
55
|
+
]
|