Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Robust and stable clustering of molecular dynamics simulation trajectories.

License

NotificationsYou must be signed in to change notification settings

moldyn/Clustering

Repository files navigation

This software package provides extensive tools for fast, robust and stableclustering of molecular dynamics trajectories.The essential functions are:

  • density-based geometric clustering for microstate generation
  • dynamic clustering based on the Most-Probable-Path algorithm (MPP)
  • variable dynamic coring for boundary corrections
  • dynamic noise assignment.

Additionally, the package includes tools to efficiently filter originalcoordinates or order parameters based on a discrete state definitionto identify representative structures and variables of clusters.

Computationally demanding functions are parallelized using CUDA or OpenMP.

All options are well documented and may be viewed by 'clustering -h'.

A documentation can be found on the projectpage, including an extensivetutorial which describes all technicaldetails in performing a complete clustering run from trajectory to markov state model.

The source code itself is additionally documented via doxygen. Run 'make doc' inthe build directory (see below for installation intructions) to compile the sourcecode documentation in html. Otherwise, it can be viewedhere.

Citations

The underlying methods are based on the following articles:

  • F. Sittel and G. Stock,Robust Density-Based Clustering to IdentifyMetastable Conformational States of Proteins,J. Chem. Theory Comput., 12, 2426; DOI:10.1021/acs.jctc.5b01233
  • A. Jain and G. Stock,Hierarchical folding free energy landscape of HP35revealed by most probable path clustering,J. of Phys. Chem. B, 118, 7750 - 7760, 2014; DOI:10.1021/jp410398a
  • D. Nagel, A. Weber, B. Lickert and G. Stock,Dynamical coring of Markov state models,J. Chem. Phys., 150, 094111, 2019; DOI:10.1063/1.5081767

We kindly ask you to cite these articles if you use this software package forpublished works.

Licensing

This project was created bylettis and is currently maintained bymoldyn-nagel.

Copyright (c) 2015-2019,Florian Sittel and Daniel NagelAll rights reserved.

Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice,this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentationand/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANYEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIESOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENTSHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENTOF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ORTORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Installation

This package can be installed with conda via

conda install moldyn-clustering -c conda-forge

If conda is not available, it can be compiled as well.

Compilation

Requirements

required:

  • BOOST >= 1.49
  • cmake >= 2.8
  • arecent C++ compiler (e.g. GNU g++ >= 4.9, mustsupport C++11 standard)

optional:

  • CUDA >= 9.1
  • doxygen (to build the API docs)

Quick-Start

To quickly get a working (but possibly underperforming) binary

  • unpack the code ...
    # tar xfz clustering_VERSION.tar.gz
  • create a build folder inside the code directory ...
    # cd clustering_VERSION    # mkdir build
  • change to the build directory ...
    # cd build
  • ... and run cmake
    # cmake .. -DCMAKE_INSTALL_PREFIX=/my/installation/path
  • then compile and install the package to /my/installation/path (or any otherpath you chose above) by invoking
    # make    # make install

If you want to have bash completion enabled, you need to add following line to your.bashrc

# in file .bashrcsource /my/installation/path/bash_completion_clustering.sh

Optimized Binaries and Custom Build Options

CUDA

If you have an Nvidia graphic card it can be used to significantly speed up theclustering density method, by setting the followingcmake-option:-DUSE_CUDA=1

Vectorization

If you have a modern computer with vectorizing instruction sets (SSE2, SSE4_2,AVX, ...), set the followingcmake-option: -DCPU_ACCELERATION=,where is one of

  • SSE2
  • SSE4_1
  • SSE4_2
  • AVX

It is important to select an option that is actually supported by your machine.Otherwise the program will produce erratic results, crash or not compile at all.On linux systems, you can check your computer's capabilities with

    # cat /proc/cpuinfo

Check in theflags:-block, if a certain instruction set is supported.If it is not listed, it is not supported.

Native Compilation

To compile the code with '-march=native' option (specific to the GNU compiler),add '-DNATIVE_COMPILATION=ON' to your cmake-flags.Using this option, the GNU compiler will automatically use all availableinstruction sets for optimal performance (attention: you stillneed to set the vectorization option above, even if you use this option).

Unfortunately, the resulting binary will most likely run only on the computerit was compiled on - donot use this option if you wantto distribute the binary, e.g. on a cluster.


[8]ページ先頭

©2009-2025 Movatter.jp