Code Monkey home page Code Monkey logo

openmm-org's Introduction

GH Actions Status Conda Anaconda Cloud Badge

OpenMM: A High Performance Molecular Dynamics Library

Introduction

OpenMM is a toolkit for molecular simulation. It can be used either as a stand-alone application for running simulations, or as a library you call from your own code. It provides a combination of extreme flexibility (through custom forces and integrators), openness, and high performance (especially on recent GPUs) that make it truly unique among simulation codes.

Getting Help

Need Help? Check out the documentation and discussion forums.

openmm-org's People

Contributors

anand-bhat avatar frabjous5 avatar giadefa avatar jchodera avatar mpharrigan avatar peastman avatar rmcgibbo avatar sef43 avatar sroet avatar yoshanuikabundi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openmm-org's Issues

Update to website?

I pushed some changes to the master branch yesterday, but they still don't seem to be showing up in the live website. Is there something else I need to do?

Improve appearance of benchmarks table

With the latest updates to the benchmarks, the table has started looking kind of ugly, because the column hearers are broken in strange places. At least on my computer, for example, I see

CUDA (GTX Titan
X)

There's no reason it needs the line break. There's plenty of room for the table to become wider. But it isn't doing it.

Update benchmarks for 8.0

We need to update the benchmarks page with numbers for 8.0 and for newer GPUs. To start, here are the numbers for RTX 4080. I ran them with the command

python benchmark.py --platform=CUDA --style=table --test=pme,apoa1pme,amber20-cellulose,amber20-stmv,amoebapme

I repeated it three times. Here are the speeds, along with the average over the three runs.

Run 1 Run 2 Run 3 Average
pme 2035.52 2034.02 2032.96 2034.16666666667
apoa1pme 607.91 606.575 605.745 606.743333333333
amber20-cellulose 159.407 152.377 151.951 154.578333333333
amber20-stmv 42.5645 42.2802 42.3069 42.3838666666667
amoebapme 36.8272 36.6346 36.8506 36.7708

In all cases the variations around the average are a few percent or less.

Tutorial Updates

Wanted to make an issue before making a PR updating the tutorials to more closely follow PEP8 and use modern features of the python language. Since python3.6 is the oldest version of python supported in the next openmm release (at least that is my understanding) I would not use any features newer than those available in 3.6.

My motivation is that most users will copy and paste a tutorial and adapt things to fit their workflow, so we should try and incorporate python programming best practices.

Two quick examples from the alchemical free energy tutorial.

# Defining alchemically-modified potentials
sigma = 3.4*unit.angstrom; epsilon = 0.238 * unit.kilocalories_per_mole
# Use a comma to define related things close together 
sigma, epsilon = 3.4*unit.angstrom,  0.238 * unit.kilocalories_per_mole

# Simulating alchemically-modified systems
print('state %5d iteration %5d / %5d' % (k, iteration, niterations))
# use f-string formatting, print the current state number, and take care of starting at 0 and not 1
print(f"state {k} / {nstates-1} iteration {iteration} / {niterations-1}")

I'm happy to submit a PR for each tutorial and we can discuss each change on a case-by-case basis.

Add support for rendering Jupyter notebooks

I have prepared some Jupyter notebooks to help MD practitioners new to OpenMM get started:
https://github.com/choderalab/openmm-tutorials

It would be great to include these in the OpenMM Tutorials page.

One approach is to use jupyter nbconvert to convert them to Markdown, but this loses a lot of formatting of the output cells and graphical displays.

An alternative might be to add jekyll-jupyter-notebook support to the Jekyll static site renderer and just include the notebooks directly.

Benchmarks are missing

I just noticed that the benchmarks seem to be missing. When I go to the Benchmarks tab it describes all the benchmarks we ran, but doesn't list any of the results. I'm pretty sure they used to be there. Something seems to have broken it.

Migration to GitHub Pages

In preparation to the new website (#45), we need to move to the GitHub Pages (https://docs.github.com/en/pages). Apparently, even the current (old) website works fine on the GitHub Pages: https://openmm.github.io/openmm-org/

To complete the migration, the DNS record of openmm.org has to be update: https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-an-apex-domain

As a bonus, this will solve the HTTPS issue (#38).

Adjust fonts and font sizes

The new layout has an awkward whitespace-to-text ratio, with the fonts being plain and tiny with way too much whitespace between them:
image
Could we adjust the font sizes for better whitespace-to-text ratios, and maybe adjust the font family to be a bit more modern?

is there an error with the openmm website?

Greetings,
when I try to open the openmm website using Edge, Chrome, or Internet Explorer browsers, a message appears like in the attached image.

image

is this an error with my browsers?

docs.openmm.org no longer works

Previously, docs.openmm.org redirected to the documentation.

It still redirects to https://openmm.org/documentation.html, but this no longer points to the documentation page.

Fixing the redirect from the DNS server won't work because there is no way to specify a URL that goes directly to the documentation tab. This seems problematic.

How can we fix this? Can we add some way to have a URL point directly to the documentation tab?

Adding wepy to the OpenMM ecosystem

I've been using OpenMM as the main MD engine inside of wepy for a few years now and it would be nice to have it added to the ecosystem page.
Let me know what else you want for it.

Here is the description:

A Weighted Ensemble (WE) simulation framework in Python with first class support for OpenMM.

Support markdown for forthcoming openmm examples / tutorials

@jchodera and company are working on examples / tutorials to support the openmm paper. Per the openmm call last Friday, we want them on the openmm website. I think @jchodera has them in markdown format.

I'm going to add the jekyll static site generator (used via github pages) so we can support markdown documents. I'll also refactor out the boilderplate html (styling, menus). The current pages will stay as html

@jchodera : do you have drafts of the documents that I can use as placeholders?

can't import openmm, openmm app ...

The code i've been using for the last three months worked well until Monday, but now it appears this message:
python3 code.py
Traceback (most recent call last):
File "/home/mateoc/Documentos/practiques/tleap_propka/code.py", line 1, in
from simtk.openmm.app import *
File "/home/mateoc/miniconda3/envs/openmm/lib/python3.10/site-packages/simtk/init.py", line 1, in
import openmm
File "/home/mateoc/Documentos/practiques/tleap_propka/openmm.py", line 1, in
from openmm.app import *
ModuleNotFoundError: No module named 'openmm.app'; 'openmm' is not a package

the way I used to import this libraries is this one:
from openmm.app import *
from openmm import *
from simtk.unit import *
from openmm import app

Priorities of improvements

@giadefa just made me the admin of this repository. So, I'll dedicate some of my time maintaining and improving http://openmm.org

@jchodera @peastman First, I want to discuss what would be priorities. Are any specific issues I should start with?

In general, my opinion is that the navigation is a bit messy. There are 3 buttons at the top, 5 big links an the bottom, this should be organized into a single menu structure. Also, the home page is quite empty, probably we could add the code spinet from http://openmm.org/about.html and one of the embedded videos from http://openmm.org/documentation.html

Clarify exactly which models of GPUs were used in benchmarks

There seems to be significant variation in the performance of different models/variants of the same GPU (e.g. the multiple variants of A100 available), so we should provide more details in our benchmarks about exactly which model(s) were used.

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.