Code Monkey home page Code Monkey logo

dylanbmorgan / ims-plot Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 8.35 MB

A NICS-based multi-dimensional method to visualise areas of aromaticity and antiaromaticity in molecules. NICS values are calculated using Gaussian. Developed as part of an MChem project at Loughborough University.

License: GNU General Public License v3.0

Python 89.09% DIGITAL Command Language 2.85% Shell 8.06%
chem visualisation nics nmr dft gaussian macrocycles aromaticity macrocycles-visualisation

ims-plot's People

Contributors

dylanbmorgan avatar felixplasser avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

ims-plot's Issues

1D plot improvement

Enable generation of matplotlib 1D plots so they appear like in the Stanger paper where multiple molecules/excited states/etc appear on the same plot

Improve matplotlib graph

  • Automatically add a title, axes titles, and units
  • Include optional flag so user can specify above criteria if desired

Write better fix for 2d/3d ghost atom generator

When testing the 2d_ga_gen script, it was discovered that it would only append Bq coors correctly if they were specified in the xy plane. If attempting to append in other planes, it would only generate a 1d array and many atoms were duplicated. I have written a quick fix utilising argparse, but I would prefer if it could work as intended without the usr having to specify the plane themselves with an argparse argument.

Details of the current fix can be found in 38f54ac

@felixplasser if it's ok with you, I'm going to leave this for now and focus on finishing the 2d contour plot

Update example files

  • Pull test files for anthracene and benzene in singlet and triplet states generated using 1D scripts
  • Complete above for 2D
  • Complete above for 3D

Update plotter and parser scripts

  • Modify these scripts so plotter automatically calls parser (maybe as a module)
    • Only one script will need to be called, not both
  • Change how parsed_log_data.txt is created. Enable auto deletion once graph has been plotted

Update README

  • Update README to provide information on how to use scripts once they are finished
  • Correct figure 1
  • Improve in-text documentation

Improve 1D plots

Improve front end and argparse statements so it matches the 2d_graph.py

2D and 3D scripts

TODO:

Complete for each:

  • 2D ghost atom generator

  • 3D ghost atom generator

  • 2D log file parser

  • 3D log file parser

  • 2D graph plotter

  • 3D graph plotter

improve 2D and 3D generator scripts

Gaussian doesn't like files containing more than 100 or so Bq atoms, so the generator scripts are going to split the job into files containing maximum 100 Bqs

Setup scripts

  • Write script to automatically add scripts/repository to $PATH
  • Write script to automatically set up everything
    • low priority, possibly wait until later release

1D scan

For doing a 1D scan we'd need the following

  • Generate input file for 0D script

  • Generate input file for 1D script

  • Parse the information from the output file

  • Convert into a graphical representation (xy plot)

edits by @dylanbmorgan : added separate completion tasks for 0D and 1D scripts

Copyright and licensing

When you release code publicly, you should give information about authorship, copyright and licensing.

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.