Apply Normal Mode Analysis to a Protein Data Bank structure (PDB) using Gaussian Network Modelling.
Last update: 2020-11-19
This repository was administered by @aarondomenzain, when I formed part of Departamento de Física, Área de Física de Líquidos, Universidad Autónoma Metropolitana Unidad Iztapalapa. This repository was part of the development of my bachelor's thesis in Physics.
- Numpy
- Matplotlib
- Scipy
- Prody
- Clone
mainbranch from here. - Open a terminal window and run the following commands:
pip install numpy scipy matplotlib prody
Open the file .py with Spyder and run the program to load functions.
The available functions and their arguments and outputs are described below
PDBnamemust be a string of four characters in ' ' or " " corresponding to a PDB structural set in Protein Data Bank.ModelNumbermust be the number of models contained within the same PDB structural set
Anybody is welcome to contribute to the development of this repository, but please abide by the following guidelines.
Each function should start with a commented section describing the function and explaining the parameters. Existing functions can clarify what style should be used. When making any changes to an existing function (*.m-file), change the date and name of developer near the bottom of this commented section in the last modified line.
- For any development, whether bugfixes, introducing new functions or new/updated features for existing functions: make a separate branch from
develand name the branch for instance after the function/feature you are fixing/developing. If you work on a fix, start the branch name withfix/, if you work on a feature, start the branch name withfeat/. Examples:fix/format_reactionsorfeat/new_algorithms. - Make commits to this branch while developing. Aim for backwards compatibility to accommodate users with older software versions.
- When you are happy with your new function/feature, make a pull request to the
develbranch. Also, see Pull request below.
Use semantic commit messages to make it easier to show what you are aiming to do:
chore: updating binaries (modelMATLABstructures), UniProt databases, physiology and protemics data files, etc.doc: updating documentation (indocfolder) or explanatory comments in functions.feat: new feature added, e.g. new function introduced / new parameters / new algorithm / etc.fix: bugfix.refactor: see code refactoring.style: minor format changes of functions (spaces, semi-colons, etc., no code change).
Examples:
feat: exportModel additional export to YAML
chore: any routine task
fix: optimizeProb parsing results from Gurobi
More detailed explanation or comments can be left in the commit description.
- No changes should be directly commited to the
masterordevelbranches. Commits are made to side-branches, after which pull requests are made for merging withmasterordevel. - The person making the pull request and the one accepting the merge cannot be the same person.
- A merge with the main branch invokes a new release.