diff --git a/conda/plumed/meta.yaml b/conda/plumed/meta.yaml index d565eec2784581d86003c79ba88f6b7b7006e156..8c4e8595ba0e1d3a80903215c7d7332a713d14fa 100644 --- a/conda/plumed/meta.yaml +++ b/conda/plumed/meta.yaml @@ -20,14 +20,18 @@ requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + - llvm-openmp # [osx] # xxd is provided by package vim and used during build - vim # [linux] host: - gsl - libblas - liblapack + - llvm-openmp # [osx] - xdrfile - zlib + run: + - llvm-openmp # [osx] test: commands: diff --git a/src/multicolvar/InPlaneDistances.cpp b/src/multicolvar/InPlaneDistances.cpp index 643f52375b17aadd7a82a05bfc252d8f4e7485a8..197c24b7875ba11da4cbd341ab51a539564fcccf 100644 --- a/src/multicolvar/InPlaneDistances.cpp +++ b/src/multicolvar/InPlaneDistances.cpp @@ -90,6 +90,7 @@ InPlaneDistances::InPlaneDistances(const ActionOptions&ao): // Read in the atoms std::vector<AtomNumber> all_atoms; readThreeGroups("GROUP","VECTORSTART","VECTOREND",false,false,all_atoms); + setupMultiColvarBase( all_atoms ); // Check atoms are OK if( getFullNumberOfTasks()!=getNumberOfAtoms()-2 ) error("you should specify one atom for VECTORSTART and one atom for VECTOREND only"); diff --git a/user-doc/spelling_words.dict b/user-doc/spelling_words.dict index 80305be0ab61951a74bd9867ace12ef32cbbfd68..a78f0e29c21aeb529e68b4a5ff43e3b0a8d88314 100644 --- a/user-doc/spelling_words.dict +++ b/user-doc/spelling_words.dict @@ -932,3 +932,16 @@ MoleOrbitalHybridAnalyst blas endhtmlonly htmlonly +diagonalize +diagonalized +diagonalization +vmdrc +lammps +equilibration +xdistances +homebrew +ffmpeg +gsl +lmp +equilibrating +equilibrates diff --git a/user-doc/tutorials/aa-lugano-5.txt b/user-doc/tutorials/aa-lugano-5.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d3683c0da6dfacfde714c4b251c95cc98eebf6a --- /dev/null +++ b/user-doc/tutorials/aa-lugano-5.txt @@ -0,0 +1,446 @@ +/** +\page lugano-5 Lugano tutorial: Dimensionality reduction + +\section lugano-5-aim Aims + +This tutorial will show you how to you can use PLUMED to perform dimensionality reduction. The tutorial will try not +to focus on the application of one particular algorithm but will instead try to show you the principles behind the +implementation of these algorithms that has been adopted within PLUMED. By the end of the tutorial you will thus be +able to design your own dimensionality reduction algorithm. + +\section lugano-5-lo Objectives + +Once this tutorial is completed students will + +- Be able to use \ref COLLECT_FRAMES to store a trajectory for later analysis +- Be able to use \ref PCA to perform principal component analysis +- Be able to construct a dissimilarity matrix using \ref EUCLIDEAN_DISSIMILARITIES +- Be able to select a subset of landmark points to analyze with particular dimensionality reduction algorithm. +- Be able to construct low dimensional representations using \ref CLASSICAL_MDS and \ref SKETCH_MAP. +- Be able to generate projections of non-landmark points by using \ref PROJECT_ALL_ANALYSIS_DATA + +\section lugano-5-resources Resources + +The \tarball{lugano-4} for this project contains the following files: + +- beta-hairpin.pdb : A pdb file containing the protein that we are going to study in this tutorial in a beta hairpin configuration. This input will be used as a template so that we can use the names of special groups in many of the inputs that follow. + +In addition, you will also need to get a copy of the trajectory that we will be analyzing in this tutorial by executing the following command: + +\verbatim +wget https://github.com/plumed/lugano2019/raw/master/handson_5/traj.dcd +\endverbatim + +The trajectory we are analyzing is a smaller version of the trajectory that was analyzed in the following paper: + +- https://www.frontiersin.org/articles/10.3389/fmolb.2019.00046/full + +In this paper the trajectory was analyzed with a variety of different dimensionality reduction algorithms and the +results were compared. The paper may, therefore, be of interest. + +This tutorial has been tested on v2.5 but it should also work with other versions of PLUMED. + +Also notice that the `.solutions` direction of the tarball contains correct input files for the exercises. +Please only look at these files once you have tried to solve the problems yourself. Similarly the tutorial +below contains questions for you to answer that are shown in bold. You can reveal the answers to these questions +by clicking on links within the tutorial but you should obviously try to answer things yourself before reading these +answers. + +\section lugano-5-intro Introduction + +In all of the previous tutorials we have used functions that take the position of all the atoms in the system - a \f$3N\f$ +dimensional vector, where \f$N\f$ is the number of atoms as input. This function then outputs a single number - the value of the collective variable - +that tells us where in a low dimensional space we should project that configuration. Problems can arise because this collective-variable function +is many-to-one and it may thus be difficult to distinguish between every different pair of structurally distinct conformers of our system. + +In this tutorial we are going to introduce an alternative approach to this business of finding collective variables. In this alternative +approach we are going to stop trying to seek out a function that can take any configuration of the atoms (any \f$3N\f$-dimensional vector) and find its +low dimensional projection on the collective variable axis. Instead we are going to take a set of configurations of the atoms (a set of \f$3N\f$-dimensional +vectors of atom positions) and try to find a sensible set of projections for these configurations. We are going to find this low dimensional representation +by seeking out <a href="http://en.wikipedia.org/wiki/Isometry"> an isometry </a> between the space containing the \f$3N\f$-dimensional vectors of atom positions +and some lower-dimensional space. This idea is explained in more detail in the following <a href="https://www.youtube.com/watch?v=ofC2qz0_9_A&feature=youtu.be"> video </a> +and details on the various algorithms that we are using in the tutorial can be found in: + +- https://arxiv.org/abs/1907.04170 + +As you will find out if you read the chapter that is linked above there are multiple ways to construct an isometric embedding of a trajectory. This tutorial will thus try to teach you a set of basic +ideas and will then encourage you to experiment and to develop your own strategy for representing the data set. + +\section lugano-5-exercises Exercises + +\subsection lugano-5-starting Collecting the trajectory + +The first thing that we need to learn to do in order to run these dimensionality reduction algorithms is to store the trajectory so that we can analyze in later. The following input (once +the blanks are filled in) will take the positions of the non-hydrogen atoms in our protein and store them every 1 step in an object that we can refer to later in the input using the label data. All +the configurations stored in data will then be output to a pdb file once the whole trajectory is read in. Fill in the blanks in the input below now: + +\plumedfile +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=__FILL__ MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES __FILL__=@nonhydrogens + +# This should output the atomic positions for the frames that were collected to a pdb file called traj.pdb +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=__FILL__ FILE=traj.pdb +\endplumedfile + +Then, once all the blanks are filled in, run the command using: + +\verbatim +plumed driver --mf_dcd traj.dcd +\endverbatim + +Notice that the above input stored the atomic positions of the atoms. We can use the atomic positions in many of the dimensionality reductions that will be discussed later in this tutorial or +we can use a high-dimensional vector of collective variables. The following input thus gives an example of which shows you can compute and store the values the Ramachandran angles of the protein +took in all the trajectory frames so that they can be analyzed using a dimensionality reduction algorithm. Try to fill in the blanks on this input and then run this form of analysis on the trajectory +using the command above once more: + +\plumedfile +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=__FILL__ MOLTYPE=protein + +# The following commands compute all the Ramachandran angles of the protein for you +r2-phi: TORSION ATOMS=@phi-2 +r2-psi: TORSION ATOMS=@psi-2 +r3-phi: TORSION ATOMS=@phi-3 +r3-psi: TORSION ATOMS=@psi-3 +r4-phi: TORSION __FILL__ +r4-psi: TORSION __FILL__ +r5-phi: TORSION __FILL__ +r5-psi: TORSION __FILL__ +r6-phi: TORSION __FILL__ +r6-psi: TORSION __FILL__ +r7-phi: TORSION __FILL__ +r7-psi: TORSION __FILL__ +r8-phi: TORSION __FILL__ +r8-psi: TORSION __FILL__ +r9-phi: TORSION __FILL__ +r9-psi: TORSION __FILL__ +r10-phi: TORSION __FILL__ +r10-psi: TORSION __FILL__ +r11-phi: TORSION __FILL__ +r11-psi: TORSION __FILL__ +r12-phi: TORSION __FILL__ +r12-psi: TORSION __FILL__ +r13-phi: TORSION __FILL__ +r13-psi: TORSION __FILL__ +r14-phi: TORSION __FILL__ +r14-psi: TORSION __FILL__ +r15-phi: TORSION __FILL__ +r15-psi: TORSION __FILL__ +r16-phi: TORSION __FILL__ +r16-psi: TORSION __FILL__ + +# This command stores all the Ramachandran angles that were computed +cc: COLLECT_FRAMES __FILL__=r2-phi,r2-psi,r3-phi,r3-psi,r4-phi,r4-psi,r5-phi,r5-psi,r6-phi,r6-psi,r7-phi,r7-psi,r8-phi,r8-psi,r9-phi,r9-psi,r10-phi,r10-psi,r11-phi,r11-psi,r12-phi,r12-psi,r13-phi,r13-psi,r14-phi,r14-psi,r15-phi,r15-psi,r16-phi,r16-psi + +# This command outputs all the Ramachandran angles that were stored to a file called angles_data +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=__FILL__ ARG=cc.* FILE=angles_data +\endplumedfile + +\subsection lugano-5-pca Performing PCA + +Having learned how to store data for later analysis with a dimensionality reduction algorithm lets now apply principal component analysis (PCA) upon +our stored data. In principal component analysis a low dimensional projections for our trajectory are constructed by: + +- Computing a covariance matrix from the trajectory data +- Diagonalizing the covariance matrix. +- Calculating the projection of each trajectory frame on a subset of the eigenvectors of the covariance matrix. + +To perform PCA using PLUMED we are going to use the following input with the blanks filled in: + +\plumedfile +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=__FILL__ MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES __FILL__=@nonhydrogens +# This diagonalizes the covariance matrix +pca: PCA USE_OUTPUT_DATA_FROM=__FILL__ METRIC=OPTIMAL NLOW_DIM=2 +# This projects each of the trajectory frames onto the low dimensional space that was +#Â identified by the PCA command +dat: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=__FILL__ PROJECTION=__FILL__ + +# This should output the atomic positions for the frames that were collected and analyzed using PCA +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=__FILL__ FILE=traj.pdb +#Â This should output the PCA projections of all the coordinates +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=__FILL__ ARG=dat.* FILE=pca_data + +#Â These next three commands calculate the secondary structure variables. These +#Â variables measure how much of the structure resembles an alpha helix, an antiparallel beta sheet +#Â and a parallel beta sheet. Configurations that have different secondary structures should be projected +# in different parts of the low dimensional space. +alpha: ALPHARMSD RESIDUES=all +abeta: ANTIBETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 +pbeta: PARABETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 + +# These commands collect and output the secondary structure variables so that we can use this information to +# determine how good our projection of the trajectory data is. +cc2: COLLECT_FRAMES ARG=alpha,abeta,pbeta +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc2 ARG=cc2.* FILE=secondary_structure_data +\endplumed + +To generate the projection you run the command: + +\verbatim +plumed driver --mf_dcd traj.dcd +\endverbatim + +I would recommend visualizing this data using the GISMO plugin to VMD. You can find instructions on how to compile this code on the page below: + +http://epfl-cosmo.github.io/sketchmap/index.html?page=code + +(you don't need to compile the sketch-map code) Once GISMO is installed you should have an option to open it when you open vmd. The option +to open GISMO can be found under Extensions>Analysis>GISMO. To visualize the results from what we have just done you should need to follow +the following instructions: + +- Open vmd and load the pdb file that was output: traj.pdb +- Open GISMO and load the pca projections file: pca_data +- Open GISMO and load the secondary structure variables: secondary_structure_data +- You can safely ignore the error message that GISMO will give at this stage. +- Now choose to plot the quantities dat.coord-1 and dat.coord-2 on the x and y axis respectively. Color the points using cc2.alpha. + +If you follow the instructions above you should get an image like the one shown below: + +\anchor lugano-5-gismo +\image html lugano-5-gismo.png "Figure created using GISMO that shows where each frame of the trajectory is projected in the low-dimensional space. Points are colored in accordance with the alpha helical content of the structure." + +You can click on the various points in the plot and VMD will show you the structure in the corresponding trajectory frame. Furthermore, you can get a particularly useful representation of the structures by adding the following +text to your ~/.vmdrc file: + +\verbatim +user add key m { + puts "Automatic update of secondary structure, and alignment to first frame" + trace variable vmd_frame w structure_trace + rmsdtt + rmsdtt::doAlign + destroy $::rmsdtt::w + clear_reps top + mol color Structure + mol selection backbone + mol representation NewCartoon + mol addrep top +} +\endverbatim + +With this text in your ~/.vmdrc file VMD will align all the structures with the first frame and then show the cartoon representation of each structure when you press the m button on your keyboard + +\subsection lugano-5-mds Performing MDS + +In the previous section we performed PCA on the atomic positions directly. In the section before last, however, we also saw how we can store high-dimensional vectors of collective variables and then +use these vectors as input to a dimensionality reduction algorithm. We might legitimately ask, therefore, if we can do PCA using these high-dimensional vectors as input rather than atomic positions. +The answer to this question is yes as long as the CV is not periodic. If any of our CVs are not periodic we cannot analyze them using the \ref PCA action. We can, however, formulate the PCA algorithm +in a different way. In this alternative formulation, which is known as classical multidimensional scaling (MDS) we do the following: + +- We calculate the matrix of distances between configurations +- We perform an operation known as centering the matrix. +- We diagonalize the centered matrix +- The eigenvectors multiplied by the square root of the corresponding eigenvalue can then be used as a set of projections for our input points. + +This method is used less often the PCA as the matrix that we have to diagonalize here in the third step can be considerably larger than the matrix that we have to diagonalize when we perform PCA. In fact +in order to avoid this expensive diagonalization step we often select a subset of so called landmark points on which to run the algorithm directly. Projections for the remaining points are then found +by using a so-called out-of-sample procedure. This is what has been done in the following input: + +\plumedfile + This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=beta-hairpin.pdb MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES ATOMS=@nonhydrogens +# This should output the atomic positions for the frames that were collected and analyzed using MDS +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=cc FILE=traj.pdb + +# The following commands compute all the Ramachandran angles of the protein for you +r2-phi: TORSION ATOMS=@phi-2 +r2-psi: TORSION ATOMS=@psi-2 +r3-phi: TORSION ATOMS=@phi-3 +r3-psi: TORSION ATOMS=@psi-3 +r4-phi: TORSION __FILL__ +r4-psi: TORSION __FILL__ +r5-phi: TORSION __FILL__ +r5-psi: TORSION __FILL__ +r6-phi: TORSION __FILL__ +r6-psi: TORSION __FILL__ +r7-phi: TORSION __FILL__ +r7-psi: TORSION __FILL__ +r8-phi: TORSION __FILL__ +r8-psi: TORSION __FILL__ +r9-phi: TORSION __FILL__ +r9-psi: TORSION __FILL__ +r10-phi: TORSION __FILL__ +r10-psi: TORSION __FILL__ +r11-phi: TORSION __FILL__ +r11-psi: TORSION __FILL__ +r12-phi: TORSION __FILL__ +r12-psi: TORSION __FILL__ +r13-phi: TORSION __FILL__ +r13-psi: TORSION __FILL__ +r14-phi: TORSION __FILL__ +r14-psi: TORSION __FILL__ +r15-phi: TORSION __FILL__ +r15-psi: TORSION __FILL__ +r16-phi: TORSION __FILL__ +r16-psi: TORSION __FILL__ + +# This command stores all the Ramachandran angles that were computed +angles: COLLECT_FRAMES __FILL__=r2-phi,r2-psi,r3-phi,r3-psi,r4-phi,r4-psi,r5-phi,r5-psi,r6-phi,r6-psi,r7-phi,r7-psi,r8-phi,r8-psi,r9-phi,r9-psi,r10-phi,r10-psi,r11-phi,r11-psi,r12-phi,r12-psi,r13-phi,r13-psi,r14-phi,r14-psi,r15-phi,r15-psi,r16-phi,r16-psi +#Â Lets now compute the matrix of distances between the frames in the space of the Ramachandran angles +distmat: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=__FILL__ METRIC=EUCLIDEAN +# Now select 500 landmark points to analyze +fps: LANDMARK_SELECT_FPS USE_OUTPUT_DATA_FROM=__FILL__ NLANDMARKS=500 +# Run MDS on the landmarks +mds: CLASSICAL_MDS __FILL__=fps NLOW_DIM=2 +# Project the remaining trajectory data +osample: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=__FILL__ PROJECTION=__FILL__ + +# This command outputs all the projections of all the points in the low dimensional space +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=__FILL__ ARG=osample.* FILE=mds_data + +#Â These next three commands calculate the secondary structure variables. These +#Â variables measure how much of the structure resembles an alpha helix, an antiparallel beta sheet +#Â and a parallel beta sheet. Configurations that have different secondary structures should be projected +# in different parts of the low dimensional space. +alpha: ALPHARMSD RESIDUES=all +abeta: ANTIBETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 +pbeta: PARABETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 + +# These commands collect and output the secondary structure variables so that we can use this information to +# determine how good our projection of the trajectory data is. +cc2: COLLECT_FRAMES ARG=alpha,abeta,pbeta +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc2 ARG=cc2.* FILE=secondary_structure_data +\endplumedfile + +This input collects all the torsional angles for the configurations in the trajectory. Then, at the end of the calculation, the matrix of distances between these points is computed and a set of landmark points +is selected using a method known as farthest point sampling. A matrix that contains only those distances between the landmarks is then constructed and diagonalized by the \ref CLASSICAL_MDS action so that +projections of the landmarks can be constructed. The final step is then to project the remainder of the trajectory using the \ref PROJECT_ALL_ANALYSIS_DATA action. Try to fill in the blanks in the input above +and run this calculation now using the command: + +\verbatim +plumed driver --mf_dcd traj.dcd +\endverbatim + +Once the calculation has completed you can, once again, visualize the data generated using the GISMO plugin. + +\subsection lugano-5-smap Performing sketch-map + +The two algorithms (PCA and MDS) that we have looked at thus far are both linear dimensionality reduction algorithms. In addition to these there are a whole class of non-linear dimensionality reduction +reduction algorithms which work by transforming the matrix of dissimilarities between configurations, calculating geodesic rather than Euclidean distances between configurations or by changing the form of the +loss function that is optimized. In this final exercise we are going to use an algorithm that uses the last of the these three strategies to construct a non-linear projection. The algorithm is known as sketch-map +and an input for sketch-map is provided below: + +\plumedfile +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=__FILL__ MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES __FILL__=@nonhydrogens +# This should output the atomic positions for the frames that were collected and analyzed using MDS +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=__FILL__ FILE=traj.pdb + +# The following commands compute all the Ramachandran angles of the protein for you +r2-phi: TORSION ATOMS=@phi-2 +r2-psi: TORSION ATOMS=@psi-2 +r3-phi: TORSION ATOMS=@phi-3 +r3-psi: TORSION ATOMS=@psi-3 +r4-phi: TORSION __FILL__ +r4-psi: TORSION __FILL__ +r5-phi: TORSION __FILL__ +r5-psi: TORSION __FILL__ +r6-phi: TORSION __FILL__ +r6-psi: TORSION __FILL__ +r7-phi: TORSION __FILL__ +r7-psi: TORSION __FILL__ +r8-phi: TORSION __FILL__ +r8-psi: TORSION __FILL__ +r9-phi: TORSION __FILL__ +r9-psi: TORSION __FILL__ +r10-phi: TORSION __FILL__ +r10-psi: TORSION __FILL__ +r11-phi: TORSION __FILL__ +r11-psi: TORSION __FILL__ +r12-phi: TORSION __FILL__ +r12-psi: TORSION __FILL__ +r13-phi: TORSION __FILL__ +r13-psi: TORSION __FILL__ +r14-phi: TORSION __FILL__ +r14-psi: TORSION __FILL__ +r15-phi: TORSION __FILL__ +r15-psi: TORSION __FILL__ +r16-phi: TORSION __FILL__ +r16-psi: TORSION __FILL__ + +# This command stores all the Ramachandran angles that were computed +angles: COLLECT_FRAMES __FILL__=r2-phi,r2-psi,r3-phi,r3-psi,r4-phi,r4-psi,r5-phi,r5-psi,r6-phi,r6-psi,r7-phi,r7-psi,r8-phi,r8-psi,r9-phi,r9-psi,r10-phi,r10-psi,r11-phi,r11-psi,r12-phi,r12-psi,r13-phi,r13-psi,r14-phi,r14-psi,r15-phi,r15-psi,r16-phi,r16-psi +#Â Lets now compute the matrix of distances between the frames in the space of the Ramachandran angles +distmat: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=__FILL__ METRIC=EUCLIDEAN +# Now select 500 landmark points to analyze +fps: LANDMARK_SELECT_FPS USE_OUTPUT_DATA_FROM=__FILL__ NLANDMARKS=500 +# Run sketch-map on the landmarks +smap: SKETCH_MAP __FILL__=fps NLOW_DIM=2 HIGH_DIM_FUNCTION={SMAP R_0=6 A=8 B=2} LOW_DIM_FUNCTION={SMAP R_0=6 A=2 B=2} CGTOL=1E-3 CGRID_SIZE=20 FGRID_SIZE=200 ANNEAL_STEPS=0 +# Project the remaining trajectory data +osample: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=__FILL__ PROJECTION=__FILL__ + +# This command outputs all the projections of all the points in the low dimensional space +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=__FILL__ ARG=osample.* FILE=smap_data + +#Â These next three commands calculate the secondary structure variables. These +#Â variables measure how much of the structure resembles an alpha helix, an antiparallel beta sheet +#Â and a parallel beta sheet. Configurations that have different secondary structures should be projected +# in different parts of the low dimensional space. +alpha: ALPHARMSD RESIDUES=all +abeta: ANTIBETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 +pbeta: PARABETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 + +# These commands collect and output the secondary structure variables so that we can use this information to +# determine how good our projection of the trajectory data is. +cc2: COLLECT_FRAMES ARG=alpha,abeta,pbeta +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc2 ARG=cc2.* FILE=secondary_structure_data +\endplumedfile + +This input collects all the torsional angles for the configurations in the trajectory. Then, at the end of the calculation, the matrix of distances between these points is computed and a set of landmark points +is selected using a method known as farthest point sampling. A matrix that contains only those distances between the landmarks is then constructed and diagonalized by the \ref CLASSICAL_MDS action and this +set of projections is used as the initial configuration for the various minimization algorithms that are then used to optimize the sketch-map stress function. As in the previous exercise once the projections of +the landmarks are found the projections for the remainder of the points in the trajectory are found by using the \ref PROJECT_ALL_ANALYSIS_DATA action. Try to fill in the blanks in the input above +and run this calculation now using the command: + +\verbatim +plumed driver --mf_dcd traj.dcd +\endverbatim + +Once the calculation has completed you can, once again, visualize the data generated using the GISMO plugin. + +\section lugano-5-extensions Conclusions and extensions + +This tutorial shown you that running dimensionality reduction algorithms using PLUMED involves the following stages: + +- Data is collected from the trajectory using \ref COLLECT_FRAMES. +- Landmark points are selected using a \ref landmarks algorithm +- The distances between the trajectory frames are computed using \ref EUCLIDEAN_DISSIMILARITIES +- A loss function is optimized in order to generate projections of the landmarks. +- Projections of the non-landmark points are generated using \ref PROJECT_ALL_ANALYSIS_DATA. + +There are multiple choices to be made in each of the various stages described above. For example, you can change the particular sort of data this is collected from the +trajectory, there are multiple different ways to select landmarks, you can use the distances directly or you can transform them, you can use various different loss function and you can +optimize the loss function using a variety of different algorithms. In this final exercise of the tutorial I thus want you to experiment with these various different choices that can +be made. Use the data set that we have been working with throughout this tutorial and try to construct an interesting representation of it using some combination of Actions that we have +not explored in the tutorial. Some things you can perhaps try: + +- Try sketch-map with RMSD distances as input rather than angles +- Try using different \ref landmarks algorithms +- Try using different numbers of landmarks +- Try to use PCA followed by sketch-map +- See if you can work out how to draw contour plot showing the free energy as a function of the low-dimensional coordinates. + +*/ + +link: @subpage lugano-5 + +description: How to perform dimensionality reduction using PLUMED + +additional-files: lugano-5 diff --git a/user-doc/tutorials/aa-lugano-6a.txt b/user-doc/tutorials/aa-lugano-6a.txt new file mode 100644 index 0000000000000000000000000000000000000000..282c1f86f30d831571c4b6c4fd0bf37a39e7ebaf --- /dev/null +++ b/user-doc/tutorials/aa-lugano-6a.txt @@ -0,0 +1,236 @@ +/** +\page lugano-6a Lugano tutorial: Using PLUMED with LAMMPS + +\section lugano-6a-aim Aims + +In this tutorial I will show you how you can use PLUMED to perform a simulation in which a mixture of +Lennard Jones particles are forced to separate and mix. You then will be encouraged to investigate +how the work done during this process depends on the simulation parameters or the parameters that are +used for the enhanced sampled algorithm. + +\section lugano-6a-lo Objectives + +Once this tutorial is completed students will + +- Know how to compile LAMMPS together with PLUMED +- Have used PLUMED coupled with LAMMPS to perform an investigation of their own design + +\section lugano-6a-resources Resources + +The \tarball{lugano-4} for this project contains the following files: + +- lammps-equilibration.in : The input for LAMMPS that we will use for our setup and equilibration steps of our investigation +- lammps-production.in : The input for LAMMPS that will be used for the production steps of our investigation +- xdistances.dat : A PLUMED file that defines the collective variables that we will use in the investigation. We will include this file in the PLUMED input files we write for this tutorial. + +This tutorial has been tested on v2.5 but it should also work with other versions of PLUMED. + +Also notice that the `.solutions` direction of the tarball contains correct input files for the exercises. +Please only look at these files once you have tried to solve the problems yourself. Similarly the tutorial +below contains questions for you to answer that are shown in bold. You can reveal the answers to these questions +by clicking on links within the tutorial but you should obviously try to answer things yourself before reading these +answers. + +\section lugano-6a-intro Introduction + +This tutorial is somewhat different to the others that you have done. The tutorial will show you how to run a simulation on a binary Lennard Jones system using PLUMED and +LAMMPS. In this simulation the two types of atoms will be forced to separate and mix. You will then be encouraged to design your investigation to further investigate this phenomenon +by means of simulation. There are a variety of different things you can investigate. You could investigate how the work done to separate the two components depends on the parameters of +the Lennard Jones model or temperature, you could investigate whether you can reduce the amount of hysteresis that is observed with the current simulation parameters. You may even decide +that the method proposed is not a particularly good way to investigate the phenomenon of phase separation and propose a different method for simulating the process. + +\section lugano-6a-exercises Exercises + +\subsection lugano-6a-installation Installing LAMMPS with PLUMED + +You can get a copy of LAMMPS from this website: + +https://lammps.sandia.gov/download.html + +In preparing the material for this exercises I downloaded the latest stable release C++ source. You can try to download the pre-built executables. I did +not do this, however, as I have a Mac and have broken many things on it in the past by using homebrew. I therefore am, as a rule, distrustful of homebrew. +I thus instead made a directory called: + +\verbatim +/Users/gareth/Plumed-tutorial/LAMMPS +\endverbatim + +On my directory, I copied the downloaded LAMMPS tar ball into this directory and extracted it from the tar ball using the command: + +\verbatim +tar -xvf lammps-5Jun19.tar +\endverbatim + +Once this operation was completed I found that when I ls the LAMMPS directory I created I have the following files: + +\verbatim +lammps-5Jun19 lammps-5Jun19.tar +\endverbatim + +Before building LAMMPS I rebuilt a version of PLUMED to link with LAMMPS. I did this using the following commands: + +\verbatim +./configure --enable-modules=all --prefix=/Users/gareth/Plumed-tutorial/LAMMPS +make +make install +\endverbatim + +I set the --prefix flag here to the directory I created to hold my compiled version of LAMMPS here rather than using the default in order to be able to control exactly what version of PLUMED I was linking +LAMMPS with. Setting the prefix in this way ensures that once the above three commands have been run the contents of the LAMMPS directory I created in the first step are as follows: + +\verbatim +bin include lammps-5Jun19 lammps-5Jun19.tar lib +\endverbatim + +To build LAMMPS we now issue the following commands: + +\verbatim +cd lammps-5Jun19 +mkdir build +cd build +export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/Users/gareth/Plumed-tutorial/LAMMPS/lib/pkgconfig +cmake -D PKG_MANYBODY=yes -D PKG_KSPACE=yes -D PKG_MOLECULE=yes -D PKG_RIGID=yes -D PKG_USER-PLUMED=yes ../cmake +\endverbatim + +LAMMPS requires cmake, ffmpeg, gsl and xdrfile, which for some reason were not installed on my computer. I therefore installed these packages using the commands: + +\verbatim +sudo port install cmake +sudo port install ffmpeg +sudo port install gsl +sudo port install xdrfile +\endverbatim + +Finally now that cmake was installed I could build LAMMPS using the command: + +\verbatim +make +\endverbatim + +This generates an executable called lmp in the build directory, which is used for the remainder of the exercises in this tutorial. + +\subsection lugano-6a-setup-equilibration Setting up the simulation and equilibrating + +Having compiled LAMMPS we can now run a simulation with LAMMPS. If we take the input lammps-equilibration.in that we downloaded from the tarball we can run this simulation using the following commands: + +\verbatim +touch plumed.dat +/Users/gareth/Plumed-tutorial/LAMMPS/lammps-5Jun19/build/lmp < lammps-equil.in +\endverbatim + +(In the second command here you obviously need to specify the location where you compiled LAMMPS instead of the location where I compiled LAMMPS). + +As you can see if you visualize the trajectory output.xyz that is generated by this simulation this input creates an initial configuration containing 1000 atoms. +There are 500 Ar atoms and 500 Ne atoms and in the initial configuration all the Ne atoms are placed in one half of the simulation box while the Ar atoms are placed +in the other half of the box. During the simulation you have just run you should observe that these two types of atom mix together as the system equilibrates. We are now +going to run this simulation again but we will now use PLUMED to monitor the extent how the system comes to equilibrium. In particular, we are going to use a filled in +version of the following input file to monitor the energy and the cell parameters over the course of the simulation: + +\plumedfile +# Specify that we are in natural units +UNITS NATURAL + +# Retrieve the value of the potential energy +ee: ENERGY +#Â Retrieve the 3 cell vectors +cell: CELL +# Compute the square moduli of three cell vectors +aaa2: COMBINE ARG=cell.ax,cell.ay,cell.az POWERS=2,2,2 PERIODIC=NO +bbb2: COMBINE ARG=cell.bx,cell.by,cell.bz POWERS=2,2,2 PERIODIC=NO +ccc2: COMBINE ARG=cell.cx,cell.cy,cell.cz POWERS=2,2,2 PERIODIC=NO +# Compute the moduli of the three cell vectors +aaa: __FILL__ +bbb: __FILL__ +ccc: __FILL__ + +# Print the energy and the moduli of the three cell vectors +PRINT ARG=ee,aaa,bbb,ccc FILE=colvar STRIDE=10 +\endplumedfile + +Rerun the equilibration calculation that you just performed but with a plumed.dat file that now contains a filled-in version of the above input. You should observe that the +energy and cell lengths that are output to the colvar file initially change substantially, which is normal as we are running in the NPT ensemble. After a while, however, these +quantities equilibrate and then simply fluctuate around some fixed value. + +\subsection lugano-6a-production Simulating phase separation + +Having equilibrated our system lets now simulate phase separation. What we are going to do is force the Ne atoms to be in a different part of the simulation cell from the Ar atoms. +We will thus force the system to be a un-mixed, two phase system from being a mixed, single-phase system. In other words, we are going to force the system to go back to a configuration +much like the one that we started our simulation from. Before we get on to running the simulation, however, we are going to need to copy a few pieces to the directory. In particular, we +need the following files: + +- We need to start our simulation from the equilibrated configuration that we arrived in at the end of the simulation run that we have just performed. We can start in this why by copying + the lammps restart file that was output from that simulation: lj.equilibration.restart.100000 + +- We need the lammps input file called lammps-production.in that we obtained from the tarball that we downloaded at the beginning of the exercise + +- We need the PLUMED file called xdistances.dat that we downloaded from the tar ball. This file defines one virtual atom and three collective variables and looks something like the following: + +\plumedfile +origin: FIXEDATOM AT=0,0,0 + +dx: XDISTANCES ... + ATOMS1=1,origin + ATOMS2=2,origin + BETWEEN={GAUSSIAN LOWER=0 UPPER=5.4373815 SMEAR=0.1} +... + +da: XDISTANCES ... + ATOMS1=1,origin + ATOMS2=2,origin + ATOMS3=3,origin + ATOMS4=4,origin + BETWEEN1={GAUSSIAN LOWER=0 UPPER=5.4373815 SMEAR=0.1 LABEL=left} + BETWEEN2={GAUSSIAN LOWER=-5.4373815 UPPER=0 SMEAR=0.1 LABEL=right} +... +\endplumedfile + +(In the actual file there are 500 ATOMS keywords in the first XDISTANCES command and 1000 ATOMS keywords in the second XDISTANCES command, however, which is why I have not shown the whole file.) + +These XDISTANCES commands compute the x-component of the vector connecting the pair of specified atom. The BETWEEN keywords then specify that we want to calculate how many of these x-components +are between a particular lower and upper bound. In this particular case, the FIXEDATOM is placed at the origin (center) of the simulation cell and the CVs monitor how many of the x-components of +the vector connecting the origin and each atom are positive and how many are negative. We thus divide the box into equally sized regions and count how many atoms are in each of these regions. +To this correctly, however, you have to ensure that the parameters for the BETWEEN keywords are set correctly. Wherever you see 5.4373815 in the input file you need to replace this value by +half the simulation box length that you will use for these production calculations. You can get the simulation box for the initial configuration (the final configuration from the +equilibration simulation) from the colvar file that was output from your equilibration simulation. You simply need to look at the value that this quantity took in the last line of the colvar file. +This quantity will stay fixed throughout your simulation as in this production run we are going to use the NVT ensemble. + +With these modifications in place lets now look at the PLUMED input file we are going to use for this calculation: + +\plumedfile +UNITS NATURAL +# Include the file that defines our collective variable +INCLUDE FILE=__FILL__ + +# Add a restraint that ensures that the number of atoms in the left part of the box stays the same as the number of atoms +# in the right part of the box +ccc: CUSTOM ARG=__FILL__ FUNC=x-y PERIODIC=NO +RESTRAINT ARG=ccc AT=0.0 KAPPA=10 + +# Add a moving restraint that forces the Ar atoms (1-500) to separate from the Ne atoms and to then mix again with the Ne atoms +res: MOVINGRESTRAINT ARG=__FILL__ AT0=230 AT1=450 AT2=230 KAPPA0=100 STEP0=0 STEP1=50000 STEP2=100000 +PRINT ARG=da.*,dx.between,res.* FILE=colvar STRIDE=10 +\endplumedfile + +Fill in the blanks in the input above and then try to run the simulation. You should see as the simulation progresses the Ne and Ar atoms un-mix into two separate phases. They then remix +and by the end of the simulation there is only one phase once more. + +\section lugano-6a-conclusions Conclusions + +This tutorial has shown you how you can run a simulation in which an interesting physical phenomenon is forced to occur. The phenomenon in question is phase separation - the simulation was +started from a mixed phase of Ar and Ne. These two chemical components were then forced to separate during the simulation and a two phase system was formed with all the Ne atoms in one +part of the simulation box and all the Ar atoms in the other part of the box. Your task is now to investigate this phenomenon further. Some questions you might want to ask yourself as you +design your investigation are the following: + +- How do you get a quantitative estimate of the energetic cost for performing the phase separation reaction? +- How does this energetic cost depend on the simulation parameters e.g. ratio of Ar/Ne, temperature, pressure? +- How does this energetic cost depend on the ratio of force field parameters? +- Is the method that you were taught in this tutorial the best method for studying this process? What other methods might we use to investigate phase separation? + + +*/ + +link: @subpage lugano-6a + +description: An exercise on running PLUMED with LAMMPS + +additional-files: lugano-6a diff --git a/user-doc/tutorials/lugano-5/.solutions/plumed_ex1.dat b/user-doc/tutorials/lugano-5/.solutions/plumed_ex1.dat new file mode 100644 index 0000000000000000000000000000000000000000..7ff51f4b12c986946f35345145f993e9f3838ef1 --- /dev/null +++ b/user-doc/tutorials/lugano-5/.solutions/plumed_ex1.dat @@ -0,0 +1,9 @@ +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=beta-hairpin.pdb MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES ATOMS=@nonhydrogens + +# This should output the atomic positions for the frames that were collected to a pdb file called traj.pdb +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=cc FILE=traj.pdb diff --git a/user-doc/tutorials/lugano-5/.solutions/plumed_ex2.dat b/user-doc/tutorials/lugano-5/.solutions/plumed_ex2.dat new file mode 100644 index 0000000000000000000000000000000000000000..35180f47288fb78f1fb7e0a69925b4673f543780 --- /dev/null +++ b/user-doc/tutorials/lugano-5/.solutions/plumed_ex2.dat @@ -0,0 +1,42 @@ +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=beta-hairpin.pdb MOLTYPE=protein + +# The following commands compute all the Ramachandran angles of the protein for you +r2-phi: TORSION ATOMS=@phi-2 +r2-psi: TORSION ATOMS=@psi-2 +r3-phi: TORSION ATOMS=@phi-3 +r3-psi: TORSION ATOMS=@psi-3 +r4-phi: TORSION ATOMS=@phi-4 +r4-psi: TORSION ATOMS=@psi-4 +r5-phi: TORSION ATOMS=@phi-5 +r5-psi: TORSION ATOMS=@psi-5 +r6-phi: TORSION ATOMS=@phi-6 +r6-psi: TORSION ATOMS=@psi-6 +r7-phi: TORSION ATOMS=@phi-7 +r7-psi: TORSION ATOMS=@psi-7 +r8-phi: TORSION ATOMS=@phi-8 +r8-psi: TORSION ATOMS=@psi-8 +r9-phi: TORSION ATOMS=@phi-9 +r9-psi: TORSION ATOMS=@psi-9 +r10-phi: TORSION ATOMS=@phi-10 +r10-psi: TORSION ATOMS=@psi-10 +r11-phi: TORSION ATOMS=@phi-11 +r11-psi: TORSION ATOMS=@psi-11 +r12-phi: TORSION ATOMS=@phi-12 +r12-psi: TORSION ATOMS=@psi-12 +r13-phi: TORSION ATOMS=@phi-13 +r13-psi: TORSION ATOMS=@psi-13 +r14-phi: TORSION ATOMS=@phi-14 +r14-psi: TORSION ATOMS=@psi-14 +r15-phi: TORSION ATOMS=@phi-15 +r15-psi: TORSION ATOMS=@psi-15 +r16-phi: TORSION ATOMS=@phi-16 +r16-psi: TORSION ATOMS=@psi-16 + +# This command stores all the Ramachandran angles that were computed +cc: COLLECT_FRAMES ARG=r2-phi,r2-psi,r3-phi,r3-psi,r4-phi,r4-psi,r5-phi,r5-psi,r6-phi,r6-psi,r7-phi,r7-psi,r8-phi,r8-psi,r9-phi,r9-psi,r10-phi,r10-psi,r11-phi,r11-psi,r12-phi,r12-psi,r13-phi,r13-psi,r14-phi,r14-psi,r15-phi,r15-psi,r16-phi,r16-psi + +# This command outputs all the Ramachandran angles that were stored to a file called angles_data +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc ARG=cc.* FILE=angles_data + diff --git a/user-doc/tutorials/lugano-5/.solutions/plumed_ex3.dat b/user-doc/tutorials/lugano-5/.solutions/plumed_ex3.dat new file mode 100644 index 0000000000000000000000000000000000000000..0560105dca592b76b879a1825611228a59395801 --- /dev/null +++ b/user-doc/tutorials/lugano-5/.solutions/plumed_ex3.dat @@ -0,0 +1,29 @@ +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=beta-hairpin.pdb MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES ATOMS=@nonhydrogens +# This diagonalizes the covariance matrix +pca: PCA USE_OUTPUT_DATA_FROM=cc METRIC=OPTIMAL NLOW_DIM=2 +# This projects each of the trajectory frames onto the low dimensional space that was +#Â identified by the PCA command +dat: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=cc PROJECTION=pca + +# This should output the atomic positions for the frames that were collected and analyzed using PCA +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=cc FILE=traj.pdb +#Â This should output the PCA projections of all the coordinates +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=dat ARG=dat.* FILE=pca_data + +#Â These next three commands calculate the secondary structure variables. These +#Â variables measure how much of the structure resembles an alpha helix, an antiparallel beta sheet +#Â and a parallel beta sheet. Configurations that have different secondary structures should be projected +# in different parts of the low dimensional space. +alpha: ALPHARMSD RESIDUES=all +abeta: ANTIBETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 +pbeta: PARABETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 + +# These commands collect and output the secondary structure variables so that we can use this information to +# determine how good our projection of the trajectory data is. +cc2: COLLECT_FRAMES ARG=alpha,abeta,pbeta +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc2 ARG=cc2.* FILE=secondary_structure_data diff --git a/user-doc/tutorials/lugano-5/.solutions/plumed_ex4.dat b/user-doc/tutorials/lugano-5/.solutions/plumed_ex4.dat new file mode 100644 index 0000000000000000000000000000000000000000..9f67470959b8fe641aec3d9f3b9a0a308c8934a0 --- /dev/null +++ b/user-doc/tutorials/lugano-5/.solutions/plumed_ex4.dat @@ -0,0 +1,68 @@ +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=beta-hairpin.pdb MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES ATOMS=@nonhydrogens +# This should output the atomic positions for the frames that were collected and analyzed using MDS +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=cc FILE=traj.pdb + +# The following commands compute all the Ramachandran angles of the protein for you +r2-phi: TORSION ATOMS=@phi-2 +r2-psi: TORSION ATOMS=@psi-2 +r3-phi: TORSION ATOMS=@phi-3 +r3-psi: TORSION ATOMS=@psi-3 +r4-phi: TORSION ATOMS=@phi-4 +r4-psi: TORSION ATOMS=@psi-4 +r5-phi: TORSION ATOMS=@phi-5 +r5-psi: TORSION ATOMS=@psi-5 +r6-phi: TORSION ATOMS=@phi-6 +r6-psi: TORSION ATOMS=@psi-6 +r7-phi: TORSION ATOMS=@phi-7 +r7-psi: TORSION ATOMS=@psi-7 +r8-phi: TORSION ATOMS=@phi-8 +r8-psi: TORSION ATOMS=@psi-8 +r9-phi: TORSION ATOMS=@phi-9 +r9-psi: TORSION ATOMS=@psi-9 +r10-phi: TORSION ATOMS=@phi-10 +r10-psi: TORSION ATOMS=@psi-10 +r11-phi: TORSION ATOMS=@phi-11 +r11-psi: TORSION ATOMS=@psi-11 +r12-phi: TORSION ATOMS=@phi-12 +r12-psi: TORSION ATOMS=@psi-12 +r13-phi: TORSION ATOMS=@phi-13 +r13-psi: TORSION ATOMS=@psi-13 +r14-phi: TORSION ATOMS=@phi-14 +r14-psi: TORSION ATOMS=@psi-14 +r15-phi: TORSION ATOMS=@phi-15 +r15-psi: TORSION ATOMS=@psi-15 +r16-phi: TORSION ATOMS=@phi-16 +r16-psi: TORSION ATOMS=@psi-16 + +# This command stores all the Ramachandran angles that were computed +angles: COLLECT_FRAMES ARG=r2-phi,r2-psi,r3-phi,r3-psi,r4-phi,r4-psi,r5-phi,r5-psi,r6-phi,r6-psi,r7-phi,r7-psi,r8-phi,r8-psi,r9-phi,r9-psi,r10-phi,r10-psi,r11-phi,r11-psi,r12-phi,r12-psi,r13-phi,r13-psi,r14-phi,r14-psi,r15-phi,r15-psi,r16-phi,r16-psi +#Â Lets now compute the matrix of distances between the frames in the space of the Ramachandran angles +distmat: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=angles METRIC=EUCLIDEAN +# Now select 500 landmark points to analyze +fps: LANDMARK_SELECT_FPS USE_OUTPUT_DATA_FROM=distmat NLANDMARKS=500 +# Run MDS on the landmarks +mds: CLASSICAL_MDS USE_OUTPUT_DATA_FROM=fps NLOW_DIM=2 +# Project the remaining trajectory data +osample: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=distmat PROJECTION=mds + +# This command outputs all the projections of all the points in the low dimensional space +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=osample ARG=osample.* FILE=mds_data + +#Â These next three commands calculate the secondary structure variables. These +#Â variables measure how much of the structure resembles an alpha helix, an antiparallel beta sheet +#Â and a parallel beta sheet. Configurations that have different secondary structures should be projected +# in different parts of the low dimensional space. +alpha: ALPHARMSD RESIDUES=all +abeta: ANTIBETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 +pbeta: PARABETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 + +# These commands collect and output the secondary structure variables so that we can use this information to +# determine how good our projection of the trajectory data is. +cc2: COLLECT_FRAMES ARG=alpha,abeta,pbeta +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc2 ARG=cc2.* FILE=secondary_structure_data + diff --git a/user-doc/tutorials/lugano-5/.solutions/plumed_ex5.dat b/user-doc/tutorials/lugano-5/.solutions/plumed_ex5.dat new file mode 100644 index 0000000000000000000000000000000000000000..b243f464f9c086009c16733ca8b77ca300040708 --- /dev/null +++ b/user-doc/tutorials/lugano-5/.solutions/plumed_ex5.dat @@ -0,0 +1,68 @@ +# This reads in the template pdb file and thus allows us to use the @nonhydrogens +#Â special group later in the input +MOLINFO STRUCTURE=beta-hairpin.pdb MOLTYPE=protein + +# This stores the positions of all the nonhydrogen atoms for later analysis +cc: COLLECT_FRAMES ATOMS=@nonhydrogens +# This should output the atomic positions for the frames that were collected and analyzed using MDS +OUTPUT_ANALYSIS_DATA_TO_PDB USE_OUTPUT_DATA_FROM=cc FILE=traj.pdb + +# The following commands compute all the Ramachandran angles of the protein for you +r2-phi: TORSION ATOMS=@phi-2 +r2-psi: TORSION ATOMS=@psi-2 +r3-phi: TORSION ATOMS=@phi-3 +r3-psi: TORSION ATOMS=@psi-3 +r4-phi: TORSION ATOMS=@phi-4 +r4-psi: TORSION ATOMS=@psi-4 +r5-phi: TORSION ATOMS=@phi-5 +r5-psi: TORSION ATOMS=@psi-5 +r6-phi: TORSION ATOMS=@phi-6 +r6-psi: TORSION ATOMS=@psi-6 +r7-phi: TORSION ATOMS=@phi-7 +r7-psi: TORSION ATOMS=@psi-7 +r8-phi: TORSION ATOMS=@phi-8 +r8-psi: TORSION ATOMS=@psi-8 +r9-phi: TORSION ATOMS=@phi-9 +r9-psi: TORSION ATOMS=@psi-9 +r10-phi: TORSION ATOMS=@phi-10 +r10-psi: TORSION ATOMS=@psi-10 +r11-phi: TORSION ATOMS=@phi-11 +r11-psi: TORSION ATOMS=@psi-11 +r12-phi: TORSION ATOMS=@phi-12 +r12-psi: TORSION ATOMS=@psi-12 +r13-phi: TORSION ATOMS=@phi-13 +r13-psi: TORSION ATOMS=@psi-13 +r14-phi: TORSION ATOMS=@phi-14 +r14-psi: TORSION ATOMS=@psi-14 +r15-phi: TORSION ATOMS=@phi-15 +r15-psi: TORSION ATOMS=@psi-15 +r16-phi: TORSION ATOMS=@phi-16 +r16-psi: TORSION ATOMS=@psi-16 + +# This command stores all the Ramachandran angles that were computed +angles: COLLECT_FRAMES ARG=r2-phi,r2-psi,r3-phi,r3-psi,r4-phi,r4-psi,r5-phi,r5-psi,r6-phi,r6-psi,r7-phi,r7-psi,r8-phi,r8-psi,r9-phi,r9-psi,r10-phi,r10-psi,r11-phi,r11-psi,r12-phi,r12-psi,r13-phi,r13-psi,r14-phi,r14-psi,r15-phi,r15-psi,r16-phi,r16-psi +#Â Lets now compute the matrix of distances between the frames in the space of the Ramachandran angles +distmat: EUCLIDEAN_DISSIMILARITIES USE_OUTPUT_DATA_FROM=angles METRIC=EUCLIDEAN +# Now select 500 landmark points to analyze +fps: LANDMARK_SELECT_FPS USE_OUTPUT_DATA_FROM=distmat NLANDMARKS=500 +# Run sketch-map on the landmarks +smap: SKETCH_MAP MATRIX=fps NLOW_DIM=2 HIGH_DIM_FUNCTION={SMAP R_0=6 A=8 B=2} LOW_DIM_FUNCTION={SMAP R_0=6 A=2 B=2} CGTOL=1E-3 CGRID_SIZE=20 FGRID_SIZE=200 ANNEAL_STEPS=0 +# Project the remaining trajectory data +osample: PROJECT_ALL_ANALYSIS_DATA USE_OUTPUT_DATA_FROM=distmat PROJECTION=smap + +# This command outputs all the projections of all the points in the low dimensional space +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=osample ARG=osample.* FILE=smap_data + +#Â These next three commands calculate the secondary structure variables. These +#Â variables measure how much of the structure resembles an alpha helix, an antiparallel beta sheet +#Â and a parallel beta sheet. Configurations that have different secondary structures should be projected +# in different parts of the low dimensional space. +alpha: ALPHARMSD RESIDUES=all +abeta: ANTIBETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 +pbeta: PARABETARMSD RESIDUES=all STRANDS_CUTOFF=1.0 + +# These commands collect and output the secondary structure variables so that we can use this information to +# determine how good our projection of the trajectory data is. +cc2: COLLECT_FRAMES ARG=alpha,abeta,pbeta +OUTPUT_ANALYSIS_DATA_TO_COLVAR USE_OUTPUT_DATA_FROM=cc2 ARG=cc2.* FILE=secondary_structure_data + diff --git a/user-doc/tutorials/lugano-5/beta-hairpin.pdb b/user-doc/tutorials/lugano-5/beta-hairpin.pdb new file mode 100755 index 0000000000000000000000000000000000000000..0854bf71b7c490fadf7066aed4596856156614cb --- /dev/null +++ b/user-doc/tutorials/lugano-5/beta-hairpin.pdb @@ -0,0 +1,257 @@ +ATOM 1 HH31 ACE 1 10.838 8.426 -3.791 1.01 0.00 +ATOM 2 CH3 ACE 1 10.350 8.231 -2.838 12.01 0.00 +ATOM 3 HH32 ACE 1 9.344 8.649 -2.857 1.01 0.00 +ATOM 4 HH33 ACE 1 10.904 8.697 -2.027 1.01 0.00 +ATOM 5 C ACE 1 10.301 6.739 -2.603 12.01 0.00 +ATOM 6 O ACE 1 11.334 6.112 -2.376 16.00 0.00 +ATOM 7 N GLY 2 9.106 6.164 -2.665 14.01 0.00 +ATOM 8 H GLY 2 8.306 6.737 -2.894 1.01 0.00 +ATOM 9 CA GLY 2 8.871 4.740 -2.430 12.01 0.00 +ATOM 10 HA1 GLY 2 9.753 4.160 -2.705 1.01 0.00 +ATOM 11 HA2 GLY 2 8.674 4.583 -1.370 1.01 0.00 +ATOM 12 C GLY 2 7.685 4.198 -3.220 12.01 0.00 +ATOM 13 O GLY 2 7.013 4.930 -3.949 16.00 0.00 +ATOM 14 N GLU 3 7.428 2.902 -3.092 14.01 0.00 +ATOM 15 H GLU 3 7.993 2.369 -2.436 1.01 0.00 +ATOM 16 CA GLU 3 6.215 2.268 -3.604 12.01 0.00 +ATOM 17 HA GLU 3 5.889 2.794 -4.503 1.01 0.00 +ATOM 18 CB GLU 3 6.465 0.806 -4.008 12.01 0.00 +ATOM 19 HB1 GLU 3 6.685 0.202 -3.127 1.01 0.00 +ATOM 20 HB2 GLU 3 5.552 0.431 -4.473 1.01 0.00 +ATOM 21 CG GLU 3 7.629 0.694 -5.003 12.01 0.00 +ATOM 22 HG1 GLU 3 7.622 1.578 -5.645 1.01 0.00 +ATOM 23 HG2 GLU 3 8.574 0.685 -4.456 1.01 0.00 +ATOM 24 CD GLU 3 7.546 -0.540 -5.905 12.01 0.00 +ATOM 25 OE1 GLU 3 7.026 -1.607 -5.513 16.00 0.00 +ATOM 26 OE2 GLU 3 7.969 -0.430 -7.081 16.00 0.00 +ATOM 27 C GLU 3 5.106 2.383 -2.557 12.01 0.00 +ATOM 28 O GLU 3 5.271 1.941 -1.420 16.00 0.00 +ATOM 29 N TRP 4 3.981 2.983 -2.947 14.01 0.00 +ATOM 30 H TRP 4 3.919 3.308 -3.900 1.01 0.00 +ATOM 31 CA TRP 4 2.780 3.125 -2.123 12.01 0.00 +ATOM 32 HA TRP 4 2.990 2.805 -1.101 1.01 0.00 +ATOM 33 CB TRP 4 2.331 4.592 -2.082 12.01 0.00 +ATOM 34 HB1 TRP 4 2.069 4.904 -3.094 1.01 0.00 +ATOM 35 HB2 TRP 4 1.419 4.650 -1.485 1.01 0.00 +ATOM 36 CG TRP 4 3.306 5.592 -1.528 12.01 0.00 +ATOM 37 CD1 TRP 4 4.401 6.062 -2.170 12.01 0.00 +ATOM 38 HD1 TRP 4 4.725 5.752 -3.157 1.01 0.00 +ATOM 39 NE1 TRP 4 5.007 7.040 -1.409 14.01 0.00 +ATOM 40 HE1 TRP 4 5.772 7.624 -1.753 1.01 0.00 +ATOM 41 CE2 TRP 4 4.376 7.203 -0.196 12.01 0.00 +ATOM 42 CZ2 TRP 4 4.625 8.032 0.908 12.01 0.00 +ATOM 43 HZ2 TRP 4 5.471 8.706 0.906 1.01 0.00 +ATOM 44 CH2 TRP 4 3.778 7.953 2.027 12.01 0.00 +ATOM 45 HH2 TRP 4 3.967 8.566 2.899 1.01 0.00 +ATOM 46 CZ3 TRP 4 2.681 7.073 2.012 12.01 0.00 +ATOM 47 HZ3 TRP 4 2.036 7.011 2.882 1.01 0.00 +ATOM 48 CE3 TRP 4 2.428 6.261 0.889 12.01 0.00 +ATOM 49 HE3 TRP 4 1.584 5.587 0.899 1.01 0.00 +ATOM 50 CD2 TRP 4 3.275 6.293 -0.242 12.01 0.00 +ATOM 51 C TRP 4 1.683 2.228 -2.701 12.01 0.00 +ATOM 52 O TRP 4 1.447 2.250 -3.912 16.00 0.00 +ATOM 53 N THR 5 1.031 1.435 -1.852 14.01 0.00 +ATOM 54 H THR 5 1.263 1.488 -0.865 1.01 0.00 +ATOM 55 CA THR 5 0.106 0.361 -2.259 12.01 0.00 +ATOM 56 HA THR 5 -0.248 0.563 -3.269 1.01 0.00 +ATOM 57 CB THR 5 0.810 -1.008 -2.274 12.01 0.00 +ATOM 58 HB THR 5 0.088 -1.771 -2.567 1.01 0.00 +ATOM 59 CG2 THR 5 1.988 -1.075 -3.246 12.01 0.00 +ATOM 60 HG21 THR 5 2.794 -0.416 -2.924 1.01 0.00 +ATOM 61 HG22 THR 5 2.362 -2.098 -3.287 1.01 0.00 +ATOM 62 HG23 THR 5 1.656 -0.782 -4.243 1.01 0.00 +ATOM 63 OG1 THR 5 1.303 -1.328 -0.994 16.00 0.00 +ATOM 64 HG1 THR 5 1.741 -0.543 -0.636 1.01 0.00 +ATOM 65 C THR 5 -1.124 0.288 -1.352 12.01 0.00 +ATOM 66 O THR 5 -1.087 0.767 -0.215 16.00 0.00 +ATOM 67 N TYR 6 -2.215 -0.306 -1.845 14.01 0.00 +ATOM 68 H TYR 6 -2.174 -0.669 -2.792 1.01 0.00 +ATOM 69 CA TYR 6 -3.488 -0.422 -1.121 12.01 0.00 +ATOM 70 HA TYR 6 -3.288 -0.357 -0.052 1.01 0.00 +ATOM 71 CB TYR 6 -4.396 0.758 -1.503 12.01 0.00 +ATOM 72 HB1 TYR 6 -3.866 1.688 -1.299 1.01 0.00 +ATOM 73 HB2 TYR 6 -4.588 0.722 -2.577 1.01 0.00 +ATOM 74 CG TYR 6 -5.719 0.792 -0.757 12.01 0.00 +ATOM 75 CD1 TYR 6 -6.928 0.529 -1.431 12.01 0.00 +ATOM 76 HD1 TYR 6 -6.920 0.316 -2.491 1.01 0.00 +ATOM 77 CE1 TYR 6 -8.147 0.553 -0.726 12.01 0.00 +ATOM 78 HE1 TYR 6 -9.075 0.373 -1.245 1.01 0.00 +ATOM 79 CZ TYR 6 -8.159 0.834 0.657 12.01 0.00 +ATOM 80 OH TYR 6 -9.332 0.850 1.341 16.00 0.00 +ATOM 81 HH TYR 6 -10.061 0.480 0.799 1.01 0.00 +ATOM 82 CE2 TYR 6 -6.952 1.115 1.327 12.01 0.00 +ATOM 83 HE2 TYR 6 -6.968 1.356 2.378 1.01 0.00 +ATOM 84 CD2 TYR 6 -5.737 1.085 0.619 12.01 0.00 +ATOM 85 HD2 TYR 6 -4.812 1.299 1.132 1.01 0.00 +ATOM 86 C TYR 6 -4.211 -1.755 -1.372 12.01 0.00 +ATOM 87 O TYR 6 -4.292 -2.238 -2.507 16.00 0.00 +ATOM 88 N ASP 7 -4.802 -2.322 -0.322 14.01 0.00 +ATOM 89 H ASP 7 -4.675 -1.890 0.590 1.01 0.00 +ATOM 90 CA ASP 7 -5.760 -3.428 -0.401 12.01 0.00 +ATOM 91 HA ASP 7 -6.003 -3.631 -1.442 1.01 0.00 +ATOM 92 CB ASP 7 -5.150 -4.707 0.190 12.01 0.00 +ATOM 93 HB1 ASP 7 -4.314 -5.026 -0.435 1.01 0.00 +ATOM 94 HB2 ASP 7 -4.770 -4.495 1.191 1.01 0.00 +ATOM 95 CG ASP 7 -6.181 -5.836 0.263 12.01 0.00 +ATOM 96 OD1 ASP 7 -6.932 -6.028 -0.727 16.00 0.00 +ATOM 97 OD2 ASP 7 -6.264 -6.491 1.328 16.00 0.00 +ATOM 98 C ASP 7 -7.064 -3.059 0.313 12.01 0.00 +ATOM 99 O ASP 7 -7.071 -2.835 1.520 16.00 0.00 +ATOM 100 N ASP 8 -8.185 -3.050 -0.410 14.01 0.00 +ATOM 101 H ASP 8 -8.140 -3.309 -1.390 1.01 0.00 +ATOM 102 CA ASP 8 -9.503 -2.781 0.169 12.01 0.00 +ATOM 103 HA ASP 8 -9.388 -1.976 0.893 1.01 0.00 +ATOM 104 CB ASP 8 -10.466 -2.292 -0.919 12.01 0.00 +ATOM 105 HB1 ASP 8 -9.927 -1.679 -1.642 1.01 0.00 +ATOM 106 HB2 ASP 8 -10.879 -3.149 -1.455 1.01 0.00 +ATOM 107 CG ASP 8 -11.592 -1.448 -0.318 12.01 0.00 +ATOM 108 OD1 ASP 8 -11.334 -0.323 0.173 16.00 0.00 +ATOM 109 OD2 ASP 8 -12.777 -1.842 -0.390 16.00 0.00 +ATOM 110 C ASP 8 -10.080 -3.992 0.920 12.01 0.00 +ATOM 111 O ASP 8 -10.905 -3.813 1.811 16.00 0.00 +ATOM 112 N ALA 9 -9.603 -5.215 0.646 14.01 0.00 +ATOM 113 H ALA 9 -8.870 -5.316 -0.047 1.01 0.00 +ATOM 114 CA ALA 9 -10.028 -6.417 1.369 12.01 0.00 +ATOM 115 HA ALA 9 -11.118 -6.461 1.333 1.01 0.00 +ATOM 116 CB ALA 9 -9.471 -7.649 0.644 12.01 0.00 +ATOM 117 HB1 ALA 9 -9.669 -7.574 -0.424 1.01 0.00 +ATOM 118 HB2 ALA 9 -8.396 -7.724 0.794 1.01 0.00 +ATOM 119 HB3 ALA 9 -9.933 -8.556 1.031 1.01 0.00 +ATOM 120 C ALA 9 -9.613 -6.387 2.856 12.01 0.00 +ATOM 121 O ALA 9 -10.260 -7.028 3.690 16.00 0.00 +ATOM 122 N THR 10 -8.580 -5.606 3.184 14.01 0.00 +ATOM 123 H THR 10 -8.049 -5.218 2.413 1.01 0.00 +ATOM 124 CA THR 10 -8.100 -5.275 4.540 12.01 0.00 +ATOM 125 HA THR 10 -8.758 -5.729 5.280 1.01 0.00 +ATOM 126 CB THR 10 -6.686 -5.843 4.760 12.01 0.00 +ATOM 127 HB THR 10 -6.307 -5.499 5.722 1.01 0.00 +ATOM 128 CG2 THR 10 -6.669 -7.370 4.772 12.01 0.00 +ATOM 129 HG21 THR 10 -7.033 -7.766 3.825 1.01 0.00 +ATOM 130 HG22 THR 10 -5.650 -7.718 4.946 1.01 0.00 +ATOM 131 HG23 THR 10 -7.303 -7.734 5.579 1.01 0.00 +ATOM 132 OG1 THR 10 -5.811 -5.402 3.745 16.00 0.00 +ATOM 133 HG1 THR 10 -6.031 -5.865 2.911 1.01 0.00 +ATOM 134 C THR 10 -8.115 -3.762 4.824 12.01 0.00 +ATOM 135 O THR 10 -7.553 -3.314 5.825 16.00 0.00 +ATOM 136 N LYS 11 -8.705 -2.965 3.918 14.01 0.00 +ATOM 137 H LYS 11 -9.182 -3.439 3.163 1.01 0.00 +ATOM 138 CA LYS 11 -8.709 -1.485 3.864 12.01 0.00 +ATOM 139 HA LYS 11 -8.792 -1.219 2.813 1.01 0.00 +ATOM 140 CB LYS 11 -9.952 -0.911 4.563 12.01 0.00 +ATOM 141 HB1 LYS 11 -9.930 -1.164 5.625 1.01 0.00 +ATOM 142 HB2 LYS 11 -9.931 0.174 4.464 1.01 0.00 +ATOM 143 CG LYS 11 -11.245 -1.446 3.926 12.01 0.00 +ATOM 144 HG1 LYS 11 -11.168 -1.389 2.840 1.01 0.00 +ATOM 145 HG2 LYS 11 -11.374 -2.491 4.205 1.01 0.00 +ATOM 146 CD LYS 11 -12.482 -0.666 4.382 12.01 0.00 +ATOM 147 HD1 LYS 11 -13.376 -1.240 4.132 1.01 0.00 +ATOM 148 HD2 LYS 11 -12.450 -0.557 5.467 1.01 0.00 +ATOM 149 CE LYS 11 -12.574 0.722 3.734 12.01 0.00 +ATOM 150 HE1 LYS 11 -13.378 1.268 4.233 1.01 0.00 +ATOM 151 HE2 LYS 11 -11.644 1.272 3.900 1.01 0.00 +ATOM 152 NZ LYS 11 -12.883 0.645 2.287 14.01 0.00 +ATOM 153 HZ1 LYS 11 -13.654 0.004 2.124 1.01 0.00 +ATOM 154 HZ2 LYS 11 -13.167 1.551 1.931 1.01 0.00 +ATOM 155 HZ3 LYS 11 -12.102 0.295 1.734 1.01 0.00 +ATOM 156 C LYS 11 -7.392 -0.817 4.285 12.01 0.00 +ATOM 157 O LYS 11 -7.394 0.215 4.958 16.00 0.00 +ATOM 158 N THR 12 -6.261 -1.399 3.895 14.01 0.00 +ATOM 159 H THR 12 -6.345 -2.175 3.245 1.01 0.00 +ATOM 160 CA THR 12 -4.931 -1.073 4.425 12.01 0.00 +ATOM 161 HA THR 12 -5.030 -0.325 5.212 1.01 0.00 +ATOM 162 CB THR 12 -4.318 -2.321 5.081 12.01 0.00 +ATOM 163 HB THR 12 -4.424 -3.180 4.419 1.01 0.00 +ATOM 164 CG2 THR 12 -2.847 -2.164 5.457 12.01 0.00 +ATOM 165 HG21 THR 12 -2.707 -1.267 6.060 1.01 0.00 +ATOM 166 HG22 THR 12 -2.523 -3.040 6.021 1.01 0.00 +ATOM 167 HG23 THR 12 -2.235 -2.102 4.558 1.01 0.00 +ATOM 168 OG1 THR 12 -4.988 -2.569 6.299 16.00 0.00 +ATOM 169 HG1 THR 12 -5.902 -2.852 6.089 1.01 0.00 +ATOM 170 C THR 12 -4.019 -0.487 3.350 12.01 0.00 +ATOM 171 O THR 12 -3.801 -1.099 2.303 16.00 0.00 +ATOM 172 N PHE 13 -3.427 0.677 3.638 14.01 0.00 +ATOM 173 H PHE 13 -3.661 1.127 4.514 1.01 0.00 +ATOM 174 CA PHE 13 -2.294 1.215 2.875 12.01 0.00 +ATOM 175 HA PHE 13 -2.403 0.918 1.833 1.01 0.00 +ATOM 176 CB PHE 13 -2.277 2.752 2.916 12.01 0.00 +ATOM 177 HB1 PHE 13 -2.322 3.089 3.950 1.01 0.00 +ATOM 178 HB2 PHE 13 -1.326 3.098 2.508 1.01 0.00 +ATOM 179 CG PHE 13 -3.389 3.419 2.130 12.01 0.00 +ATOM 180 CD1 PHE 13 -3.225 3.667 0.754 12.01 0.00 +ATOM 181 HD1 PHE 13 -2.308 3.384 0.257 1.01 0.00 +ATOM 182 CE1 PHE 13 -4.259 4.276 0.019 12.01 0.00 +ATOM 183 HE1 PHE 13 -4.136 4.462 -1.038 1.01 0.00 +ATOM 184 CZ PHE 13 -5.459 4.634 0.658 12.01 0.00 +ATOM 185 HZ PHE 13 -6.258 5.089 0.090 1.01 0.00 +ATOM 186 CE2 PHE 13 -5.623 4.393 2.034 12.01 0.00 +ATOM 187 HE2 PHE 13 -6.545 4.669 2.526 1.01 0.00 +ATOM 188 CD2 PHE 13 -4.588 3.788 2.769 12.01 0.00 +ATOM 189 HD2 PHE 13 -4.717 3.606 3.824 1.01 0.00 +ATOM 190 C PHE 13 -0.969 0.634 3.392 12.01 0.00 +ATOM 191 O PHE 13 -0.779 0.504 4.607 16.00 0.00 +ATOM 192 N THR 14 -0.049 0.313 2.479 14.01 0.00 +ATOM 193 H THR 14 -0.279 0.478 1.502 1.01 0.00 +ATOM 194 CA THR 14 1.298 -0.222 2.770 12.01 0.00 +ATOM 195 HA THR 14 1.543 -0.038 3.817 1.01 0.00 +ATOM 196 CB THR 14 1.357 -1.744 2.529 12.01 0.00 +ATOM 197 HB THR 14 1.241 -1.948 1.467 1.01 0.00 +ATOM 198 CG2 THR 14 2.659 -2.383 3.014 12.01 0.00 +ATOM 199 HG21 THR 14 2.818 -2.158 4.068 1.01 0.00 +ATOM 200 HG22 THR 14 2.601 -3.465 2.888 1.01 0.00 +ATOM 201 HG23 THR 14 3.501 -2.015 2.429 1.01 0.00 +ATOM 202 OG1 THR 14 0.314 -2.400 3.218 16.00 0.00 +ATOM 203 HG1 THR 14 -0.499 -2.209 2.738 1.01 0.00 +ATOM 204 C THR 14 2.343 0.494 1.905 12.01 0.00 +ATOM 205 O THR 14 2.086 0.769 0.730 16.00 0.00 +ATOM 206 N VAL 15 3.519 0.798 2.465 14.01 0.00 +ATOM 207 H VAL 15 3.684 0.517 3.423 1.01 0.00 +ATOM 208 CA VAL 15 4.582 1.585 1.804 12.01 0.00 +ATOM 209 HA VAL 15 4.361 1.614 0.740 1.01 0.00 +ATOM 210 CB VAL 15 4.549 3.047 2.304 12.01 0.00 +ATOM 211 HB VAL 15 3.525 3.406 2.189 1.01 0.00 +ATOM 212 CG1 VAL 15 4.924 3.185 3.785 12.01 0.00 +ATOM 213 HG11 VAL 15 4.265 2.574 4.402 1.01 0.00 +ATOM 214 HG12 VAL 15 5.957 2.881 3.952 1.01 0.00 +ATOM 215 HG13 VAL 15 4.809 4.225 4.091 1.01 0.00 +ATOM 216 CG2 VAL 15 5.441 3.985 1.481 12.01 0.00 +ATOM 217 HG21 VAL 15 6.495 3.756 1.632 1.01 0.00 +ATOM 218 HG22 VAL 15 5.193 3.901 0.423 1.01 0.00 +ATOM 219 HG23 VAL 15 5.262 5.015 1.792 1.01 0.00 +ATOM 220 C VAL 15 5.965 0.932 1.946 12.01 0.00 +ATOM 221 O VAL 15 6.221 0.197 2.903 16.00 0.00 +ATOM 222 N THR 16 6.874 1.148 0.990 14.01 0.00 +ATOM 223 H THR 16 6.578 1.668 0.166 1.01 0.00 +ATOM 224 CA THR 16 8.278 0.677 1.034 12.01 0.00 +ATOM 225 HA THR 16 8.619 0.650 2.069 1.01 0.00 +ATOM 226 CB THR 16 8.378 -0.747 0.455 12.01 0.00 +ATOM 227 HB THR 16 8.017 -0.747 -0.574 1.01 0.00 +ATOM 228 CG2 THR 16 9.795 -1.318 0.491 12.01 0.00 +ATOM 229 HG21 THR 16 10.196 -1.249 1.501 1.01 0.00 +ATOM 230 HG22 THR 16 9.773 -2.365 0.189 1.01 0.00 +ATOM 231 HG23 THR 16 10.440 -0.773 -0.197 1.01 0.00 +ATOM 232 OG1 THR 16 7.578 -1.621 1.223 16.00 0.00 +ATOM 233 HG1 THR 16 7.038 -1.062 1.801 1.01 0.00 +ATOM 234 C THR 16 9.196 1.631 0.258 12.01 0.00 +ATOM 235 O THR 16 8.873 2.010 -0.863 16.00 0.00 +ATOM 236 N GLU 17 10.335 2.040 0.828 14.01 0.00 +ATOM 237 H GLU 17 10.591 1.684 1.737 1.01 0.00 +ATOM 238 CA GLU 17 11.230 3.044 0.218 12.01 0.00 +ATOM 239 HA GLU 17 10.603 3.756 -0.319 1.01 0.00 +ATOM 240 CB GLU 17 11.938 3.849 1.329 12.01 0.00 +ATOM 241 HB1 GLU 17 11.185 4.111 2.074 1.01 0.00 +ATOM 242 HB2 GLU 17 12.691 3.230 1.815 1.01 0.00 +ATOM 243 CG GLU 17 12.595 5.147 0.825 12.01 0.00 +ATOM 244 HG1 GLU 17 13.464 4.897 0.214 1.01 0.00 +ATOM 245 HG2 GLU 17 11.880 5.681 0.198 1.01 0.00 +ATOM 246 CD GLU 17 13.017 6.075 1.974 12.01 0.00 +ATOM 247 OE1 GLU 17 12.173 6.391 2.836 16.00 0.00 +ATOM 248 OE2 GLU 17 14.188 6.530 2.024 16.00 0.00 +ATOM 249 C GLU 17 12.202 2.442 -0.821 12.01 0.00 +ATOM 250 O GLU 17 12.613 1.277 -0.723 16.00 0.00 +ATOM 251 N NME 18 12.581 3.245 -1.823 14.01 0.00 +ATOM 252 H NME 18 12.202 4.185 -1.850 1.01 0.00 +ATOM 253 CH3 NME 18 13.549 2.881 -2.853 12.01 0.00 +ATOM 254 HH31 NME 18 13.108 2.162 -3.545 1.01 0.00 +ATOM 255 HH32 NME 18 14.437 2.442 -2.392 1.01 0.00 +ATOM 256 HH33 NME 18 13.850 3.773 -3.405 1.01 0.00 +END diff --git a/user-doc/tutorials/lugano-6a/.solutions/plumed_ex1.dat b/user-doc/tutorials/lugano-6a/.solutions/plumed_ex1.dat new file mode 100644 index 0000000000000000000000000000000000000000..59f00b302e2c1256404329da0bc69052df823cde --- /dev/null +++ b/user-doc/tutorials/lugano-6a/.solutions/plumed_ex1.dat @@ -0,0 +1,18 @@ +# Specify that we are in natural units +UNITS NATURAL + +# Retrieve the value of the potential energy +ee: ENERGY +#Â Retrieve the 3 cell vectors +cell: CELL +# Compute the square moduli of three cell vectors +aaa2: COMBINE ARG=cell.ax,cell.ay,cell.az POWERS=2,2,2 PERIODIC=NO +bbb2: COMBINE ARG=cell.bx,cell.by,cell.bz POWERS=2,2,2 PERIODIC=NO +ccc2: COMBINE ARG=cell.cx,cell.cy,cell.cz POWERS=2,2,2 PERIODIC=NO +# Compute the moduli of the three cell vectors +aaa: CUSTOM ARG=aaa2 FUNC=sqrt(x) PERIODIC=NO +bbb: CUSTOM ARG=bbb2 FUNC=sqrt(x) PERIODIC=NO +ccc: CUSTOM ARG=ccc2 FUNC=sqrt(x) PERIODIC=NO + +# Print the energy and the moduli of the three cell vectors +PRINT ARG=ee,aaa,bbb,ccc FILE=colvar STRIDE=10 diff --git a/user-doc/tutorials/lugano-6a/.solutions/plumed_ex3.dat b/user-doc/tutorials/lugano-6a/.solutions/plumed_ex3.dat new file mode 100644 index 0000000000000000000000000000000000000000..8b10e6e9eab4cf0b30061f8cbafab9b74c5dc386 --- /dev/null +++ b/user-doc/tutorials/lugano-6a/.solutions/plumed_ex3.dat @@ -0,0 +1,12 @@ +UNITS NATURAL +# Include the file that defines our collective variable +INCLUDE FILE=xdistances.dat + +# Add a restraint that ensures that the number of atoms in the left part of the box stays the same as the number of atoms +# in the right part of the box +ccc: CUSTOM ARG=da.right,da.left FUNC=x-y PERIODIC=NO +RESTRAINT ARG=ccc AT=0.0 KAPPA=10 + +# Add a moving restraint that forces the Ar atoms (1-500) to separate from the Ne atoms and to then mix again with the Ne atoms +res: MOVINGRESTRAINT ARG=dx.between AT0=230 AT1=450 AT2=230 KAPPA0=100 STEP0=0 STEP1=50000 STEP2=100000 +PRINT ARG=da.*,dx.between,res.* FILE=colvar STRIDE=10 diff --git a/user-doc/tutorials/lugano-6a/lammps-equilibration.in b/user-doc/tutorials/lugano-6a/lammps-equilibration.in new file mode 100644 index 0000000000000000000000000000000000000000..a11910b252d42537031eb4e62bf6ef0349430c25 --- /dev/null +++ b/user-doc/tutorials/lugano-6a/lammps-equilibration.in @@ -0,0 +1,104 @@ +# +# define units +# +units lj + +# +# specify periodic boundary conditions +# +boundary p p p + +# +# define atom_style +# full covers everything +# +atom_style full + +# +# Setup the simulatioon box +# +variable blen equal 12.5 +region boxid block 0.0 ${blen} 0.0 ${blen} 0.0 ${blen} +create_box 2 boxid + +# +# Split the simulation into two regions +# +variable half_x equal ${blen}/2.0 +region boxa block 0.0 ${half_x} 0.0 ${blen} 0.0 ${blen} +region boxb block ${half_x} ${blen} 0.0 ${blen} 0.0 ${blen} + +# +# specify initial positions of atoms +# sc = simple cubic +# 0.5 = density in lj units +# +lattice sc 0.50 +# place atoms of type 1 in boxa +# place atoms of type 2 in boxb +create_atoms 1 region boxa +create_atoms 2 region boxb + +# +# define mass +# +# mass of atom type 1 +mass 1 1.0 +mass 2 1.0 + +# +# specify initial velocity of atoms +# group = all +# reduced temperature is T = 1.0 = lj-eps/kb +# seed for random number generator +# distribution is gaussian (e.g. Maxwell-Boltzmann) +# +velocity all create 1.0 87287 dist gaussian + +# +# specify interaction potential +# pairwise interaction via the Lennard-Jones potential with a cut-off at 2.5 lj-sigma +# +pair_style lj/cut 2.5 +# specify parameters between atoms of type 1 with an atom of type 1 +# epsilon = 1.0, sigma = 1.0, cutoff = 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.2 0.9 2.5 + +# +# specify parameters for neighbor list +# rnbr = rcut + 0.3 +# +neighbor 0.3 bin + +# +# Specify timestep +# +timestep 0.001 + +# +# Write thermodynamic parameters to log +# +thermo_style custom step pe ke etotal temp press density +thermo 1000 +thermo_modify norm no + +# +# Setup plumed and that we are going to run npt equilibration +# +fix 1 all plumed plumedfile plumed.dat outfile p.log +fix 2 all npt temp 1.0 1.0 0.1 iso 0.0 0.0 0.4 + +# +# save trajectory and restart file +# dumpid = 1 +# filename = output.xyz +# +dump 1 all xyz 1000 output.xyz +dump_modify 1 element Ar Ne +restart 100000 lj.equilibration.restart + +# +# Run 5000000 of equilibration +# +run 100000 diff --git a/user-doc/tutorials/lugano-6a/lammps-production.in b/user-doc/tutorials/lugano-6a/lammps-production.in new file mode 100644 index 0000000000000000000000000000000000000000..d6894fff33df13088a7567320dc5693fe54a907c --- /dev/null +++ b/user-doc/tutorials/lugano-6a/lammps-production.in @@ -0,0 +1,76 @@ +# +# define units +# +units lj + +# +# specify periodic boundary conditions +# +boundary p p p + +# +# define atom_style +# full covers everything +# +atom_style full + +# +# Read the restart file and restart the counter on timesteps +# +read_restart lj.equilibration.restart.100000 +reset_timestep 0 + +# +# define mass +# +# mass of atom type 1 +mass 1 1.0 +mass 2 1.0 + +# +# specify interaction potential +# pairwise interaction via the Lennard-Jones potential with a cut-off at 2.5 lj-sigma +# +pair_style lj/cut 2.5 +# specify parameters between atoms of type 1 with an atom of type 1 +# epsilon = 1.0, sigma = 1.0, cutoff = 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.2 0.9 2.5 + +# +# specify parameters for neighbor list +# rnbr = rcut + 0.3 +# +neighbor 0.3 bin + +# +# Specify timestep +# +timestep 0.001 + +# +# Write thermodynamic parameters to log +# +thermo_style custom step pe ke etotal temp press density +thermo 1000 +thermo_modify norm no + +# +# Setup plumed and that we are going to run npt equilibration +# +fix 1 all plumed plumedfile plumed.dat outfile p.log +fix 2 all nvt temp 1.0 1.0 0.1 + +# +# save trajectory and restart file +# dumpid = 1 +# filename = output.xyz +# +dump 1 all xyz 1000 output.xyz +dump_modify 1 element Ar Ne +restart 100000 lj.prod.restart + +# +# Run 5000000 of equilibration +# +run 100000 diff --git a/user-doc/tutorials/lugano-6a/xdistances.dat b/user-doc/tutorials/lugano-6a/xdistances.dat new file mode 100644 index 0000000000000000000000000000000000000000..385269e1bf6fb3e9c497d0202a234884f3c3a9d5 --- /dev/null +++ b/user-doc/tutorials/lugano-6a/xdistances.dat @@ -0,0 +1,1510 @@ +origin: FIXEDATOM AT=0,0,0 + +dx: XDISTANCES ... +ATOMS1=1,origin +ATOMS2=2,origin +ATOMS3=3,origin +ATOMS4=4,origin +ATOMS5=5,origin +ATOMS6=6,origin +ATOMS7=7,origin +ATOMS8=8,origin +ATOMS9=9,origin +ATOMS10=10,origin +ATOMS11=11,origin +ATOMS12=12,origin +ATOMS13=13,origin +ATOMS14=14,origin +ATOMS15=15,origin +ATOMS16=16,origin +ATOMS17=17,origin +ATOMS18=18,origin +ATOMS19=19,origin +ATOMS20=20,origin +ATOMS21=21,origin +ATOMS22=22,origin +ATOMS23=23,origin +ATOMS24=24,origin +ATOMS25=25,origin +ATOMS26=26,origin +ATOMS27=27,origin +ATOMS28=28,origin +ATOMS29=29,origin +ATOMS30=30,origin +ATOMS31=31,origin +ATOMS32=32,origin +ATOMS33=33,origin +ATOMS34=34,origin +ATOMS35=35,origin +ATOMS36=36,origin +ATOMS37=37,origin +ATOMS38=38,origin +ATOMS39=39,origin +ATOMS40=40,origin +ATOMS41=41,origin +ATOMS42=42,origin +ATOMS43=43,origin +ATOMS44=44,origin +ATOMS45=45,origin +ATOMS46=46,origin +ATOMS47=47,origin +ATOMS48=48,origin +ATOMS49=49,origin +ATOMS50=50,origin +ATOMS51=51,origin +ATOMS52=52,origin +ATOMS53=53,origin +ATOMS54=54,origin +ATOMS55=55,origin +ATOMS56=56,origin +ATOMS57=57,origin +ATOMS58=58,origin +ATOMS59=59,origin +ATOMS60=60,origin +ATOMS61=61,origin +ATOMS62=62,origin +ATOMS63=63,origin +ATOMS64=64,origin +ATOMS65=65,origin +ATOMS66=66,origin +ATOMS67=67,origin +ATOMS68=68,origin +ATOMS69=69,origin +ATOMS70=70,origin +ATOMS71=71,origin +ATOMS72=72,origin +ATOMS73=73,origin +ATOMS74=74,origin +ATOMS75=75,origin +ATOMS76=76,origin +ATOMS77=77,origin +ATOMS78=78,origin +ATOMS79=79,origin +ATOMS80=80,origin +ATOMS81=81,origin +ATOMS82=82,origin +ATOMS83=83,origin +ATOMS84=84,origin +ATOMS85=85,origin +ATOMS86=86,origin +ATOMS87=87,origin +ATOMS88=88,origin +ATOMS89=89,origin +ATOMS90=90,origin +ATOMS91=91,origin +ATOMS92=92,origin +ATOMS93=93,origin +ATOMS94=94,origin +ATOMS95=95,origin +ATOMS96=96,origin +ATOMS97=97,origin +ATOMS98=98,origin +ATOMS99=99,origin +ATOMS100=100,origin +ATOMS101=101,origin +ATOMS102=102,origin +ATOMS103=103,origin +ATOMS104=104,origin +ATOMS105=105,origin +ATOMS106=106,origin +ATOMS107=107,origin +ATOMS108=108,origin +ATOMS109=109,origin +ATOMS110=110,origin +ATOMS111=111,origin +ATOMS112=112,origin +ATOMS113=113,origin +ATOMS114=114,origin +ATOMS115=115,origin +ATOMS116=116,origin +ATOMS117=117,origin +ATOMS118=118,origin +ATOMS119=119,origin +ATOMS120=120,origin +ATOMS121=121,origin +ATOMS122=122,origin +ATOMS123=123,origin +ATOMS124=124,origin +ATOMS125=125,origin +ATOMS126=126,origin +ATOMS127=127,origin +ATOMS128=128,origin +ATOMS129=129,origin +ATOMS130=130,origin +ATOMS131=131,origin +ATOMS132=132,origin +ATOMS133=133,origin +ATOMS134=134,origin +ATOMS135=135,origin +ATOMS136=136,origin +ATOMS137=137,origin +ATOMS138=138,origin +ATOMS139=139,origin +ATOMS140=140,origin +ATOMS141=141,origin +ATOMS142=142,origin +ATOMS143=143,origin +ATOMS144=144,origin +ATOMS145=145,origin +ATOMS146=146,origin +ATOMS147=147,origin +ATOMS148=148,origin +ATOMS149=149,origin +ATOMS150=150,origin +ATOMS151=151,origin +ATOMS152=152,origin +ATOMS153=153,origin +ATOMS154=154,origin +ATOMS155=155,origin +ATOMS156=156,origin +ATOMS157=157,origin +ATOMS158=158,origin +ATOMS159=159,origin +ATOMS160=160,origin +ATOMS161=161,origin +ATOMS162=162,origin +ATOMS163=163,origin +ATOMS164=164,origin +ATOMS165=165,origin +ATOMS166=166,origin +ATOMS167=167,origin +ATOMS168=168,origin +ATOMS169=169,origin +ATOMS170=170,origin +ATOMS171=171,origin +ATOMS172=172,origin +ATOMS173=173,origin +ATOMS174=174,origin +ATOMS175=175,origin +ATOMS176=176,origin +ATOMS177=177,origin +ATOMS178=178,origin +ATOMS179=179,origin +ATOMS180=180,origin +ATOMS181=181,origin +ATOMS182=182,origin +ATOMS183=183,origin +ATOMS184=184,origin +ATOMS185=185,origin +ATOMS186=186,origin +ATOMS187=187,origin +ATOMS188=188,origin +ATOMS189=189,origin +ATOMS190=190,origin +ATOMS191=191,origin +ATOMS192=192,origin +ATOMS193=193,origin +ATOMS194=194,origin +ATOMS195=195,origin +ATOMS196=196,origin +ATOMS197=197,origin +ATOMS198=198,origin +ATOMS199=199,origin +ATOMS200=200,origin +ATOMS201=201,origin +ATOMS202=202,origin +ATOMS203=203,origin +ATOMS204=204,origin +ATOMS205=205,origin +ATOMS206=206,origin +ATOMS207=207,origin +ATOMS208=208,origin +ATOMS209=209,origin +ATOMS210=210,origin +ATOMS211=211,origin +ATOMS212=212,origin +ATOMS213=213,origin +ATOMS214=214,origin +ATOMS215=215,origin +ATOMS216=216,origin +ATOMS217=217,origin +ATOMS218=218,origin +ATOMS219=219,origin +ATOMS220=220,origin +ATOMS221=221,origin +ATOMS222=222,origin +ATOMS223=223,origin +ATOMS224=224,origin +ATOMS225=225,origin +ATOMS226=226,origin +ATOMS227=227,origin +ATOMS228=228,origin +ATOMS229=229,origin +ATOMS230=230,origin +ATOMS231=231,origin +ATOMS232=232,origin +ATOMS233=233,origin +ATOMS234=234,origin +ATOMS235=235,origin +ATOMS236=236,origin +ATOMS237=237,origin +ATOMS238=238,origin +ATOMS239=239,origin +ATOMS240=240,origin +ATOMS241=241,origin +ATOMS242=242,origin +ATOMS243=243,origin +ATOMS244=244,origin +ATOMS245=245,origin +ATOMS246=246,origin +ATOMS247=247,origin +ATOMS248=248,origin +ATOMS249=249,origin +ATOMS250=250,origin +ATOMS251=251,origin +ATOMS252=252,origin +ATOMS253=253,origin +ATOMS254=254,origin +ATOMS255=255,origin +ATOMS256=256,origin +ATOMS257=257,origin +ATOMS258=258,origin +ATOMS259=259,origin +ATOMS260=260,origin +ATOMS261=261,origin +ATOMS262=262,origin +ATOMS263=263,origin +ATOMS264=264,origin +ATOMS265=265,origin +ATOMS266=266,origin +ATOMS267=267,origin +ATOMS268=268,origin +ATOMS269=269,origin +ATOMS270=270,origin +ATOMS271=271,origin +ATOMS272=272,origin +ATOMS273=273,origin +ATOMS274=274,origin +ATOMS275=275,origin +ATOMS276=276,origin +ATOMS277=277,origin +ATOMS278=278,origin +ATOMS279=279,origin +ATOMS280=280,origin +ATOMS281=281,origin +ATOMS282=282,origin +ATOMS283=283,origin +ATOMS284=284,origin +ATOMS285=285,origin +ATOMS286=286,origin +ATOMS287=287,origin +ATOMS288=288,origin +ATOMS289=289,origin +ATOMS290=290,origin +ATOMS291=291,origin +ATOMS292=292,origin +ATOMS293=293,origin +ATOMS294=294,origin +ATOMS295=295,origin +ATOMS296=296,origin +ATOMS297=297,origin +ATOMS298=298,origin +ATOMS299=299,origin +ATOMS300=300,origin +ATOMS301=301,origin +ATOMS302=302,origin +ATOMS303=303,origin +ATOMS304=304,origin +ATOMS305=305,origin +ATOMS306=306,origin +ATOMS307=307,origin +ATOMS308=308,origin +ATOMS309=309,origin +ATOMS310=310,origin +ATOMS311=311,origin +ATOMS312=312,origin +ATOMS313=313,origin +ATOMS314=314,origin +ATOMS315=315,origin +ATOMS316=316,origin +ATOMS317=317,origin +ATOMS318=318,origin +ATOMS319=319,origin +ATOMS320=320,origin +ATOMS321=321,origin +ATOMS322=322,origin +ATOMS323=323,origin +ATOMS324=324,origin +ATOMS325=325,origin +ATOMS326=326,origin +ATOMS327=327,origin +ATOMS328=328,origin +ATOMS329=329,origin +ATOMS330=330,origin +ATOMS331=331,origin +ATOMS332=332,origin +ATOMS333=333,origin +ATOMS334=334,origin +ATOMS335=335,origin +ATOMS336=336,origin +ATOMS337=337,origin +ATOMS338=338,origin +ATOMS339=339,origin +ATOMS340=340,origin +ATOMS341=341,origin +ATOMS342=342,origin +ATOMS343=343,origin +ATOMS344=344,origin +ATOMS345=345,origin +ATOMS346=346,origin +ATOMS347=347,origin +ATOMS348=348,origin +ATOMS349=349,origin +ATOMS350=350,origin +ATOMS351=351,origin +ATOMS352=352,origin +ATOMS353=353,origin +ATOMS354=354,origin +ATOMS355=355,origin +ATOMS356=356,origin +ATOMS357=357,origin +ATOMS358=358,origin +ATOMS359=359,origin +ATOMS360=360,origin +ATOMS361=361,origin +ATOMS362=362,origin +ATOMS363=363,origin +ATOMS364=364,origin +ATOMS365=365,origin +ATOMS366=366,origin +ATOMS367=367,origin +ATOMS368=368,origin +ATOMS369=369,origin +ATOMS370=370,origin +ATOMS371=371,origin +ATOMS372=372,origin +ATOMS373=373,origin +ATOMS374=374,origin +ATOMS375=375,origin +ATOMS376=376,origin +ATOMS377=377,origin +ATOMS378=378,origin +ATOMS379=379,origin +ATOMS380=380,origin +ATOMS381=381,origin +ATOMS382=382,origin +ATOMS383=383,origin +ATOMS384=384,origin +ATOMS385=385,origin +ATOMS386=386,origin +ATOMS387=387,origin +ATOMS388=388,origin +ATOMS389=389,origin +ATOMS390=390,origin +ATOMS391=391,origin +ATOMS392=392,origin +ATOMS393=393,origin +ATOMS394=394,origin +ATOMS395=395,origin +ATOMS396=396,origin +ATOMS397=397,origin +ATOMS398=398,origin +ATOMS399=399,origin +ATOMS400=400,origin +ATOMS401=401,origin +ATOMS402=402,origin +ATOMS403=403,origin +ATOMS404=404,origin +ATOMS405=405,origin +ATOMS406=406,origin +ATOMS407=407,origin +ATOMS408=408,origin +ATOMS409=409,origin +ATOMS410=410,origin +ATOMS411=411,origin +ATOMS412=412,origin +ATOMS413=413,origin +ATOMS414=414,origin +ATOMS415=415,origin +ATOMS416=416,origin +ATOMS417=417,origin +ATOMS418=418,origin +ATOMS419=419,origin +ATOMS420=420,origin +ATOMS421=421,origin +ATOMS422=422,origin +ATOMS423=423,origin +ATOMS424=424,origin +ATOMS425=425,origin +ATOMS426=426,origin +ATOMS427=427,origin +ATOMS428=428,origin +ATOMS429=429,origin +ATOMS430=430,origin +ATOMS431=431,origin +ATOMS432=432,origin +ATOMS433=433,origin +ATOMS434=434,origin +ATOMS435=435,origin +ATOMS436=436,origin +ATOMS437=437,origin +ATOMS438=438,origin +ATOMS439=439,origin +ATOMS440=440,origin +ATOMS441=441,origin +ATOMS442=442,origin +ATOMS443=443,origin +ATOMS444=444,origin +ATOMS445=445,origin +ATOMS446=446,origin +ATOMS447=447,origin +ATOMS448=448,origin +ATOMS449=449,origin +ATOMS450=450,origin +ATOMS451=451,origin +ATOMS452=452,origin +ATOMS453=453,origin +ATOMS454=454,origin +ATOMS455=455,origin +ATOMS456=456,origin +ATOMS457=457,origin +ATOMS458=458,origin +ATOMS459=459,origin +ATOMS460=460,origin +ATOMS461=461,origin +ATOMS462=462,origin +ATOMS463=463,origin +ATOMS464=464,origin +ATOMS465=465,origin +ATOMS466=466,origin +ATOMS467=467,origin +ATOMS468=468,origin +ATOMS469=469,origin +ATOMS470=470,origin +ATOMS471=471,origin +ATOMS472=472,origin +ATOMS473=473,origin +ATOMS474=474,origin +ATOMS475=475,origin +ATOMS476=476,origin +ATOMS477=477,origin +ATOMS478=478,origin +ATOMS479=479,origin +ATOMS480=480,origin +ATOMS481=481,origin +ATOMS482=482,origin +ATOMS483=483,origin +ATOMS484=484,origin +ATOMS485=485,origin +ATOMS486=486,origin +ATOMS487=487,origin +ATOMS488=488,origin +ATOMS489=489,origin +ATOMS490=490,origin +ATOMS491=491,origin +ATOMS492=492,origin +ATOMS493=493,origin +ATOMS494=494,origin +ATOMS495=495,origin +ATOMS496=496,origin +ATOMS497=497,origin +ATOMS498=498,origin +ATOMS499=499,origin +ATOMS500=500,origin +BETWEEN={GAUSSIAN LOWER=0 UPPER=5.4373815 SMEAR=0.1} +... + +da: XDISTANCES ... +ATOMS1=1,origin +ATOMS2=2,origin +ATOMS3=3,origin +ATOMS4=4,origin +ATOMS5=5,origin +ATOMS6=6,origin +ATOMS7=7,origin +ATOMS8=8,origin +ATOMS9=9,origin +ATOMS10=10,origin +ATOMS11=11,origin +ATOMS12=12,origin +ATOMS13=13,origin +ATOMS14=14,origin +ATOMS15=15,origin +ATOMS16=16,origin +ATOMS17=17,origin +ATOMS18=18,origin +ATOMS19=19,origin +ATOMS20=20,origin +ATOMS21=21,origin +ATOMS22=22,origin +ATOMS23=23,origin +ATOMS24=24,origin +ATOMS25=25,origin +ATOMS26=26,origin +ATOMS27=27,origin +ATOMS28=28,origin +ATOMS29=29,origin +ATOMS30=30,origin +ATOMS31=31,origin +ATOMS32=32,origin +ATOMS33=33,origin +ATOMS34=34,origin +ATOMS35=35,origin +ATOMS36=36,origin +ATOMS37=37,origin +ATOMS38=38,origin +ATOMS39=39,origin +ATOMS40=40,origin +ATOMS41=41,origin +ATOMS42=42,origin +ATOMS43=43,origin +ATOMS44=44,origin +ATOMS45=45,origin +ATOMS46=46,origin +ATOMS47=47,origin +ATOMS48=48,origin +ATOMS49=49,origin +ATOMS50=50,origin +ATOMS51=51,origin +ATOMS52=52,origin +ATOMS53=53,origin +ATOMS54=54,origin +ATOMS55=55,origin +ATOMS56=56,origin +ATOMS57=57,origin +ATOMS58=58,origin +ATOMS59=59,origin +ATOMS60=60,origin +ATOMS61=61,origin +ATOMS62=62,origin +ATOMS63=63,origin +ATOMS64=64,origin +ATOMS65=65,origin +ATOMS66=66,origin +ATOMS67=67,origin +ATOMS68=68,origin +ATOMS69=69,origin +ATOMS70=70,origin +ATOMS71=71,origin +ATOMS72=72,origin +ATOMS73=73,origin +ATOMS74=74,origin +ATOMS75=75,origin +ATOMS76=76,origin +ATOMS77=77,origin +ATOMS78=78,origin +ATOMS79=79,origin +ATOMS80=80,origin +ATOMS81=81,origin +ATOMS82=82,origin +ATOMS83=83,origin +ATOMS84=84,origin +ATOMS85=85,origin +ATOMS86=86,origin +ATOMS87=87,origin +ATOMS88=88,origin +ATOMS89=89,origin +ATOMS90=90,origin +ATOMS91=91,origin +ATOMS92=92,origin +ATOMS93=93,origin +ATOMS94=94,origin +ATOMS95=95,origin +ATOMS96=96,origin +ATOMS97=97,origin +ATOMS98=98,origin +ATOMS99=99,origin +ATOMS100=100,origin +ATOMS101=101,origin +ATOMS102=102,origin +ATOMS103=103,origin +ATOMS104=104,origin +ATOMS105=105,origin +ATOMS106=106,origin +ATOMS107=107,origin +ATOMS108=108,origin +ATOMS109=109,origin +ATOMS110=110,origin +ATOMS111=111,origin +ATOMS112=112,origin +ATOMS113=113,origin +ATOMS114=114,origin +ATOMS115=115,origin +ATOMS116=116,origin +ATOMS117=117,origin +ATOMS118=118,origin +ATOMS119=119,origin +ATOMS120=120,origin +ATOMS121=121,origin +ATOMS122=122,origin +ATOMS123=123,origin +ATOMS124=124,origin +ATOMS125=125,origin +ATOMS126=126,origin +ATOMS127=127,origin +ATOMS128=128,origin +ATOMS129=129,origin +ATOMS130=130,origin +ATOMS131=131,origin +ATOMS132=132,origin +ATOMS133=133,origin +ATOMS134=134,origin +ATOMS135=135,origin +ATOMS136=136,origin +ATOMS137=137,origin +ATOMS138=138,origin +ATOMS139=139,origin +ATOMS140=140,origin +ATOMS141=141,origin +ATOMS142=142,origin +ATOMS143=143,origin +ATOMS144=144,origin +ATOMS145=145,origin +ATOMS146=146,origin +ATOMS147=147,origin +ATOMS148=148,origin +ATOMS149=149,origin +ATOMS150=150,origin +ATOMS151=151,origin +ATOMS152=152,origin +ATOMS153=153,origin +ATOMS154=154,origin +ATOMS155=155,origin +ATOMS156=156,origin +ATOMS157=157,origin +ATOMS158=158,origin +ATOMS159=159,origin +ATOMS160=160,origin +ATOMS161=161,origin +ATOMS162=162,origin +ATOMS163=163,origin +ATOMS164=164,origin +ATOMS165=165,origin +ATOMS166=166,origin +ATOMS167=167,origin +ATOMS168=168,origin +ATOMS169=169,origin +ATOMS170=170,origin +ATOMS171=171,origin +ATOMS172=172,origin +ATOMS173=173,origin +ATOMS174=174,origin +ATOMS175=175,origin +ATOMS176=176,origin +ATOMS177=177,origin +ATOMS178=178,origin +ATOMS179=179,origin +ATOMS180=180,origin +ATOMS181=181,origin +ATOMS182=182,origin +ATOMS183=183,origin +ATOMS184=184,origin +ATOMS185=185,origin +ATOMS186=186,origin +ATOMS187=187,origin +ATOMS188=188,origin +ATOMS189=189,origin +ATOMS190=190,origin +ATOMS191=191,origin +ATOMS192=192,origin +ATOMS193=193,origin +ATOMS194=194,origin +ATOMS195=195,origin +ATOMS196=196,origin +ATOMS197=197,origin +ATOMS198=198,origin +ATOMS199=199,origin +ATOMS200=200,origin +ATOMS201=201,origin +ATOMS202=202,origin +ATOMS203=203,origin +ATOMS204=204,origin +ATOMS205=205,origin +ATOMS206=206,origin +ATOMS207=207,origin +ATOMS208=208,origin +ATOMS209=209,origin +ATOMS210=210,origin +ATOMS211=211,origin +ATOMS212=212,origin +ATOMS213=213,origin +ATOMS214=214,origin +ATOMS215=215,origin +ATOMS216=216,origin +ATOMS217=217,origin +ATOMS218=218,origin +ATOMS219=219,origin +ATOMS220=220,origin +ATOMS221=221,origin +ATOMS222=222,origin +ATOMS223=223,origin +ATOMS224=224,origin +ATOMS225=225,origin +ATOMS226=226,origin +ATOMS227=227,origin +ATOMS228=228,origin +ATOMS229=229,origin +ATOMS230=230,origin +ATOMS231=231,origin +ATOMS232=232,origin +ATOMS233=233,origin +ATOMS234=234,origin +ATOMS235=235,origin +ATOMS236=236,origin +ATOMS237=237,origin +ATOMS238=238,origin +ATOMS239=239,origin +ATOMS240=240,origin +ATOMS241=241,origin +ATOMS242=242,origin +ATOMS243=243,origin +ATOMS244=244,origin +ATOMS245=245,origin +ATOMS246=246,origin +ATOMS247=247,origin +ATOMS248=248,origin +ATOMS249=249,origin +ATOMS250=250,origin +ATOMS251=251,origin +ATOMS252=252,origin +ATOMS253=253,origin +ATOMS254=254,origin +ATOMS255=255,origin +ATOMS256=256,origin +ATOMS257=257,origin +ATOMS258=258,origin +ATOMS259=259,origin +ATOMS260=260,origin +ATOMS261=261,origin +ATOMS262=262,origin +ATOMS263=263,origin +ATOMS264=264,origin +ATOMS265=265,origin +ATOMS266=266,origin +ATOMS267=267,origin +ATOMS268=268,origin +ATOMS269=269,origin +ATOMS270=270,origin +ATOMS271=271,origin +ATOMS272=272,origin +ATOMS273=273,origin +ATOMS274=274,origin +ATOMS275=275,origin +ATOMS276=276,origin +ATOMS277=277,origin +ATOMS278=278,origin +ATOMS279=279,origin +ATOMS280=280,origin +ATOMS281=281,origin +ATOMS282=282,origin +ATOMS283=283,origin +ATOMS284=284,origin +ATOMS285=285,origin +ATOMS286=286,origin +ATOMS287=287,origin +ATOMS288=288,origin +ATOMS289=289,origin +ATOMS290=290,origin +ATOMS291=291,origin +ATOMS292=292,origin +ATOMS293=293,origin +ATOMS294=294,origin +ATOMS295=295,origin +ATOMS296=296,origin +ATOMS297=297,origin +ATOMS298=298,origin +ATOMS299=299,origin +ATOMS300=300,origin +ATOMS301=301,origin +ATOMS302=302,origin +ATOMS303=303,origin +ATOMS304=304,origin +ATOMS305=305,origin +ATOMS306=306,origin +ATOMS307=307,origin +ATOMS308=308,origin +ATOMS309=309,origin +ATOMS310=310,origin +ATOMS311=311,origin +ATOMS312=312,origin +ATOMS313=313,origin +ATOMS314=314,origin +ATOMS315=315,origin +ATOMS316=316,origin +ATOMS317=317,origin +ATOMS318=318,origin +ATOMS319=319,origin +ATOMS320=320,origin +ATOMS321=321,origin +ATOMS322=322,origin +ATOMS323=323,origin +ATOMS324=324,origin +ATOMS325=325,origin +ATOMS326=326,origin +ATOMS327=327,origin +ATOMS328=328,origin +ATOMS329=329,origin +ATOMS330=330,origin +ATOMS331=331,origin +ATOMS332=332,origin +ATOMS333=333,origin +ATOMS334=334,origin +ATOMS335=335,origin +ATOMS336=336,origin +ATOMS337=337,origin +ATOMS338=338,origin +ATOMS339=339,origin +ATOMS340=340,origin +ATOMS341=341,origin +ATOMS342=342,origin +ATOMS343=343,origin +ATOMS344=344,origin +ATOMS345=345,origin +ATOMS346=346,origin +ATOMS347=347,origin +ATOMS348=348,origin +ATOMS349=349,origin +ATOMS350=350,origin +ATOMS351=351,origin +ATOMS352=352,origin +ATOMS353=353,origin +ATOMS354=354,origin +ATOMS355=355,origin +ATOMS356=356,origin +ATOMS357=357,origin +ATOMS358=358,origin +ATOMS359=359,origin +ATOMS360=360,origin +ATOMS361=361,origin +ATOMS362=362,origin +ATOMS363=363,origin +ATOMS364=364,origin +ATOMS365=365,origin +ATOMS366=366,origin +ATOMS367=367,origin +ATOMS368=368,origin +ATOMS369=369,origin +ATOMS370=370,origin +ATOMS371=371,origin +ATOMS372=372,origin +ATOMS373=373,origin +ATOMS374=374,origin +ATOMS375=375,origin +ATOMS376=376,origin +ATOMS377=377,origin +ATOMS378=378,origin +ATOMS379=379,origin +ATOMS380=380,origin +ATOMS381=381,origin +ATOMS382=382,origin +ATOMS383=383,origin +ATOMS384=384,origin +ATOMS385=385,origin +ATOMS386=386,origin +ATOMS387=387,origin +ATOMS388=388,origin +ATOMS389=389,origin +ATOMS390=390,origin +ATOMS391=391,origin +ATOMS392=392,origin +ATOMS393=393,origin +ATOMS394=394,origin +ATOMS395=395,origin +ATOMS396=396,origin +ATOMS397=397,origin +ATOMS398=398,origin +ATOMS399=399,origin +ATOMS400=400,origin +ATOMS401=401,origin +ATOMS402=402,origin +ATOMS403=403,origin +ATOMS404=404,origin +ATOMS405=405,origin +ATOMS406=406,origin +ATOMS407=407,origin +ATOMS408=408,origin +ATOMS409=409,origin +ATOMS410=410,origin +ATOMS411=411,origin +ATOMS412=412,origin +ATOMS413=413,origin +ATOMS414=414,origin +ATOMS415=415,origin +ATOMS416=416,origin +ATOMS417=417,origin +ATOMS418=418,origin +ATOMS419=419,origin +ATOMS420=420,origin +ATOMS421=421,origin +ATOMS422=422,origin +ATOMS423=423,origin +ATOMS424=424,origin +ATOMS425=425,origin +ATOMS426=426,origin +ATOMS427=427,origin +ATOMS428=428,origin +ATOMS429=429,origin +ATOMS430=430,origin +ATOMS431=431,origin +ATOMS432=432,origin +ATOMS433=433,origin +ATOMS434=434,origin +ATOMS435=435,origin +ATOMS436=436,origin +ATOMS437=437,origin +ATOMS438=438,origin +ATOMS439=439,origin +ATOMS440=440,origin +ATOMS441=441,origin +ATOMS442=442,origin +ATOMS443=443,origin +ATOMS444=444,origin +ATOMS445=445,origin +ATOMS446=446,origin +ATOMS447=447,origin +ATOMS448=448,origin +ATOMS449=449,origin +ATOMS450=450,origin +ATOMS451=451,origin +ATOMS452=452,origin +ATOMS453=453,origin +ATOMS454=454,origin +ATOMS455=455,origin +ATOMS456=456,origin +ATOMS457=457,origin +ATOMS458=458,origin +ATOMS459=459,origin +ATOMS460=460,origin +ATOMS461=461,origin +ATOMS462=462,origin +ATOMS463=463,origin +ATOMS464=464,origin +ATOMS465=465,origin +ATOMS466=466,origin +ATOMS467=467,origin +ATOMS468=468,origin +ATOMS469=469,origin +ATOMS470=470,origin +ATOMS471=471,origin +ATOMS472=472,origin +ATOMS473=473,origin +ATOMS474=474,origin +ATOMS475=475,origin +ATOMS476=476,origin +ATOMS477=477,origin +ATOMS478=478,origin +ATOMS479=479,origin +ATOMS480=480,origin +ATOMS481=481,origin +ATOMS482=482,origin +ATOMS483=483,origin +ATOMS484=484,origin +ATOMS485=485,origin +ATOMS486=486,origin +ATOMS487=487,origin +ATOMS488=488,origin +ATOMS489=489,origin +ATOMS490=490,origin +ATOMS491=491,origin +ATOMS492=492,origin +ATOMS493=493,origin +ATOMS494=494,origin +ATOMS495=495,origin +ATOMS496=496,origin +ATOMS497=497,origin +ATOMS498=498,origin +ATOMS499=499,origin +ATOMS500=500,origin +ATOMS501=501,origin +ATOMS502=502,origin +ATOMS503=503,origin +ATOMS504=504,origin +ATOMS505=505,origin +ATOMS506=506,origin +ATOMS507=507,origin +ATOMS508=508,origin +ATOMS509=509,origin +ATOMS510=510,origin +ATOMS511=511,origin +ATOMS512=512,origin +ATOMS513=513,origin +ATOMS514=514,origin +ATOMS515=515,origin +ATOMS516=516,origin +ATOMS517=517,origin +ATOMS518=518,origin +ATOMS519=519,origin +ATOMS520=520,origin +ATOMS521=521,origin +ATOMS522=522,origin +ATOMS523=523,origin +ATOMS524=524,origin +ATOMS525=525,origin +ATOMS526=526,origin +ATOMS527=527,origin +ATOMS528=528,origin +ATOMS529=529,origin +ATOMS530=530,origin +ATOMS531=531,origin +ATOMS532=532,origin +ATOMS533=533,origin +ATOMS534=534,origin +ATOMS535=535,origin +ATOMS536=536,origin +ATOMS537=537,origin +ATOMS538=538,origin +ATOMS539=539,origin +ATOMS540=540,origin +ATOMS541=541,origin +ATOMS542=542,origin +ATOMS543=543,origin +ATOMS544=544,origin +ATOMS545=545,origin +ATOMS546=546,origin +ATOMS547=547,origin +ATOMS548=548,origin +ATOMS549=549,origin +ATOMS550=550,origin +ATOMS551=551,origin +ATOMS552=552,origin +ATOMS553=553,origin +ATOMS554=554,origin +ATOMS555=555,origin +ATOMS556=556,origin +ATOMS557=557,origin +ATOMS558=558,origin +ATOMS559=559,origin +ATOMS560=560,origin +ATOMS561=561,origin +ATOMS562=562,origin +ATOMS563=563,origin +ATOMS564=564,origin +ATOMS565=565,origin +ATOMS566=566,origin +ATOMS567=567,origin +ATOMS568=568,origin +ATOMS569=569,origin +ATOMS570=570,origin +ATOMS571=571,origin +ATOMS572=572,origin +ATOMS573=573,origin +ATOMS574=574,origin +ATOMS575=575,origin +ATOMS576=576,origin +ATOMS577=577,origin +ATOMS578=578,origin +ATOMS579=579,origin +ATOMS580=580,origin +ATOMS581=581,origin +ATOMS582=582,origin +ATOMS583=583,origin +ATOMS584=584,origin +ATOMS585=585,origin +ATOMS586=586,origin +ATOMS587=587,origin +ATOMS588=588,origin +ATOMS589=589,origin +ATOMS590=590,origin +ATOMS591=591,origin +ATOMS592=592,origin +ATOMS593=593,origin +ATOMS594=594,origin +ATOMS595=595,origin +ATOMS596=596,origin +ATOMS597=597,origin +ATOMS598=598,origin +ATOMS599=599,origin +ATOMS600=600,origin +ATOMS601=601,origin +ATOMS602=602,origin +ATOMS603=603,origin +ATOMS604=604,origin +ATOMS605=605,origin +ATOMS606=606,origin +ATOMS607=607,origin +ATOMS608=608,origin +ATOMS609=609,origin +ATOMS610=610,origin +ATOMS611=611,origin +ATOMS612=612,origin +ATOMS613=613,origin +ATOMS614=614,origin +ATOMS615=615,origin +ATOMS616=616,origin +ATOMS617=617,origin +ATOMS618=618,origin +ATOMS619=619,origin +ATOMS620=620,origin +ATOMS621=621,origin +ATOMS622=622,origin +ATOMS623=623,origin +ATOMS624=624,origin +ATOMS625=625,origin +ATOMS626=626,origin +ATOMS627=627,origin +ATOMS628=628,origin +ATOMS629=629,origin +ATOMS630=630,origin +ATOMS631=631,origin +ATOMS632=632,origin +ATOMS633=633,origin +ATOMS634=634,origin +ATOMS635=635,origin +ATOMS636=636,origin +ATOMS637=637,origin +ATOMS638=638,origin +ATOMS639=639,origin +ATOMS640=640,origin +ATOMS641=641,origin +ATOMS642=642,origin +ATOMS643=643,origin +ATOMS644=644,origin +ATOMS645=645,origin +ATOMS646=646,origin +ATOMS647=647,origin +ATOMS648=648,origin +ATOMS649=649,origin +ATOMS650=650,origin +ATOMS651=651,origin +ATOMS652=652,origin +ATOMS653=653,origin +ATOMS654=654,origin +ATOMS655=655,origin +ATOMS656=656,origin +ATOMS657=657,origin +ATOMS658=658,origin +ATOMS659=659,origin +ATOMS660=660,origin +ATOMS661=661,origin +ATOMS662=662,origin +ATOMS663=663,origin +ATOMS664=664,origin +ATOMS665=665,origin +ATOMS666=666,origin +ATOMS667=667,origin +ATOMS668=668,origin +ATOMS669=669,origin +ATOMS670=670,origin +ATOMS671=671,origin +ATOMS672=672,origin +ATOMS673=673,origin +ATOMS674=674,origin +ATOMS675=675,origin +ATOMS676=676,origin +ATOMS677=677,origin +ATOMS678=678,origin +ATOMS679=679,origin +ATOMS680=680,origin +ATOMS681=681,origin +ATOMS682=682,origin +ATOMS683=683,origin +ATOMS684=684,origin +ATOMS685=685,origin +ATOMS686=686,origin +ATOMS687=687,origin +ATOMS688=688,origin +ATOMS689=689,origin +ATOMS690=690,origin +ATOMS691=691,origin +ATOMS692=692,origin +ATOMS693=693,origin +ATOMS694=694,origin +ATOMS695=695,origin +ATOMS696=696,origin +ATOMS697=697,origin +ATOMS698=698,origin +ATOMS699=699,origin +ATOMS700=700,origin +ATOMS701=701,origin +ATOMS702=702,origin +ATOMS703=703,origin +ATOMS704=704,origin +ATOMS705=705,origin +ATOMS706=706,origin +ATOMS707=707,origin +ATOMS708=708,origin +ATOMS709=709,origin +ATOMS710=710,origin +ATOMS711=711,origin +ATOMS712=712,origin +ATOMS713=713,origin +ATOMS714=714,origin +ATOMS715=715,origin +ATOMS716=716,origin +ATOMS717=717,origin +ATOMS718=718,origin +ATOMS719=719,origin +ATOMS720=720,origin +ATOMS721=721,origin +ATOMS722=722,origin +ATOMS723=723,origin +ATOMS724=724,origin +ATOMS725=725,origin +ATOMS726=726,origin +ATOMS727=727,origin +ATOMS728=728,origin +ATOMS729=729,origin +ATOMS730=730,origin +ATOMS731=731,origin +ATOMS732=732,origin +ATOMS733=733,origin +ATOMS734=734,origin +ATOMS735=735,origin +ATOMS736=736,origin +ATOMS737=737,origin +ATOMS738=738,origin +ATOMS739=739,origin +ATOMS740=740,origin +ATOMS741=741,origin +ATOMS742=742,origin +ATOMS743=743,origin +ATOMS744=744,origin +ATOMS745=745,origin +ATOMS746=746,origin +ATOMS747=747,origin +ATOMS748=748,origin +ATOMS749=749,origin +ATOMS750=750,origin +ATOMS751=751,origin +ATOMS752=752,origin +ATOMS753=753,origin +ATOMS754=754,origin +ATOMS755=755,origin +ATOMS756=756,origin +ATOMS757=757,origin +ATOMS758=758,origin +ATOMS759=759,origin +ATOMS760=760,origin +ATOMS761=761,origin +ATOMS762=762,origin +ATOMS763=763,origin +ATOMS764=764,origin +ATOMS765=765,origin +ATOMS766=766,origin +ATOMS767=767,origin +ATOMS768=768,origin +ATOMS769=769,origin +ATOMS770=770,origin +ATOMS771=771,origin +ATOMS772=772,origin +ATOMS773=773,origin +ATOMS774=774,origin +ATOMS775=775,origin +ATOMS776=776,origin +ATOMS777=777,origin +ATOMS778=778,origin +ATOMS779=779,origin +ATOMS780=780,origin +ATOMS781=781,origin +ATOMS782=782,origin +ATOMS783=783,origin +ATOMS784=784,origin +ATOMS785=785,origin +ATOMS786=786,origin +ATOMS787=787,origin +ATOMS788=788,origin +ATOMS789=789,origin +ATOMS790=790,origin +ATOMS791=791,origin +ATOMS792=792,origin +ATOMS793=793,origin +ATOMS794=794,origin +ATOMS795=795,origin +ATOMS796=796,origin +ATOMS797=797,origin +ATOMS798=798,origin +ATOMS799=799,origin +ATOMS800=800,origin +ATOMS801=801,origin +ATOMS802=802,origin +ATOMS803=803,origin +ATOMS804=804,origin +ATOMS805=805,origin +ATOMS806=806,origin +ATOMS807=807,origin +ATOMS808=808,origin +ATOMS809=809,origin +ATOMS810=810,origin +ATOMS811=811,origin +ATOMS812=812,origin +ATOMS813=813,origin +ATOMS814=814,origin +ATOMS815=815,origin +ATOMS816=816,origin +ATOMS817=817,origin +ATOMS818=818,origin +ATOMS819=819,origin +ATOMS820=820,origin +ATOMS821=821,origin +ATOMS822=822,origin +ATOMS823=823,origin +ATOMS824=824,origin +ATOMS825=825,origin +ATOMS826=826,origin +ATOMS827=827,origin +ATOMS828=828,origin +ATOMS829=829,origin +ATOMS830=830,origin +ATOMS831=831,origin +ATOMS832=832,origin +ATOMS833=833,origin +ATOMS834=834,origin +ATOMS835=835,origin +ATOMS836=836,origin +ATOMS837=837,origin +ATOMS838=838,origin +ATOMS839=839,origin +ATOMS840=840,origin +ATOMS841=841,origin +ATOMS842=842,origin +ATOMS843=843,origin +ATOMS844=844,origin +ATOMS845=845,origin +ATOMS846=846,origin +ATOMS847=847,origin +ATOMS848=848,origin +ATOMS849=849,origin +ATOMS850=850,origin +ATOMS851=851,origin +ATOMS852=852,origin +ATOMS853=853,origin +ATOMS854=854,origin +ATOMS855=855,origin +ATOMS856=856,origin +ATOMS857=857,origin +ATOMS858=858,origin +ATOMS859=859,origin +ATOMS860=860,origin +ATOMS861=861,origin +ATOMS862=862,origin +ATOMS863=863,origin +ATOMS864=864,origin +ATOMS865=865,origin +ATOMS866=866,origin +ATOMS867=867,origin +ATOMS868=868,origin +ATOMS869=869,origin +ATOMS870=870,origin +ATOMS871=871,origin +ATOMS872=872,origin +ATOMS873=873,origin +ATOMS874=874,origin +ATOMS875=875,origin +ATOMS876=876,origin +ATOMS877=877,origin +ATOMS878=878,origin +ATOMS879=879,origin +ATOMS880=880,origin +ATOMS881=881,origin +ATOMS882=882,origin +ATOMS883=883,origin +ATOMS884=884,origin +ATOMS885=885,origin +ATOMS886=886,origin +ATOMS887=887,origin +ATOMS888=888,origin +ATOMS889=889,origin +ATOMS890=890,origin +ATOMS891=891,origin +ATOMS892=892,origin +ATOMS893=893,origin +ATOMS894=894,origin +ATOMS895=895,origin +ATOMS896=896,origin +ATOMS897=897,origin +ATOMS898=898,origin +ATOMS899=899,origin +ATOMS900=900,origin +ATOMS901=901,origin +ATOMS902=902,origin +ATOMS903=903,origin +ATOMS904=904,origin +ATOMS905=905,origin +ATOMS906=906,origin +ATOMS907=907,origin +ATOMS908=908,origin +ATOMS909=909,origin +ATOMS910=910,origin +ATOMS911=911,origin +ATOMS912=912,origin +ATOMS913=913,origin +ATOMS914=914,origin +ATOMS915=915,origin +ATOMS916=916,origin +ATOMS917=917,origin +ATOMS918=918,origin +ATOMS919=919,origin +ATOMS920=920,origin +ATOMS921=921,origin +ATOMS922=922,origin +ATOMS923=923,origin +ATOMS924=924,origin +ATOMS925=925,origin +ATOMS926=926,origin +ATOMS927=927,origin +ATOMS928=928,origin +ATOMS929=929,origin +ATOMS930=930,origin +ATOMS931=931,origin +ATOMS932=932,origin +ATOMS933=933,origin +ATOMS934=934,origin +ATOMS935=935,origin +ATOMS936=936,origin +ATOMS937=937,origin +ATOMS938=938,origin +ATOMS939=939,origin +ATOMS940=940,origin +ATOMS941=941,origin +ATOMS942=942,origin +ATOMS943=943,origin +ATOMS944=944,origin +ATOMS945=945,origin +ATOMS946=946,origin +ATOMS947=947,origin +ATOMS948=948,origin +ATOMS949=949,origin +ATOMS950=950,origin +ATOMS951=951,origin +ATOMS952=952,origin +ATOMS953=953,origin +ATOMS954=954,origin +ATOMS955=955,origin +ATOMS956=956,origin +ATOMS957=957,origin +ATOMS958=958,origin +ATOMS959=959,origin +ATOMS960=960,origin +ATOMS961=961,origin +ATOMS962=962,origin +ATOMS963=963,origin +ATOMS964=964,origin +ATOMS965=965,origin +ATOMS966=966,origin +ATOMS967=967,origin +ATOMS968=968,origin +ATOMS969=969,origin +ATOMS970=970,origin +ATOMS971=971,origin +ATOMS972=972,origin +ATOMS973=973,origin +ATOMS974=974,origin +ATOMS975=975,origin +ATOMS976=976,origin +ATOMS977=977,origin +ATOMS978=978,origin +ATOMS979=979,origin +ATOMS980=980,origin +ATOMS981=981,origin +ATOMS982=982,origin +ATOMS983=983,origin +ATOMS984=984,origin +ATOMS985=985,origin +ATOMS986=986,origin +ATOMS987=987,origin +ATOMS988=988,origin +ATOMS989=989,origin +ATOMS990=990,origin +ATOMS991=991,origin +ATOMS992=992,origin +ATOMS993=993,origin +ATOMS994=994,origin +ATOMS995=995,origin +ATOMS996=996,origin +ATOMS997=997,origin +ATOMS998=998,origin +ATOMS999=999,origin +ATOMS1000=1000,origin +BETWEEN1={GAUSSIAN LOWER=0 UPPER=5.4373815 SMEAR=0.1 LABEL=left} +BETWEEN2={GAUSSIAN LOWER=-5.4373815 UPPER=0 SMEAR=0.1 LABEL=right} +...