Skip to content

Commit

Permalink
Merge branch 'v2.9'
Browse files Browse the repository at this point in the history
  • Loading branch information
GiovanniBussi committed Apr 24, 2023
2 parents 38bad61 + 3ac9a16 commit 4332e74
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 69 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ env:

jobs:
linux:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -47,6 +47,8 @@ jobs:
echo "LIBRARY_PATH=$HOME/opt/lib:$LIBRARY_PATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$HOME/opt/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PYTHONPATH=$HOME/opt/lib/plumed/python:$PYTHONPATH" >> $GITHUB_ENV
# this is to avoid errors on ubuntu 22. this is overridden in intel build
echo "FC=gfortran -fallow-argument-mismatch" >> $GITHUB_ENV
- name: Install generic packages
run: |
sudo apt-get update -qq
Expand Down
3 changes: 2 additions & 1 deletion src/maketools/nmcheck
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

# NOTE: boost have unique global symbols and using them would make plumed lib not unloadable
# NOTE: also shared_ptr in some GNU library version has the same problem :-( This seems not solvable.
# NOTE: ubuntu 22 have something in the std library, I remove std:: from the checks (GB)
# NOTE: also libtorch (in particular the c10 library) has unique global symbols [added by luigibonati]

LIST=$(nm -C "$@" 2>/dev/null | grep " u " | grep -v "boost::" | grep -v "c10::" | grep -v "std::_Sp_make_shared_tag")
LIST=$(nm -C "$@" 2>/dev/null | grep " u " | grep -v "boost::" | grep -v "c10::" | grep -v "std::_Sp_make_shared_tag" | grep -v " std::")

FAILED=

Expand Down
74 changes: 11 additions & 63 deletions user-doc/tutorials/aa-master-ISDD-1.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/**
\page master-ISDD-1 Master ISDD tutorial 2021: Brief introduction to PLUMED
a-master-ISDD-1.txt /**
\page master-ISDD-1 Master ISDD tutorial 2023: Brief introduction to PLUMED

\section master-ISDD-1-aims Aim

The aim of this tutorial is to introduce users to the PLUMED syntax. We will go through the preparation of input files to calculate
and print simple collective variables on a pre-calculated trajectory. This tutorial has been prepared by Max Bonomi
(adapting a lot of material from other tutorials) for
(adapting a lot of material from other tutorials and Masterclass) for
the <a href="http://isddteach.sdv.univ-paris-diderot.fr/fr/accueil.html">Master In Silico Drug Design</a>, held
at Universite' de Paris on October 26th, 2021.
at Université Paris Cité on March 6th, 2023.

\section master-ISDD-1-lo Objectives

Expand All @@ -16,11 +16,10 @@ Once this tutorial is completed, users will be able to:
- Write a simple PLUMED input file and use it with the PLUMED \ref driver to analyze a trajectory.
- Print collective variables such as distances (\ref DISTANCE), torsional angles (\ref TORSION), and gyration radius (\ref GYRATION) using the \ref PRINT action.
- Use \ref MOLINFO shortcuts.
- Define and use virtual atoms, such as \ref CENTER.

\section master-ISDD-1-software Software

In this and in the next tutorial, we will use two pieces of software: <a href="https://www.plumed.org">PLUMED</a> version 2.7.2 and
In this and in the next tutorial, we will use two pieces of software: <a href="https://www.plumed.org">PLUMED</a> version 2.8.2 and
<a href="http://www.gromacs.org">GROMACS</a> version 2019.6. First, we need to install the software on your machine using `conda`.

\subsection master-ISDD-1-install Installation
Expand Down Expand Up @@ -52,14 +51,14 @@ Now we can create a `conda` environment for the ISDD tutorial using the followin

\verbatim
# create environment
conda create --name ISDD-tutorial-2021
conda create --name ISDD-tutorial-2023
\endverbatim

and activate it with:

\verbatim
# activate environment
conda activate ISDD-tutorial-2021
conda activate ISDD-tutorial-2023
\endverbatim

Finally, we can proceed with the installation of the required software:
Expand All @@ -72,10 +71,10 @@ conda install --strict-channel-priority -c plumed/label/masterclass -c conda-for
The `--strict-channel-priority` might be necessary in case your `conda` install is configured to download packages from the `bioconda` channel. Indeed, `bioconda` contains a version of GROMACS that is **not** patched with PLUMED and would thus not work here.

Keep in mind that every time you open a new shell, in order to use PLUMED and GROMACS you need to
activate the `ISDD-tutorial-2021` environment using the following command:
activate the `ISDD-tutorial-2023` environment using the following command:

\verbatim
conda activate ISDD-tutorial-2021
conda activate ISDD-tutorial-2023
\endverbatim

\subsection master-ISDD-1-plumed PLUMED overview
Expand Down Expand Up @@ -205,7 +204,7 @@ tar xvzf master-ISDD-1.tar.gz
Once unpacked, all the files can be found in the `master-ISDD-1` directory. To keep things clean,
it is recommended to run each exercise in a separate sub-directory that you can create inside `master-ISDD-1`.

\note This tutorial has been tested with PLUMED version 2.7.2.
\note This tutorial has been tested with PLUMED version 2.8.2.

\section master-ISDD-1-ex Exercises

Expand Down Expand Up @@ -324,62 +323,11 @@ You can use `gnuplot` to visualize the trajectory of the two CVs calculated with
and written in the `COLVAR` file.
__Are the two trajectories identical?__

\subsection master-ISDD-1-ex-3 Exercise 3: Virtual atoms

Sometimes, when calculating a CV, you may not want to use the positions of a number of atoms directly.
Instead you may want to define a virtual atom whose position is generated based on the positions
of a collection of other atoms. For example you might want to use the center of mass (\ref COM) or
the geometric center (\ref CENTER) of a group of atoms.

In this exercise, you will learn how to specify virtual atoms and later use them to define a CV.
Let's start by having a look at the PLUMED input file below.

\plumedfile
# Geometric center of first residue
first: CENTER ATOMS=1,2,3,4,5,6,7,8
# Geometric center of last residue
last: CENTER ATOMS=427-436

# Distance between centers of first and last residues, with PBCs
d1: DISTANCE ATOMS=first,last
# Distance between centers of first and last residues, without PBCs
d2: DISTANCE ATOMS=first,last NOPBC

# Print the two distances on COLVAR file every step
PRINT ARG=__FILL__ FILE=COLVAR STRIDE=__FILL__
\endplumedfile

The file above instructs PLUMED to:

1. calculate the position of the virtual atom `first` as the \ref CENTER of atoms from 1 to 8;
2. calculate the position of the virtual atom `last` as the \ref CENTER of atoms from 427 to 436;
3. calculate the distance between the two virtual atoms `first` and `last` and saves it in `d1`;
4. calculate the distance (ignoring periodic boundary conditions) between the two virtual atom `first` and `last` and saves it in `d2`;
5. print the content of `d1` and `d2` in the file `COLVAR` for every frame of the trajectory.

Notice that in the input above we have used two different ways of writing the atoms used in the \ref CENTER calculation:

1. `ATOMS=1,2,3,4,5,6,7,8` is the explicit list of the atoms we need;
2. `ATOMS=427-436` is the range of atoms needed.

Once you have prepared a PLUMED input file containing the above instructions, you can execute it on the trajectory `traj-broken.xtc`
by making use of the following command:

\verbatim
plumed driver --mf_xtc traj-broken.xtc --plumed plumed.dat
\endverbatim

Let's now analyze the output of the calculation by plotting the time series of the two CVs.
__Are they identical? What do you think is happening in those frames in which the two CVs are different?__

You can repeat the same analysis on `traj-whole.xtc` and compare with the previous trajectory.
__Are the results identical?__

\section master-ISDD-1-conclusions Conclusions

In summary, in this tutorial you should have learned how to use PLUMED to:
- Analyze previously calculated trajectories using the \ref driver utility.
- Define virtual atoms and using \ref MOLINFO shortcuts.
- Define \ref MOLINFO shortcuts.

*/

Expand Down
8 changes: 4 additions & 4 deletions user-doc/tutorials/aa-master-ISDD-2.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/**
\page master-ISDD-2 Master ISDD tutorial 2021: Metadynamics simulations with PLUMED
a-master-ISDD-2.txt/**
\page master-ISDD-2 Master ISDD tutorial 2023: Metadynamics simulations with PLUMED

\section master-ISDD-2-aims Aim

The aim of this tutorial is to train users to perform and analyze metadynamics simulations with PLUMED.
This tutorial has been prepared by Max Bonomi (adapting a lot of material from other tutorials) for
the <a href="http://isddteach.sdv.univ-paris-diderot.fr/fr/accueil.html">Master In Silico Drug Design</a>, held
at Universite' de Paris on October 26th, 2021.
at Université Paris Cité on March 6th, 2023.

\section master-ISDD-2-objectives Objectives

Expand Down Expand Up @@ -34,7 +34,7 @@ tar xvzf master-ISDD-2.tar.gz
Once unpacked, all the files can be found in the `master-ISDD-2` directory. To keep things clean,
it is recommended to run each exercise in a separate sub-directory that you can create inside `master-ISDD-2`.

\note This tutorial has been tested with PLUMED version 2.7.2 and GROMACS version 2019.6.
\note This tutorial has been tested with PLUMED version 2.8.2 and GROMACS version 2019.6.

\section master-ISDD-2-intro Introduction

Expand Down

1 comment on commit 4332e74

@PlumedBot
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found broken examples in automatic/a-masterclass-22-09.txt
Found broken examples in automatic/a-masterclass-22-11.txt
Found broken examples in automatic/a-masterclass-22-12.txt
Found broken examples in automatic/performance-optimization.txt
Found broken examples in automatic/a-trieste-6.txt
Found broken examples in automatic/munster.txt
Found broken examples in automatic/ANN.tmp
Found broken examples in automatic/EDS.tmp
Found broken examples in automatic/EMMI.tmp
Found broken examples in automatic/ENVIRONMENTSIMILARITY.tmp
Found broken examples in automatic/FOURIER_TRANSFORM.tmp
Found broken examples in automatic/FUNCPATHGENERAL.tmp
Found broken examples in automatic/FUNCPATHMSD.tmp
Found broken examples in automatic/FUNNEL.tmp
Found broken examples in automatic/FUNNEL_PS.tmp
Found broken examples in automatic/GHBFIX.tmp
Found broken examples in automatic/INCLUDE.tmp
Found broken examples in automatic/MAZE_MEMETIC_SAMPLING.tmp
Found broken examples in automatic/MAZE_OPTIMIZER_BIAS.tmp
Found broken examples in automatic/MAZE_RANDOM_ACCELERATION_MD.tmp
Found broken examples in automatic/MAZE_RANDOM_WALK.tmp
Found broken examples in automatic/MAZE_SIMULATED_ANNEALING.tmp
Found broken examples in automatic/MAZE_STEERED_MD.tmp
Found broken examples in automatic/PIV.tmp
Found broken examples in automatic/PLUMED.tmp
Found broken examples in MiscelaneousPP.md

Please sign in to comment.