Git Product home page Git Product logo

examol's Introduction

ExaMol

CI Deploy Docs Coverage Status

Designing new molecules as fast as possible with AI and simulation.

Installation

First clone this repository to the computer you'll use to design molecules:

git clone https://github.com/exalearn/ExaMol.git

You can then build the entire environment with Anaconda:

cd ExaMol
conda env create --file envs/environment-cpu.yml --force

The above command builds the environment for a commodity CPU. We will provide environments compatible with supercomputers over time.

Using ExaMol

ExaMol deploys a computational workflow following a specification which that contains information including:

  • what is molecular properties are already known,
  • what are the molecules we could search,
  • the types of computations being performed,
  • how to search over them (e.g., how to schedule tasks, which active learning strategy, informed by which ML model),
  • and the resources over which computations are deployed.

An example which performs a greedy search using xTB would look something like

recipe = RedoxEnergy(charge=1, compute_config='xtb')  # What we're trying to optimize
spec = ExaMolSpecification(
    database='training-data.json',
    recipe=[recipe],
    search_space='search_space.smi',
    selector=GreedySelector(n_to_select=8, maximize=True),
    simulator=ASESimulator(scratch_dir='/tmp'),
    scorer=RDKitScorer(recipe),
    models=[[KNeighborsRegressor()]],
    num_to_run=8,
    thinker=SingleStepThinker,
    compute_config=config,
    run_dir='run'
)

The full example is shown in our examples directory

Running an Example

The redoxmer example we allude to above can be run from the command line and requires only a few minutes to complete:

examol run examples/redoxmers/spec.py:spec

The above command simply tells ExaMol the name of the file containing the run spec, and the name of the spec within that file. ExaMol will then run it for you.

Project Support

Initial development of ExaMol was funded jointly by the ExaLearn Co-design Center of the Department of Energy Exascale Computing Project and the Joint Center for Energy Storage Research (JCESR), an Energy Innovation Hub funded by the Department of Energy.

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.