Spaces:
Runtime error
Runtime error
File size: 10,713 Bytes
4414a85 d7d776e 13d9c1a d7d776e 6dd1f10 4414a85 13d9c1a 1049d12 74f7072 1049d12 13d9c1a cfb3fe2 7d1b551 cfb3fe2 d7d776e cfb3fe2 d7d776e cfb3fe2 af88cb1 cfb3fe2 2e1731a cfb3fe2 13d9c1a 74f7072 13d9c1a 7c5db63 b259c01 736c721 13d9c1a 736c721 b8cbfe3 736c721 13d9c1a bf77c6c 736c721 3761126 736c721 2e1731a 736c721 05c0429 d28b333 bbf5660 d28b333 05c0429 d28b333 7290388 8a73ec8 c3303b0 2e1731a c3303b0 b259c01 8a73ec8 c3303b0 904d04b 03e689c dd9b023 a961900 5fb6534 389b5be a961900 5fb6534 a961900 5fb6534 a961900 389b5be a961900 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
import streamlit as st
import ipywidgets
import py3Dmol
from rdkit import Chem
from rdkit.Chem import Draw
from PIL import Image
from rdkit import Chem
from rdkit.Chem import AllChem
from ipywidgets import interact,fixed,IntSlider
import streamlit as st
import streamlit.components.v1 as components
import py3Dmol
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import AllChem
def smi2conf(smiles):
'''Convert SMILES to rdkit.Mol with 3D coordinates'''
mol = Chem.MolFromSmiles(smiles)
if mol is not None:
mol = Chem.AddHs(mol)
AllChem.EmbedMolecule(mol)
AllChem.MMFFOptimizeMolecule(mol, maxIters=200)
return mol
else:
return None
def MolTo3DView(mol, size=(300, 300), style="stick", surface=False, opacity=0.5):
"""Draw molecule in 3D
Args:
----
mol: rdMol, molecule to show
size: tuple(int, int), canvas size
style: str, type of drawing molecule
style can be 'line', 'stick', 'sphere', 'carton'
surface, bool, display SAS
opacity, float, opacity of surface, range 0.0-1.0
Return:
----
viewer: py3Dmol.view, a class for constructing embedded 3Dmol.js views in ipython notebooks.
"""
assert style in ('line', 'stick', 'sphere', 'carton')
mblock = Chem.MolToMolBlock(mol)
viewer = py3Dmol.view(width=size[0], height=size[1])
viewer.addModel(mblock, 'mol')
viewer.setStyle({style:{}})
if surface:
viewer.addSurface(py3Dmol.SAS, {'opacity': opacity})
viewer.zoomTo()
return viewer
def MakeMolecule(name, ingredients):
st.write(name, ": ", ingredients)
m = Chem.MolFromSmiles(ingredients)
im=Draw.MolToImage(m)
st.image(im)
def conf_viewer(idx):
mol = confs[idx]
return MolTo3DView(mol).show()
def style_selector(idx, s):
conf = confs[idx]
return MolTo3DView(conf, style=s).show()
@interact
def smi2viewer(smi='CC=O'):
try:
conf = smi2conf(smi)
return MolTo3DView(conf).show()
except:
return None
smi = 'COc3nc(OCc2ccc(C#N)c(c1ccc(C(=O)O)cc1)c2P(=O)(O)O)ccc3C[NH2+]CC(I)NC(=O)C(F)(Cl)Br'
conf = smi2conf(smi)
viewer = MolTo3DView(conf, size=(600, 300), style='sphere')
viewer.show()
#compound_smiles = 'c1cc(C(=O)O)c(OC(=O)C)cc1'
#m = Chem.MolFromSmiles(compound_smiles)
#im=Draw.MolToImage(m)
#st.image(im)
viewer = MolTo3DView(conf, size=(600, 300), style='sphere')
viewer.show()
smis = [ 'COc3nc(OCc2ccc(C#N)c(c1ccc(C(=O)O)cc1)c2P(=O)(O)O)ccc3C[NH2+]CC(I)NC(=O)C(F)(Cl)Br',
'CC(NCCNCC1=CC=C(OCC2=C(C)C(C3=CC=CC=C3)=CC=C2)N=C1OC)=O',
'Cc1c(COc2cc(OCc3cccc(c3)C#N)c(CN3C[C@H](O)C[C@H]3C(O)=O)cc2Cl)cccc1-c1ccc2OCCOc2c1',
'CCCCC(=O)NCCCCC(=O)NCCCCCC(=O)[O-]',
"CC(NCCNCC1=CC=C(OCC2=C(C)C(C3=CC=CC=C3)=CC=C2)N=C1OC)=O"]
confs = [smi2conf(s) for s in smis]
st.title('⚛️🧬Molecule Modeler🧬⚛️')
def show(smi, style='stick'):
mol = Chem.MolFromSmiles(smi)
mol = Chem.AddHs(mol)
AllChem.EmbedMolecule(mol)
AllChem.MMFFOptimizeMolecule(mol, maxIters=200)
mblock = Chem.MolToMolBlock(mol)
view = py3Dmol.view(width=400, height=400)
view.addModel(mblock, 'mol')
view.setStyle({style:{}})
view.zoomTo()
view.show()
view.render()
t =view.js()
f = open('viz.html', 'w')
f.write(t.startjs)
f.write(t.endjs)
f.close()
compound_smiles=st.text_input('SMILES please','CCCCC(=O)NCCCCC(=O)NCCCCCC(=O)[O-]')
m = Chem.MolFromSmiles(compound_smiles)
#Draw.MolToFile(m,'mol.png')
show(compound_smiles)
HtmlFile = open("viz.html", 'r', encoding='utf-8')
source_code = HtmlFile.read()
c1,c2=st.columns(2)
with c1:
st.write('⚛️🧬Chemical Graph 3D SMILES🧬⚛️:')
with c2:
components.html(source_code, height = 400,width=400)
# Sedatives, Amphetamines, Opiods? Also COVID anti-virals, Drugs to Reduce Side Effect via Bond Selection Compound Analysis for Refactoring
MakeMolecule("Nicotine", "CN1CCC[C@H]1c2cccnc2")
MakeMolecule("Ethanol", "CCO")
MakeMolecule("Peptides - BPC-157", "CC(C)CC(C(=O)NC(C(C)C)C(=O)O)NC(=O)CNC(=O)C(C)NC(=O)C(CC(=O)O)NC(=O)C(CC(=O)O)NC(=O)C(C)NC(=O)C1CCCN1C(=O)C(CCCCN)NC(=O)CNC(=O)C2CCCN2C(=O)C3CCCN3C(=O)C4CCCN4C(=O)C(CCC(=O)O)NC(=O)CN")
MakeMolecule("Caffeine", "CN1C=NC2=C1C(=O)N(C(=O)N2C)C")
MakeMolecule("DNA", "C1C(C(OC1N)COP(=O)(O)OC2CC(OC2COP(=O)(O)OC3CC(OC3CO)N)N)O")
MakeMolecule("Trecovirsen DNA", "CC1=CN(C(=O)NC1=O)C2CC(C(O2)COP(=S)(O)OC3CC(OC3COP(=S)(O)OC4CC(OC4COP(=S)(O)OC5CC(OC5COP(=S)(O)OC6CC(OC6COP(=S)(O)OC7CC(OC7COP(=S)(O)OC8CC(OC8COP(=S)(O)OC9CC(OC9COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1COP(=S)(O)OC1CC(OC1CO)N1C=CC(=NC1=O)N)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)N1C=NC2=C1N=C(NC2=O)N)N1C=CC(=NC1=O)N)N1C=NC2=C(N=CN=C21)N)N1C=CC(=NC1=O)N)N1C=CC(=NC1=O)N)N1C=CC(=NC1=O)N)N1C=NC2=C(N=CN=C21)N)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)N1C=CC(=NC1=O)N)N1C=C(C(=O)NC1=O)C)N1C=C(C(=O)NC1=O)C)N1C=CC(=NC1=O)N)O")
MakeMolecule("Glucose (β-D-glucopyranose) (C6H12O6)", "OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H](O)[C@H](O)1")
MakeMolecule("Thiamine (vitamin B1, C12H17N4OS+)", "OCCc1c(C)[n+](cs1)Cc2cnc(C)nc2N")
MakeMolecule("Vitamin E", "CC(C)CCC[C@@H](C)CCC[C@@H](C)CCC [C@]1(C)CCc2c(C)c(O)c(C)c(C)c2O1")
MakeMolecule("Vitamin K2", "CC1=C(C(=O)C2=CC=CC=C2C1=O)CC=C(C)CCC=C(C)CCC=C(C)CCC=C(C)C")
MakeMolecule("Vitamin K1", "CC(C)CCCC(C)CCCC(C)CCCC(=CCC12C(=O)C3=CC=CC=C3C(=O)C1(O2)C)C")
MakeMolecule("Vitamin D3", "C[C@@H]([C@@H]1C2([C@H](/C(=C/C=C/3\C(=C)CCC(C3)O)/CCC2)CC1)C)CCCC(C)C.C[C@@H]([C@@H]1C2([C@H](/C(=C/C=C/3\C(=C)CCC(C3)O)/CCC2)CC1)C)CCCC(C)C")
MakeMolecule("Favipiravir", "C1=C(N=C(C(=O)N1)C(=O)N)F")
MakeMolecule("COVID-19 Antiviral Remdesivir GS5734", "CCC(CC)COC(=O)[C@H](C)N[P@](=O)(OC[C@@H]1[C@H]([C@H]([C@](O1)(C#N)C2=CC=C3N2N=CN=C3N)O)O)OC4=CC=CC=C4")
MakeMolecule("Ritonavir", "CC(C)C1=NC(=CS1)CN(C)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CC2=CC=CC=C2)C[C@@H]([C@H](CC3=CC=CC=C3)NC(=O)OCC4=CN=CS4)O")
MakeMolecule("Chloroquine", "CCN(CC)CCCC(C)NC1=C2C=CC(=CC2=NC=C1)Cl")
MakeMolecule("Fingolimod", "CCCCCCCCC1=CC=C(C=C1)CCC(CO)(CO)N")
MakeMolecule("N4-Hydroxycytidine", "C1=CN(C(=O)N=C1NO)[C@H]2[C@@H]([C@@H]([C@H](O2)CO)O)O")
st.write('Asthma Inhaler Medications:')
st.write('Option 1: Symbicort @ Budesonide 160 mcg with Formoterol Fumurate Dihydrate 4.5 mcg')
st.write('Option 2: Dulera @ Mometasone 200 mcg with Formoterol Fumurate Dihydrate 5 mcg')
st.write('Symbicort - https://pubchem.ncbi.nlm.nih.gov/#query=Symbicort - Isomeric SMILES: CCCC1O[C@@H]2C[C@H]3[C@@H]4CCC5=CC(=O)C=C[C@@]5([C@H]4[C@H](C[C@@]3([C@@]2(O1)C(=O)CO)C)O)C.C[C@@H](CC1=CC=C(C=C1)OC)NC[C@H](C2=CC(=C(C=C2)O)NC=O)O')
st.write('Dulera - https://pubchem.ncbi.nlm.nih.gov/#query=Dulera - Isomeric SMILES: C[C@@H]1C[C@H]2[C@@H]3CCC4=CC(=O)C=C[C@@]4([C@]3([C@H](C[C@@]2([C@]1(C(=O)CCl)OC(=O)C5=CC=CO5)C)O)Cl)C.C[C@H](CC1=CC=C(C=C1)OC)NC[C@@H](C2=CC(=C(C=C2)O)NC=O)O.C[C@H](CC1=CC=C(C=C1)OC)NC[C@@H](C2=CC(=C(C=C2)O)NC=O)O.C(=C/C(=O)O)\C(=O)O.O.O')
st.write('Info about SMILES: https://archive.epa.gov/med/med_archive_03/web/html/smiles.html')
st.write('Learn about it at Wikipedia: https://en.wikipedia.org/wiki/Simplified_molecular-input_line-entry_system')
st.write('Search for any compound on PubChem at National Library of Medicine: https://pubchem.ncbi.nlm.nih.gov/#query=vitamin%20e')
MakeMolecule("Ibuprofen", "CC(C)CC1=CC=C(C=C1)C(C)C(=O)O")
MakeMolecule("LSD", "CCN(CC)C(=O)[C@H]1CN([C@@H]2CC3=CNC4=CC=CC(=C34)C2=C1)C")
MakeMolecule("Acetic acid", "CC(=O)O")
MakeMolecule("Cyclohexane", "C1CCCCC1")
MakeMolecule("Pyridine", "c1cnccc1")
MakeMolecule("Dinitrogen", "N#N")
MakeMolecule("Methyl isocyanate (MIC)", "CN=C=O")
MakeMolecule("Copper(II) sulfate", "[Cu+2].[O-]S(=O)(=O)[O-]")
MakeMolecule("Flavopereirin (C17H15N2)", "CCc(c1)ccc2[n+]1ccc3c2[nH]c4c3cccc4 CCc1c[n+]2ccc3c4ccccc4[nH]c3c2cc1")
MakeMolecule("cephalostatin-1", "CC(C)(O1)C[C@@H](O)[C@@]1(O2)[C@@H](C)[C@@H]3CC=C4[C@]3(C2)C(=O)C[C@H]5[C@H]4CC[C@@H](C6)[C@]5(C)Cc(n7)c6nc(C[C@@]89(C))c7C[C@@H]8CC[C@@H]%10[C@@H]9C[C@@H](O)[C@@]%11(C)C%10=C[C@H](O%12)[C@]%11(O)[C@H](C)[C@]%12(O%13)[C@H](O)C[C@@]%13(C)CO")
# Request list:
markDown = '''
# Opioids:
1. Fentanyl (Duragesic). https://pubchem.ncbi.nlm.nih.gov/#query=Fentanyl - CCC(=O)N(C1CCN(CC1)CCC2=CC=CC=C2)C3=CC=CC=C3
2. Hydrocodone (Vicodin). https://pubchem.ncbi.nlm.nih.gov/#query=Hydrocodone - CN1CC[C@]23[C@@H]4[C@H]1CC5=C2C(=C(C=C5)OC)O[C@H]3C(=O)CC4
3. Oxycodone (OxyContin). https://pubchem.ncbi.nlm.nih.gov/#query=Oxycodone - CN1CC[C@]23[C@@H]4C(=O)CC[C@]2([C@H]1CC5=C3C(=C(C=C5)OC)O4)O
4. Oxymorphone (Darvon). https://pubchem.ncbi.nlm.nih.gov/#query=Oxymorphone -
5. Hydromorphone (Dilaudid). https://pubchem.ncbi.nlm.nih.gov/#query=Hydromorphone
6. Meperidine (Demerol). https://pubchem.ncbi.nlm.nih.gov/#query=Meperidine
7. Diphenoxylate (Lomotil). https://pubchem.ncbi.nlm.nih.gov/#query=Diphenoxylate
8. Morphine Sulfate. https://pubchem.ncbi.nlm.nih.gov/#query=Morphine
# Central Nervous System (CNS) Depressants
1. Pentobarbital sodium (Nembutal). https://pubchem.ncbi.nlm.nih.gov/#query=Pentobarbital - CCC(C)C1(C(=O)NC(=O)NC1=O)CC
2. Diazepam (Valium). https://pubchem.ncbi.nlm.nih.gov/#query=Diazepam - CN1C(=O)CN=C(C2=C1C=CC(=C2)Cl)C3=CC=CC=C3
3. Alprazolam (Xanax). https://pubchem.ncbi.nlm.nih.gov/#query=Alprazolam - CC1=NN=C2N1C3=C(C=C(C=C3)Cl)C(=NC2)C4=CC=CC=C4
4. Zolpidem Tartrate (Ambien). https://pubchem.ncbi.nlm.nih.gov/#query=Zolpidem - CC1=CC=C(C=C1)C2=C(N3C=C(C=CC3=N2)C)CC(=O)N(C)C
5. Sertraline (Zoloft). https://pubchem.ncbi.nlm.nih.gov/#query=Sertraline - CN[C@H]1CC[C@H](C2=CC=CC=C12)C3=CC(=C(C=C3)Cl)Cl
# Stimulants
1. Dextroamphetamine (Dexedrine). https://pubchem.ncbi.nlm.nih.gov/#query=Dextroamphetamine - C[C@@H](CC1=CC=CC=C1)N
2. Methylphenidate (Ritalin and Concerta). https://pubchem.ncbi.nlm.nih.gov/#query=Methylphenidate - COC(=O)C(C1CCCCN1)C2=CC=CC=C2
3. Amphetamines (Adderall). https://pubchem.ncbi.nlm.nih.gov/#query=Amphetamines - C[C@@H](CC1=CC=CC=C1)N.C[C@@H](CC1=CC=CC=C1)N.C[C@@H](CC1=CC=CC=C1)N.C[C@@H](CC1=CC=CC=C1)N.CC(CC1=CC=CC=C1)N.CC(CC1=CC=CC=C1)N.C([C@@H](C(=O)O)N)C(=O)O.[C@H]([C@@H]([C@@H](C(=O)O)O)O)([C@H](C(=O)O)O)O.OS(=O)(=O)O.OS(=O)(=O)O
# More at PubChem: https://pubchem.ncbi.nlm.nih.gov/substance/135324815#section=Identity
'''
st.write(markDown) |