alidenewade commited on
Commit
42f7e49
·
verified ·
1 Parent(s): 559724c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -2
app.py CHANGED
@@ -307,18 +307,31 @@ def visualize_molecule_2d_3d(smiles: str, name: str):
307
  if not mol: return f"<p>Invalid SMILES for {name}</p>", f"❌ Invalid SMILES for {name}"
308
 
309
  drawer = Draw.rdMolDraw2D.MolDraw2DSVG(400, 300)
 
 
 
 
 
 
 
 
 
 
 
310
  drawer.DrawMolecule(mol)
311
  drawer.FinishDrawing()
312
  svg_2d = drawer.GetDrawingText().replace('svg:', '')
313
 
 
 
 
314
  mol_3d = Chem.AddHs(mol)
315
  AllChem.EmbedMolecule(mol_3d, randomSeed=42)
316
  AllChem.MMFFOptimizeMolecule(mol_3d)
317
  sdf_data = Chem.MolToMolBlock(mol_3d)
318
 
319
  viewer = py3Dmol.view(width=400, height=300)
320
- # MODIFIED: Changed background color
321
- viewer.setBackgroundColor('#1C1C1C')
322
  viewer.addModel(sdf_data, "sdf")
323
  viewer.setStyle({'stick': {}, 'sphere': {'scale': 0.25}})
324
  viewer.zoomTo()
 
307
  if not mol: return f"<p>Invalid SMILES for {name}</p>", f"❌ Invalid SMILES for {name}"
308
 
309
  drawer = Draw.rdMolDraw2D.MolDraw2DSVG(400, 300)
310
+ # Set dark theme colors for 2D drawing
311
+ drawer.drawOptions().clearBackground = False # Keep background transparent initially
312
+ drawer.drawOptions().addStereoAnnotation = True
313
+ drawer.drawOptions().baseFontSize = 0.8
314
+ drawer.drawOptions().circleAtoms = False
315
+ drawer.drawOptions().highlightColour = (1, 0.5, 0) # Orange for highlights
316
+ drawer.drawOptions().carbonColour = (0.8, 0.8, 0.8) # Light grey for carbons
317
+ drawer.drawOptions().activeAtomColour = (0.2, 0.6, 1.0) # Blue for active atoms
318
+ drawer.drawOptions().bondColour = (0.8, 0.8, 0.8) # Light grey for bonds
319
+ drawer.drawOptions().defaultColour = (0.8, 0.8, 0.8) # Light grey for other atoms
320
+
321
  drawer.DrawMolecule(mol)
322
  drawer.FinishDrawing()
323
  svg_2d = drawer.GetDrawingText().replace('svg:', '')
324
 
325
+ # Embed the SVG within a div with a dark background for consistency
326
+ svg_2d = f'<div style="background-color: #1C1C1C; padding: 10px; border-radius: 5px;">{svg_2d}</div>'
327
+
328
  mol_3d = Chem.AddHs(mol)
329
  AllChem.EmbedMolecule(mol_3d, randomSeed=42)
330
  AllChem.MMFFOptimizeMolecule(mol_3d)
331
  sdf_data = Chem.MolToMolBlock(mol_3d)
332
 
333
  viewer = py3Dmol.view(width=400, height=300)
334
+ viewer.setBackgroundColor('#1C1C1C')
 
335
  viewer.addModel(sdf_data, "sdf")
336
  viewer.setStyle({'stick': {}, 'sphere': {'scale': 0.25}})
337
  viewer.zoomTo()