{"id":17255203,"url":"https://github.com/unixjunkie/mipgen","last_synced_at":"2025-06-11T05:06:28.466Z","repository":{"id":144782444,"uuid":"86498708","full_name":"UnixJunkie/mipgen","owner":"UnixJunkie","description":"Simple Molecular Interaction Potential Generator in Python (mirror of https://sourceforge.net/projects/mipgen/)","archived":false,"fork":false,"pushed_at":"2017-03-28T19:25:25.000Z","size":276,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T08:16:00.579Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UnixJunkie.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-28T19:24:33.000Z","updated_at":"2022-07-15T17:59:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a59b9d3-1857-44f6-ace2-1ca6047da645","html_url":"https://github.com/UnixJunkie/mipgen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fmipgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fmipgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fmipgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fmipgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UnixJunkie","download_url":"https://codeload.github.com/UnixJunkie/mipgen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fmipgen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259204809,"owners_count":22821160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T07:10:56.355Z","updated_at":"2025-06-11T05:06:28.412Z","avatar_url":"https://github.com/UnixJunkie.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"--------------------------------------------------------------------------------\n                                MIPGEN\n--------------------------------------------------------------------------------\n\nAuthor: Daniel Alvarez (algarcia.daniel@gmail.com)\nLast revision date: 28-03-2011\n\n\n\n1. INTRODUCTION\n2. DEPENDENCIES AND INSTALLATION\n    2.1 DEPENDENCIES\n    2.2 INSTALLATION\n3. USAGE\n    3.1 INPUT FILES\n    3.2 OPTIONS\n    3.3 OUTPUT FILES\n    3.4 PROBES\n    3.5 FORCEFIELD DATABASE\n    3.6 EXAMPLES\n4. GRIDS VISULATIZATION WITH PYMOL\n5. FUTURE WORK\n\n\n\n\n\n1.- INTRODUCTION\n--------------------------------------------------------------------------------\n\nMIPGen is a program used to calculate Molecular Interaction Potential\n(MIP) grids. These grid files represent the favorable interacting regions\nof a probe moiety over the space around some molecule.\n\nThe molecule could be either a protein/peptide chain, or some small organic \ncompound (a ligand). The output of the program is a serie of DX format text files\nwhich contain the energy in kcal/mol for each spatial point in the lattice.\n\nThese files can be visualized using any molecular visulaization program like\nVMD, PyMol or Chimera i.e. See section 3.- GRIDS VISUALIZATION WITH PYMOL\n\nThis software is released under the GNU General Public License (GPL).\n\n\n\n\n\n2.- DEPENDENCIES AND INSTALLATION\n--------------------------------------------------------------------------------\n\n\n2.1 - DEPENDENCIES\n\n    The program is written and tested in Python 2.6. Newer versions should be \n    also stable although no test was performed. Older python versions might\n    present some errors.\n\n    It uses standard built-in modules except for the ones listed below that\n    should be installed independently by the user:\n\n    - Numpy (http://numpy.scipy.org/)\n\n    Other important dependency is AmberTools 1.4 (http://ambermd.org/#AmberTools).\n    This software is REQUIRED for the parametrization of the small ligands (partial\n    charge calculation and atomtype identification using antechamber) and for the\n    cleaning of the PDB files (protonation of missing H, coorection of multiple\n    positions for same atom, etc.. using tLeap).\n\n    Make sure that both programs: 'tLeap' and 'antechamber' are executable from any\n    folder in the system (add the folder containing the executables to the PATH\n    environmental variable).\n\n    AmberTools is also released under GPL license.\n\n\n2.2 - INSTALLATION\n\n    After ensuring that all the dependencies are installed, simply unpack the tarball\n    to the folder of your choice and the software should be ready to run.\n\n        tar xzf mipgen_XXX.tar.gz\n\n    It is recomendable to add an environmental variable pointing to the software\n    to facilitate execution in any folder of the system (in bash):\n\n        export MIPGEN=/installation/path/mipgen_XXX\n\n    then executing the program in any folder like:\n\n        python $MIPGEN/MIPgen.py [options]\n\n    or to PATH env:\n\n        export PATH=$PATH:/installation/path/mipgen_XXX\n\n    and executing then:\n\n        MIPgen.py [options]\n\n\n\n\n\n3.- USAGE\n--------------------------------------------------------------------------------\nThe program is quite simple to run. You need an input file containing the molecule\nover which the MIP grids will be calculated for different probes chosen. The\nprogram will automatically identify the atom types and charges on the structure\nand it will calculate the interaction energy for every grid point. The output will\nbe saved in ascii files with the .dx extension.\n\n3.1. INPUT FILES\n\n    The expected input files are of ascii PDB format (http://www.wwpdb.org/docs.html).\n    The program is prepared for two cases:\n\n        A) Calculate MIP grids over a protein\n\n            In this case, the PDB file does not need previous modifications or\n            preparation. If it does not have hydrogens, the program will try to add\n            them using tLeap. In the same manner, if there are atoms with\n            multiple occupancy, the program will choose the more occupied position.\n            Histidines will be treated as HIE (proton in epsilon position) unless the\n            user specifically change the name of the HIS to HID (proton in delta) or\n            HIP (double protonated, charged histidines).\n\n            In the same way, other specifications can be made over the PDB file \n            (like specifying protonated ASP or neutral LYS) following Amber\n            Sotware manual.\n\n            The correct parametrization of all the atoms depende entirely on the \n            user. If something is left unparametrized, the program will show a\n            warning indicating what are the missing atoms.\n\n            IMPORTANT: Do not let the program to guess everything\n            if there are special considerations to take care of.\n\n        B) Calculate MIP grids over small organic compounds\n\n            In this case, the molecule should contain all the hydrogens and\n            all the atoms valences should be correctly set before running the\n            program. Apart from that, antechamber should take good care of\n            identifying all the atom types and setting the partial charges\n            using AM1-BCC method.\n\n3.2. OPTIONS\n\n    To get a list of all the possible options for the program, type:\n\n        MIPgen.py -h or --help\n\n    To get a list of probes available, type:\n\n        MIPgen.py -l\n\n    When asking for help, you should get a list like this:\n\n        Options:\n          -h, --help            show this help message and exit\n          -p PROT, --prot=PROT  Protein file (PDB format)\n          -m MOLEC, --molec=MOLEC\n                                Molecule file (PDB format)\n          -r PROBES, --probe=PROBES\n                                Append probe names to calculate the MIPs. This flag\n                                can be used             more than once.\n          -o OUT, --out=OUT     Output name prefix. Use some name descriptive of your\n                                job. Default: MIP\n          -L LIB, --lib=LIB     File containing the probes and its parameters.\n                                Default: parm/probes.lib\n          -E EPS, --eps=EPS     Relative permitivity for the electrostatic\n                                calculations (float). If             0. is given, a\n                                Distance Dependent Relative Permitivity is used\n                                (default)\n          -v VDW, --vdw=VDW     VdW calculations Cutoff (float). Default: 10A\n          -e ELEC, --elec=ELEC  Electrostatic calculations cutoff (float). Default:\n                                20A\n          -l, --list            List available probes\n\n    All the flags are accompained with self explanatory information.\n    There are TWO mandatory flags:\n\n        -m OR -p    --\u003e Indicate the program if the input file is a protein or a\n                        small molecule (as described in section 3.1)\n        -r          --\u003e Probe to use for calculating the MIP. This flag can be repeated\n                        for multiple probes to be calculated in the same program call.\n\n    Optional RECOMMENDED flags:\n\n        -o          --\u003e Prefix for all the output files\n\n    Optional flags:\n\n        -L          --\u003e If given, this file should contain other probes defined\n                        by the user (see section 3.4)\n        -E          --\u003e Relative permitivity of the medium. If zero, distance dependent\n                        electrostatics will be applied (this is the default). If some\n                        value is given here, permitivity is constant and independent on\n                        the charges distance.\n        -e          --\u003e Cutoff distance in angstroms for the electrostatics calculation.\n                        By default: 20 angstroms.\n        -v          --\u003e Cutoff distance in angstroms for van der Waals calculation.\n                        By default: 10 angstroms.\n\n3.3. OUTPUT FILES\n\n    The program will generate one file per probe chosen. The name of the file\n    will be:\n\n        prefix_PROBE.dx     if -o 'prefix'\n\n    or a default name:\n\n        MIP_PROBE.dx        if -o not given as argument\n\n    where PROBE is the name of the probe.\n    \n    These files are formatted in a way that almost all molecular visualization\n    programs will understand them, usually as a volume map or electron density\n    map files. An example on how to visualize this files with PyMol is given in\n    section 4.\n\n3.4. PROBES\n\n    The probes list with a short description can be obtained with:\n\n    MIPgen.py -l\n\n    The initial set contains a not very well tested set of parameters. This set\n    can be easily modified to add, remove or edit any probe. The file\n    containing the parameters can be found in parm/probes.lib. Add here any probe\n    or modify the parameters as you wish. It is also possible to generate any other\n    file with this same format and give it as argument (EXTRAPROBESFILE.txt).\n\n    MIPgen.py -p XXX -o XXX -r EXTRAPROBE -L EXTRAPROBESFILE.txt\n\n    The format should be as follows:\n\n    PROBENAME   CHARGE  VDW_radii   VDW_EPSILON     DESCRIPTION\n\n    Lines starting with # are ignored.\n\n3.5. FORCEFIELD DATABASE\n\n    Instead of using Amber Topology files, the program tries to identify the atom\n    types in the protein using a sqlite3 database (amber.db).\n    This database was generated and is stored in in parm/ folder.\n    The forcefield used was parm99 with amino03 modifications for proteins,\n    and GAFF forcefield for the small orgainc compounds.\n\n    For more details on how to generate the database with other amber forcefield\n    , please take a look at the generate*.py scripts in parm/ folder or contact\n    Daniel Alvarez.\n\n3.6. EXAMPLES\n\n    In the test/ folder you will find two files: peptide.pdb and ligand.pdb\n    The former is a 3 peptide long structure representing a protein system.\n    The latter is a small organic compound (a commercialized drug: sustiva).\n\n    Here i provide some examples on how to run the program using those files:\n\n    I) Getting a hydrophobic MIP over the ligand, with distance dependent\n        electrostatics and a long vanderwaals cutoff (15A)\n\n        MIPgen.py -m test/ligand.pdb -r HYD -o test_ligand -v 15\n\n    II) Getting a hydrophobic, h-bond donor and h-bond acceptor MIP grid\n        over the peptide, with a constant dielectric parameter of 8\n\n        MIPgen.py -p test/peptide.pdb -r HYD -r HDON -r HACC -o test_peptide -E 8\n\n    III) Same as before with distance dependent electrostatic and long cutoff (25A)\n\n        MIPgen.py -p test/peptide.pdb -r HYD -r HDON -o test_peptide2 -e 25\n\n    IV) Calculate the electrostatics for the ligand with default parameters (distance\n        dependent electrostatics, cutoff 20A, vdW cutoff 10A):\n\n        MIPgen.py -m test/ligand.pdb -r POS -r NEG -o test_ligand_electr\n\n    To visualize the resulting grids, jump to the next section ;)\n\n\n\n\n\n4. GRIDS VISULATIZATION WITH PYMOL\n--------------------------------------------------------------------------------\nTo follow this section, you will need to have installed PyMOL (a free software\ncopy is still available here http://sourceforge.net/projects/pymol/).\n\nTo demonstrate the usage of pymol for the grid visualization, run the last example\nproposed (IV) and type this command in the shell:\n\n    pymol test/ligand.pdb test_ligand_electr_POS.dx test_ligand_electr_NEG.dx\n\nThis should load the ligand.pdb and the 2 grid files. Now, on the right menu,\nthree objects should appear:\n\n- ligand\n- test_ligand_electr_POS\n- test_ligand_electr_NEG\n\nBut only the molecule is visible on the main window. If you click on the second\nobject (test_ligand_electr_POS), the boundaries of the grid should appear on the image\nwith white lines. Same for any grid.\n\nTo diplay the content of the grid, choose an isovalue (i.e. -1 kcal/mol) and type\nin the program shell:\n\n    isomesh positive, test_ligand_electr_POS, -1\n\nThis will display a mesh for the isovalue -1. If we want to change the isovalue (-3)\n,repeat the command above:\n\n    isomesh positive, test_ligand_electr_POS, -3\n\nMultiple representations can be produced changing the name of the mesh:\n\n    isomesh positive_2, test_ligand_electr_POS, -0.5\n\nTo color them, click on the C button on the right of the object generated.\nColor this grid in red.\n\nNow diplay the negative potential:\n\n    isomesh negative, test_ligand_electr_NEG, -1\n\nand color in blue (click on the C besides test_ligand_electr_NEG and choose blue).\nA nice image should appear on the main window displaying both potentials.\n\n\n\n\n5. FUTURE WORK\n--------------------------------------------------------------------------------\n\n- Test thoroughly the probe parameters to better reproduce the expected behaviour.\n- Introduce new probes.\n- Allow the user to provide parameters for the 'missing atoms'.\n- Include more precise calculations apart from electrostatics and vanderwaals.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funixjunkie%2Fmipgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funixjunkie%2Fmipgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funixjunkie%2Fmipgen/lists"}