Giter Club home page Giter Club logo

clancelot's Introduction

clancelot

A set of computational chemistry Python libraries and tools developed by the Clancy Group, Cornell University.

Installing

If you would like to install, simply clone the git repo, edit the install.py accordingly and run install.py

	`git clone https://github.com/jminuse/clancelot.git`

Contributing

If added to the project and you want to contribute, you can do the following:

  1. Request permission from James Stevenson

  2. Setup an ssh key as described here

  3. Decide where you would like to have the repo, change directories to it, and run:

     `git clone [email protected]:jminuse/clancelot.git`
    
  4. Run the following to make sure you have your ssh id's stored:

     `ssh-add ~/.ssh/id_rsa`
    
     `ssh-add`
    
  5. Whenever you want to add or delete a file (remember that you cannot add an empty folder) run:

    To Add:

     `git add PATH/TO/FILE/NEW_FILE_NAME`
    

    To Delete:

     `git rm PATH/TO/FILE/FILE_TO_DELETE`
    
  6. Whenevery you want to add updated files to git, run:

     `git add -u`
    
  7. When you are ready to add to the main repo, run:

     `git commit -m "Whatever message describing what you did"`
     `git push`
    
  8. Finally, you may want to check if there are any changes you made prior to adding all updated files: The following checks which files are different to what is in your commit:

     `git status`
    

    The following will look at the last two changes of a file:

     `git blame PATH/TO/FILE/FILE_NAME`
    

TODO

  1. Things to deprecate
  • In Utils:
    • frange, quat_to_mat, matvec, matmat
    • utils. elements_by_atomic_number
    • files.inp_to_xyz
  • awk deprecated due to having in linter
  1. Things to adjust in code
  • Split utils classes and functions
  • utils.get_bonds use vdw_r in constants
  • utils.get_angles_and_dihedrals to get Impropers
  • utils.rot_xyz flag for order of rotations
  • update string function in classes (atom, bond, ...)
  • Check class equality
  • Molecule ID num in system
  • system print atoms - to string
  • utils.atom class - print statement - output style
  • Change procrustes name
  • Merge utils.center_frames into utils.procrustes
  • pretty_xyz -> smooth_frames
  • move utils.colour stuff to another file
  • sysconst.py should be config file (or merlin to read conf)
  • separate folder for console commands
  • separate out optimizers from NEB
  • install constants and/or paths into merlin
  • strip out old log file code and implement more generalized one
  • document LJ, change name (benchmark), move to unit tests
  • move get lists python files to console commands folder, maybe add to only one file
  • move gauss_err_fix somewhere (console maybe?) - document
  • overlapping atoms, 180 deg, build linter for g09 and orca
  • OPLS in files to new MD Parameter file - make as class
  • files.check_net_charge -> utils.py
  • Lammps.py ?
  • pysub to console commands dir
  • merge notes into readme documentation
  • gcube console command
  • awk console command
  1. Divide up documentation between people
  • James:
    • Utils classes, utils.rand_rotation, utils.opls stuff
  • Ace:
    • utils.rot stuff
  • Henry:
    • utils.improper_angle class distinction
    • units.py & exceptions
    • scanDFT, chkDFT
    • orca
    • neb
    • gauss_err_fix, get_lists
    • constants
  1. Switch to pep8 style
  • Fix variables:
    • Underscore variables and functions
    • Camal Case for classes
    • No 'hold' or 'tmp' or 'chk' variables!
  • 160 char line limit
  • Push variable declaration to top of file/function
  1. Subclass Exception to ClancelotException

  2. Sublclass DeprecationWarning to ClancelotDeprecationWarning

  3. Warnings & Exceptions & Deprecation file

  4. How to add new tests (commit hooks)

  5. Pull out NBS

  6. Quantum Espresso Support

  7. LAMMPs Support - abstract out input file

  8. Orca default routes? Best practices

  9. Molecular monte carlo with toehee

  10. Glossary

  11. structure and/or parameter (OPLS, ...) database

clancelot's People

Contributors

acoraor avatar blaireariasorenson avatar hherbol avatar jandrejevic12 avatar jminuse avatar warrencrowell avatar yacevedo avatar

Stargazers

 avatar

Watchers

 avatar  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.