Package: environmentfinder
Environment finderA tool for finding and analyzing atomic environments in crystal structures.InstructionsSimple instructionsOn linux, execute the commands:pip install environmentfinder
environmentfinderVoila! A browser tab should now be open with the environment finder app.InstallationThe simplest way to install environment finder is to usepipwith the command,pip install environmentfinderThis will automatically get the source code fromPyPI.However, I suggest that you encapsulate the installation using acondaenvironment, for example,conda create --name env_finder python=3.8
conda activate env_finder
pip install environmentfinderExecutionTo execute the app just type,environmentfinderand a browser tab should now be open with the environment finder appPurposeThe purpose of this tool is to find atomic environments in crystal structures.
These environments can then be used to define measures of similarity and collective variables for enhanced sampling simulations.
The output from this tool can be used directly to create reference environments for theEnvironmentSimilaritycollective variable inPLUMED.
The tool can also be used to visualize chemical environments around an atom for general purposes.FeaturesChoose from the examples or upload your own configuration.Determine unique environments in crystal structures. Generally, these environments correspond to thebasisof the crystal structure.An algorithm to find unique environments is used.Visualize the environments.Output the environments in Protein Data Bank (pdb) format.UsageThe app has four tabs:Choose configurationDefine environmentsAnalyze environmentsOutput environmentsthat should be used sequentially.Choose configurationTheChoose configurationtab has a dropdown menu and anUploadbutton.
By default the user can select a configuration from some examples that are useful to play with and get a grasp of the tool.
TheUploadbutton should be used to analyze a configuration stored in the user's hard drive.
Once a configuration file has been uploaded the file should appear in the dropdown choices.
Any file format supported by the ASE library can be used.
A complete list can be foundhere.
ASE determines the file format by its extension so be sure to name the file properly!Define environmentsTheDefine environmentstab is where the user defines the environments.
There are three different ways to define the environments,Type,String, andStepthat can be selected with the toggle buttons.
Typically the most useful one is theTypeoption.
In this case one chooses the atom type of the central atom, the atom type of the neighboring atoms, and a cutoff.
These parameters are set using theCentral atoms type:,Neighbor atoms type:, andCutoff (Å):boxes.
The app will find all environments with atoms of the second type around atoms of the first type inside the specified cutoff.The tool then calculates the unique environments.
For this purpose it compares all environments and keeps only the ones that are different from each other.
Two environments are considered equal if the distance of every neighboring atom differs by less than some tolerance.
The tolerance is specified in theTolerance (Å):box.
In order to compare environments, all permutations of the atoms have to be considered and that calculation can be slow.When the calculation has finished the app prints the number of environments that have been found and the average number of neighbors in the environments.UnitsCutoff should be given in angstromTolerance should be given in angstromAnalyze environmentsTheAnalyze environmentstab allows to visualize the calculated environments.
One can toggle between theUniqueenvironments andAllof them.
There is a slide bar to select the environment to visualize.Output environmentsTheOutput environmentstab prints the environments in Protein Data Bank (PDB) format.
One can toggle between theUniqueenvironments andAllof them.
The environments can be downloaded in a zip file.AcknowledgmentsThe app uses several python libraries, for instanceASE,NGLVIEW, andipywidgets.I am grateful to Giovanni Pizzi and Dou Du for suggestions on how to deploy the tool.This tool was developed with support of the Swiss National Science Foundation (SNSF) through an Early Postdoc.Mobility fellowship.I also acknowledge funding from the NCCR MARVEL funded by the SNSF and from the CSI Computational Science Center funded by the Department of Energy of the USA.How to citeIf you are using this tool to find environments for enhanced sampling simulations please read and cite:Pablo Piaggi,Environment finder: A tool for finding and analyzing atomic environments in crystal structures, Zenodo (2021)Pablo Piaggi and Michele Parrinello,Calculation of phase diagrams in the multithermal-multibaric ensemble, J. Chem. Phys. 150, 244119 (2019)