Giter Site home page Giter Site logo

graphatoms's Introduction

Graphatoms

a tool for manipulating MultiGraph representations of Atomic structures

Motivation

MultiGraphs are a generalization of Graphs (the formal structure with Nodes and Edges) by allowing multiple edges to exist between any given two Nodes. Graph representations of chemical structures are prevalent in Cheminformatics because they allow us to talk about molecular structure at a high level (one can identify two water molecules as both being the same thing, i.e. water molecules, by showing they have an identical graph ... even if one has slightly different coordinates).

Graphs are sufficient to describe molecules, but of bulk and surface chemical structures require a more expressive representation. This is due to the fact that bulk and surface structures are infinitely sized - we represent them in a periodic cell and need to account for the fact that atoms can bond to atoms in these periodic images. With each atom in the unit cell as a representative of the set of atoms in all periodic images, we can describe the structure as a Multigraph, where we allow multiple bonds to exist between these representatives.

There are many potential benefits in surface science that could arise from being able to talk about chemical structures at this high level.

This repo

This repo is simply a collection of scripts that I have found useful in generating and manipulating these multigraph representations. Certainly a work in progress with nothing guaranteed to be correct.

Setup

Initialize your system with the following commands:

cd graphatoms
python3 -m venv .env
source .env/bin/activate
pip install -r requirements.txt

graphatoms's People

Contributors

kris-brown avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.