Skip to main content

Tool for finding atomic environments in crystal structures

Project description

EnviornmentFinder Environment finder

A tool for finding and analyzing atomic environments in crystal structures.

DOI

Instructions

Simple instructions

On linux, execute the commands:

pip install environmentfinder
environmentfinder

Voila! A browser tab should now be open with the environment finder app.

Installation

The simplest way to install environment finder is to use pip with the command,

pip install environmentfinder

This will automatically get the source code from PyPI.

However, I suggest that you encapsulate the installation using a conda environment, for example,

conda create --name env_finder python=3.8
conda activate env_finder
pip install environmentfinder

Execution

To execute the app just type,

environmentfinder

and a browser tab should now be open with the environment finder app

Purpose

The 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 the EnvironmentSimilarity collective variable in PLUMED. The tool can also be used to visualize chemical environments around an atom for general purposes.

Features

  • Choose from the examples or upload your own configuration.
  • Determine unique environments in crystal structures. Generally, these environments correspond to the basis of the crystal structure.
  • An algorithm to find unique environments is used.
  • Visualize the environments.
  • Output the environments in Protein Data Bank (pdb) format.

Usage

The app has four tabs:

  • Choose configuration
  • Define environments
  • Analyze environments
  • Output environments

that should be used sequentially.

Choose configuration

The Choose configuration tab has a dropdown menu and an Upload button. By default the user can select a configuration from some examples that are useful to play with and get a grasp of the tool. The Upload button 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 found here. ASE determines the file format by its extension so be sure to name the file properly!

Define environments

The Define environments tab is where the user defines the environments. There are three different ways to define the environments, Type, String, and Step that can be selected with the toggle buttons. Typically the most useful one is the Type option. 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 the Central atoms type:, Neighbor atoms type:, and Cutoff (Å): 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 the Tolerance (Å): 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.

Units

  • Cutoff should be given in angstrom
  • Tolerance should be given in angstrom

Analyze environments

The Analyze environments tab allows to visualize the calculated environments. One can toggle between the Unique environments and All of them. There is a slide bar to select the environment to visualize.

Output environments

The Output environments tab prints the environments in Protein Data Bank (PDB) format. One can toggle between the Unique environments and All of them. The environments can be downloaded in a zip file.

Acknowledgments

  • The app uses several python libraries, for instance ASE, NGLVIEW, and ipywidgets.
  • 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 cite

If you are using this tool to find environments for enhanced sampling simulations please read and cite:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

environmentfinder-1.1.3.tar.gz (295.0 kB view details)

Uploaded Source

Built Distribution

environmentfinder-1.1.3-py3-none-any.whl (293.4 kB view details)

Uploaded Python 3

File details

Details for the file environmentfinder-1.1.3.tar.gz.

File metadata

  • Download URL: environmentfinder-1.1.3.tar.gz
  • Upload date:
  • Size: 295.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for environmentfinder-1.1.3.tar.gz
Algorithm Hash digest
SHA256 54fff2f3e8fcefc3cf6cb83a3fabcdbbdde321a7215870c5b0bd791f2df88f6a
MD5 d6874e98d7c3adbc697af0f6d044f542
BLAKE2b-256 82baabe32dbbe31ddfd33f3fc0f005a3c7680e38e6aa97ac2d162c8fcc7cdc39

See more details on using hashes here.

File details

Details for the file environmentfinder-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for environmentfinder-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e9b94eaedb4a8e979aaaaa392a931447a9e479e706a585b7bfc756a1c660bc15
MD5 6e7610c269e85ff90c82d92ebc74c6db
BLAKE2b-256 0e494e0fafc954ed2b240b81f20f62b253d93f12505175f67b1e2ca587cea39d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page