Skip to content

Tool to calculate the root mean square deviation between molecular structures

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

grimme-lab/rmsd-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Root mean square deviation for structural comparison

LGPL-3.0 Release CI docs

Installation

To build this project from the source code in this repository you need to have

  • a Fortran compiler supporting Fortran 2008
  • meson version 0.53 or newer
  • a build-system backend, i.e. ninja version 1.7 or newer

Setup a build with

meson setup _build

You can select the Fortran compiler by the FC environment variable, currently this project supports GCC and Intel compilers. To compile the project run

meson compile -C _build

You can run the projects testsuite with

meson test -C _build --print-errorlogs

If the testsuite passes you can install with

meson configure _build --prefix=/path/to/install
meson install -C _build

This might require administrator access depending on the chosen install prefix. Now you are ready to use mctc-rmsd.

Usage

To calculate the RMSD between two structures use the mctc-rmsd(1) program with

mctc-rmsd struc-a.xyz struc-b.xyz

The RMSD is calculated relative to the first provided structure. Multiple structures can be provided to perform additional RMSD calculations,

mctc-rmsd coord conf-1.xyz conf-2.xyz conf-3.xyz

To select a subset of atoms use a filter

mctc-rmsd xrd.pdb opt.pdb --filter heavy

The heavy atom RMSD (excluding all H atoms) is built-in by default. New filter can be defined in the mctc.toml configuration file in the current directory or in your home directory with:

[rmsd.filter]
# Definition of the built-in heavy atom filter
heavy.exclude = ["H", "h"]
# Include all carbon, nitrogen and oxygen atoms
organic.include = [6, 7, 8]

For more details look up the manual page.

License

This project is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This project is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU Lesser General Public License for more details.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the GNU Lesser General Public license, shall be licensed as above, without any additional terms or conditions.