Coder Social home page Coder Social logo

mobleylab / drug-computing Goto Github PK

View Code? Open in Web Editor NEW
139.0 9.0 41.0 589.84 MB

Educational materials for, and related to, UC Irvine's Drug Discovery Computing Techniques course (PharmSci 175/275), currently taught by David Mobley.

License: Creative Commons Attribution 4.0 International

Jupyter Notebook 99.49% Fortran 0.16% Python 0.33% HTML 0.01% Vim Script 0.01%
drug-discovery python molecular-dynamics molecular-dynamics-simulation monte-carlo docking ligand-screening solubility teaching-materials educational-software

drug-computing's People

Contributors

aakankschit avatar bergazin avatar davidlmobley avatar davidwych avatar matthagy avatar nathanmlim avatar trevorgokey avatar vtlim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drug-computing's Issues

Consider other modifications/additions

  • The ligand-based design lecture and assignment have some inconsistencies and the code in the lecture is more helpful than the example code in the assignment, students report
  • Check TeachOpenCADD content and see if any of it should be added to lectures/replace a lecture (find greatest hits/most relevant stuff for course): https://projects.volkamerlab.org/teachopencadd/talktorials.html#structural-biology
  • Check content on preparing/running simulations on Google Cloud and think about incorporation (should it be added somewhere? replace something else? Does it work well?) https://github.com/pablo-arantes/making-it-rain
  • Same question on these cloud-based tutorials for structural bioinformatics: https://github.com/pb3lab/ibm3202
  • Same question on Simon Duerr’s MD/MC stuff: https://dev.simonduerr.eu/interactive/mdmc/intro.html
  • Add discussion of “explainshell” in course background materials and probably add an example of it in first (?) lecture or wherever else it fits
  • Update the shape overlay examples and assignment using an updated example from OpenEye.
  • See if there's a way to migrate fortran code INTO Python so there is no need for compilation

Make remaining updates to assignments

Lots of updating done in #103 , but we still need to:

  • Make sure the install instructions are sufficiently clear regarding fortran libraries (in getting started materials)
  • Add some recap of fortran libraries (esp for Colab) in the notebooks which require them (energy minimization, MD, MC)
  • Set install part off with a separate header in the assignments

Update (and expand) notebooks for lectures

The notebooks and worked examples for lectures need updating, particularly, these cases:

  • Python, Linux, and vi(m)
  • 3D structure and shape methods (#25 )
  • Molecular dynamics (MD) -- currently I only have a "sandbox" for use in class and lecture material is still just slides
  • Monte Carlo (MC) -- currently I have a "sandbox" for use in class and lecture material is still just slides
  • Library searching -- currently I have a sandbox; rest of material is still just slides.
  • Ligand-based design -- currently I have a sandbox; the rest of the material is still just slides.
  • Physical property estimation
  • Docking; slides have most of the material
  • OpenMM, MDTraj, clustering and visualization: Probably should be updated/extended to use examples from @nathanmlim 's work on BLUES
  • Mixture simulations

(I have a separate issue for the lectures which do not yet have any notebooks, #4 ).

NameError: name 'dock_molecule' is not defined

Using Toolkit version 2023.1 and presumably OEDocking TK 4.2.1.
In the notebook OEDocking.ipynb, section 3.4: I get the following error.

NameError Traceback (most recent call last)
Cell In[13], line 37
32 #Loop over 3D molecules from the input filestream
33 for mcmol in ifs.GetOEMols():
34 #for mcmol in oemols:
35 #Call our docking function
36 # Print score
---> 37 dockedMol, score = dock_molecule( dock, sdtag, num_poses, mcmol )
38 print("{} {} score = {:.4f}".format(sdtag, dockedMol.GetTitle(), score))
40 #Write docked molecules to output filestreamot defined

NameError: name 'dock_molecule' is not defined

This could possibly relate to the dock_molecule method being depreciated in a previous update as I cannot find any documentation relating to this method. In fact under the documentation for the OEDock class, it specifically states "Dock molecules using the "OEDock.DockMultiConformerMolecule"method (https://docs.eyesopen.com/toolkits/python/dockingtk/OEDockingClasses/OEDock.html#OEDocking::OEDock::DockMultiConformerMolecule).

Create Jupyter notebooks with content (and, ideally, activities) for missing lectures

Currently, I do not have Jupyter notebooks for the following lectures, so I will need to create them (potentially from the slides), ideally also creating activities to try at the same time.

  • Energy minimization
    - [ ] Quantum mechanics
  • Solvation models (should probably update to have example OpenMM code using GBSA solvation, computing solvation free energy with radius updates)
  • Fluctuations, correlations, and error analysis (use density example and other samples from OpenMM).
  • Error analysis, part 2
  • Working with proteins (whole content for this one needs replacing, not just migration from slide format, probably to use OEBio)
  • Molecular visualization (needs updating to NOT exclusively use PyMol but also provide VMD intro)
  • Normal modes
  • Free energy calculations and the drug discovery process

Add content to solvation lecture on explicit solvent.

Please let me know if you're interested in helping with/taking ownership of content for any of these, especially if it overlaps with something you are already working on. I have slide content I could share and we could talk through what the material should cover. (cc @nathanmlim @sukanyasasmal @vtlim @bergazin )

Update QM lecture slides

  • Improve images/make sure all have suitable credit/attribution
  • Migrate to Jupyter notebook? Unsure if content lends itself to that, but would make for greater portability/easier updates.

Write `pdb` files with original oemols in solvation notebook

We discovered a potential issue in the order files are created in drug-computing/uci-pharmsci/lectures/solvation/solvation.ipynb. It was illustrated and discussed in SMIRNOFF99Frosst issue#71.

I think the easiest way to fix it (and what I did while testing) is to write out the pdb file at the beginning of the gas_phase_MD and GBSA_MD methods with the original oemol instead of trying to convert the openmm system back to a oemol at the end of the simulation.

Clarify virtual environments

@nathanmlim - there is some discussion (very cursory) of virtual environments in https://github.com/MobleyLab/drug-computing/blob/master/uci-pharmsci/getting-started.md but basically it only says "while still in your virtualenvironment" but it doesn't say how to leave it or how to get back to it, which might be important.

(I don't use virtual environments that often, so another thing which also seems relevant is -- if they want to use one, do they have to open it again when they come back, or does it open by default? And what's the interplay with Jupyter notebooks, do they have to select the one they want?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.