Tutorials for Multiscale Coarse-Graining

The multiscale coarse-graining (MSCG) methodology is a systematic, bottom-up method to construct effective coarse-grained (CG) models. It seeks to approximate the many-body potential of mean force by minimizing the difference between the calcualted CG forces and the mapped fine-grained reference forces (a procedure often termed “force-matching”). This series of tutorials guides students through the theories and procedures used to create models for complex chemical systems using MSCG-FM, the open-source MSCG software developed by the Voth Group.

This online course contains 4 lessons. The first lession covers basic topics underpinning the remaining lessions. Lessons 1-3 then provide students with basic introduction on the theory behind MSCG and an overview of CG modeling procedure. The source repository for this website additionally contains the files for each tutorial (in an appropriately named directory): (1) the main contents (README.rst); (2) sample codes or commands for the hands-on session (notebook.ipynb); (3) and other attached files (images or data files).

Download Tutorials

To download the source code of these tutorials (including the jupyter notebook files useful for hands-on sessions), you can either use git to clone the repository by

$ git clone git@software.rcc.uchicago.edu:MSCG/MSCG-tutorials.git tutorials
$ cd tutorials

or, directly download and upack the tar-ball file from this website:

$ curl -O -k https://software.rcc.uchicago.edu/mscg/tutorials.tar.gz
$ mkdir tutorials
$ cd tutorials
$ tar xvf ../tutorials.tar.gz

The files are organized in sub-folders named in the form lesson-[XX]. To open the jupyter notebook with code samples:

$ cd lesson-[XX]
$ jupyter-notebook notebook.ipynb

Understand Colored Code-Blocks

Followings are frequently used styles of code-blocks, and explanations of them.

# This is for BASH shell commands. Generally executable by the default shell on a mac or linux computer.
# This is for Python comands. Need to be executed in Jupyter-notebook or by Python
# This is for any output contents on the screen by codes
# This is for any output contents on the screen by codes


  1. Shell environment in any Unix/Linux-like operating systems

    • Linux (Ubuntu, CentOS, Arch)

    • MacOS

  2. Required Software Packages

  3. Additional Python Packages

$ conda install -c conda-forge -y mdtraj