Skip to content

Commit

Permalink
Merge pull request #1 from insilichem/dev_output
Browse files Browse the repository at this point in the history
Release 1.0.1
  • Loading branch information
josan82 authored Jul 26, 2019
2 parents 4eb1924 + 4cf4867 commit 167a186
Show file tree
Hide file tree
Showing 70 changed files with 2,858 additions and 1,240 deletions.
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ recursive-include docs *
recursive-include examples *
recursive-include resources *
recursive-include tests *include versioneer.py
include gaudi/_version.py
include gpath/_version.py
include versioneer.py
24 changes: 24 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,19 @@ Features
- Vina scoring function
- Smoothness of the ligand movements

.. image:: docs/data/new.jpeg
:align: left
:height: 30px
:alt: NEW!
Version 1.0.1 25th July 2019
----------------------------

- New ``summary.csv`` file in the output with score data of all the solutions.
- New format for the ``.pdb`` files of the output that can be imported as a MD movie in UCSF Chimera.
- New ``trajectory.pdb`` file in the output. For each solution, shows the trajectory of the ligand, taking its center as a reference.
- Command to lauch the program is now ``gpath run`` instead of ``gaudi run`` to ensure compatibility with GaudiMM.
- Similarity between solutions is calculated now at each generation, to avoid some cases where repeated or very similar solutions appeared, especially when using only clashes evaluation.

Documentation and support
-------------------------

Expand All @@ -89,6 +102,17 @@ GPathFinder and GaudiMM are licensed under the Apache License, Version 2.0. Chec
History of versions
-------------------

- **v1.0.1:** 25th July 2019
New ``summary.csv`` file in the output with score data of all the solutions.

New format for the ``.pdb`` files of the output that can be imported as a MD movie in UCSF Chimera.

New ``trajectory.pdb`` file in the output. For each solution, shows the trajectory of the ligand, taking its center as a reference.

Command to lauch the program is now ``gpath run`` instead of `gaudi run` to ensure compatibility with GaudiMM.

Bug fix: similarity between solutions is calculated now at each generation, to avoid some cases where repeated or very similar solutions appeared, especially when using only clashes evaluation.

- **v1.0.0:** Release version. Used in the benchmark and cases study of the article.

OS Compatibility
Expand Down
12 changes: 6 additions & 6 deletions conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

package:
name: gpathfinder
version: 1.0.0
version: 1.0.1

about:
home: https://github.com/insilichem/gaudi/tree/gpathfinder
home: https://github.com/insilichem/gpathfinder
license: Apache
license_file: LICENSE
summary: identification of ligand binding pathways by a multi-objective gentic algorithm
summary: identification of ligand binding pathways by a multi-objective genetic algorithm

source:
path: ../
Expand Down Expand Up @@ -45,10 +45,10 @@ requirements:

test:
imports:
- gaudi
- gpath
commands:
- gaudi -h
- gaudi run -h
- gpath -h
- gpath run -h
- cd tests && python run_test.py -v --benchmark-disable; cd ..
source_files:
- tests
Expand Down
Binary file added docs/data/new.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/data/tutorial_first/first_calculation.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ If you are considering to minimize the sample structures generated by Normal Mod
`.yaml` configuration file
==========================

GaudiMM uses a YAML-formatted input file for setting up the calculation. YAML is a human-readable serialization format, already implemented in a broad range of languages. Input files must contain these five sections:
GPathFinder uses a YAML-formatted input file for setting up the calculation. YAML is a human-readable serialization format, already implemented in a broad range of languages. Input files must contain these five sections:

- **output**. Project options. Configure it to your liking
- **ga**. Genetic algorithm configuration. Normally, you don't have to touch this, except maybe the number of generations and population size.
Expand Down
23 changes: 14 additions & 9 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,14 @@ or

5 - Run it!

.. image:: data/new.jpeg
:align: left
:height: 30px
:alt: NEW!

::

gaudi
gpath


Check everything is OK
Expand All @@ -75,22 +80,22 @@ If everything went OK, you will get the usage screen:

.. code-block:: console
Usage: gaudi [OPTIONS] COMMAND [ARGS]...
Usage: gpath [OPTIONS] COMMAND [ARGS]...
GaudiMM: Genetic Algorithms with Unrestricted Descriptors for Intuitive
Molecular Modeling
GPathFinder: Indentification of ligand pathways by a multi-objective
genetic algorithm
(C) 2017, InsiliChem
https://github.com/insilichem/gaudi
(C) 2019, InsiliChem
https://github.com/insilichem/gpathfinder
Options:
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
prepare Create or edit a GAUDI input file.
run Launch a GAUDI input file.
view Analyze the results in a GAUDI output file.
prepare Create or edit a GPATH input file.
run Launch a GPATH input file.
view Analyze the results in a GPATH output file.
OS Compatibility
================
Expand Down
13 changes: 12 additions & 1 deletion docs/output.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ The results of the calculation will be saved inside a folder on the path indicat

- **A `.gaudi-log` file**: contains the log information of the calculation, with data about the time employed in the execution, the evolution of the scores along the calculation and possible errors/warnings.
- **A `.yaml` file**: contains a replica of the `.yaml` input file employed in the calculation.
- **A `.gaudi-output` file**: contains a summary of the obtained results, with data about their scores and name of the file that actually has the pathway.
- **A `.gpath-output` file**: contains a summary of the obtained results, with data about their scores and name of the file that actually has the pathway. Can be used to get an overview of the quality of the solutions.
.. image:: data/new.jpeg
:align: left
:height: 30px
:alt: NEW!
- **A `summary.csv` file**: contains a summary of the scoring of all obtained results, detailed by frame. Also contains the coordinates of every solution (considering the center of mass of the ligand at every frame of the pathway). Can be used to see at a frame detail the quality of a concrete solution and differences between solutions.
- **A set of `.zip` files**: contain the different pathways obtained from the calculation. The number of solutions will be equal to the population size if ``output.pareto`` was set to `False` or equal to the size of the pareto frontier (i.e. dominant solutions) otherwise.

**Optional files**
Expand All @@ -49,3 +54,9 @@ Each `.zip` file contains all the necessary information to reproduce at atomic l
- **Another `.zip` file** which contains a set of `.pdb` files with all the frames of the pathway (each one has a conformation of the ligand and receptor molecules). You can open these `.pdb` files in any visualization tool like a MD-movie and work with them and analyze each frame. An example of a pathway that represents a GPathFinder solution can be found `here <https://raw.githubusercontent.com/insilichem/gpathfinder/master/examples/output_files/example_pathway.zip>`_.

Moreover, an `allele.txt` and a `scores.txt` files are present with all the necessary information to reconstruct the pathway from the original structures and the score information for every frame. These additional files can be used by your own scripts to analyze the results in further detail.

.. image:: data/new.jpeg
:align: left
:height: 30px
:alt: NEW!
Finally, a `trajectory.pdb` file which contains the route that follows the ligand, as a set of points that represent the center of the ligand at each step of the trajectory. This can be used to easily compare the trajectory of different solutions obtained from GPathFinder calculations.
4 changes: 2 additions & 2 deletions docs/parameters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
List of parameters
==================

Parameters for version 1.0.0
============================
Parameters for versions 1.0.x
=============================

**Genetic Algorithm parameters**

Expand Down
2 changes: 1 addition & 1 deletion docs/reproducibility.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@ One of the key aspects of every research project is its reproducibility. Sometim
When reporting results obtained by a GPathFinder calculation, you should provide the following information:

- The full `.yaml` file, for example, in the supporting information.
- The version of the program you have used (for example, v.1.0.0). This will allow to deduce the values for the parameters that are not explicitly reported in the `.yaml` file.
- The version of the program you have used (for example, v.1.0.1). This will allow to deduce the values for the parameters that are not explicitly reported in the `.yaml` file.

The information of the default parameters for each version is provided in :ref:`parameters` section.
6 changes: 3 additions & 3 deletions docs/tutorial-first.rst
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Finally, you have to save your `.yaml` inside your calculation folder, for examp
3. Running the calculation
==========================

- **Necessary files for this section**: ligand.mol2/ligand_with_H.mol2, receptor.mol2/receptor_with_H.mol2, input_clashes.yaml/input_clashesvina.yaml
- **Necessary files for this section**: ligand.mol2/ligand_with_H.mol2, receptor.mol2/receptor_with_H.mol2, input_clashes.yaml/input_clashes_vina.yaml
- **Output files from this section**: folder with GPathFinder results

Running your calculation is as easy as open a **terminal**, activate your **conda environment** with:
Expand All @@ -135,13 +135,13 @@ Go to your calculation folder, where `input_clashes.yaml` or `input_clashes_vina

::

gaudi run input_clashes.yaml
gpath run input_clashes.yaml

or

::

gaudi run input_clashes_vina.yaml
gpath run input_clashes_vina.yaml

4. Visualizing results
======================
Expand Down
7 changes: 6 additions & 1 deletion docs/usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,14 @@ or

Running GAUDI jobs is quite easy with :mod:`gaudi.cli.gaudi_run`. Put in your terminal:

.. image:: data/new.jpeg
:align: left
:height: 30px
:alt: NEW!

::

gaudi run /path/to/input_file.yaml
gpath run /path/to/input_file.yaml

You will need at least three input files. A `.yaml` file with the configuration of the job and two `.mol2` files for the ligand and the receptor molecules. To learn how to create input files, go to :ref:`input`. You can also check the tutorials :ref:`tutorial-input` and :ref:`tutorial-mol2`.

Expand Down
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: gaudi
name: gpath
channels:
- insilichem
- omnia
Expand Down
20 changes: 11 additions & 9 deletions examples/input_files/analyze_clashes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ ga: # Section to configure the Genetic Algorithm parameters
generations: 500
population: 12
genes: # Section to configure the genes
- module: gaudi.genes.molecule
- module: gpath.genes.molecule
name: Ligand
path: ./mol_files/ligand_without_H.mol2 #optionally could be the ligand with H
- module: gaudi.genes.molecule
- module: gpath.genes.molecule
name: Protein
path: ./mol_files/protein_without_H.mol2 #optionally could be the ligand with H
- module: gaudi.genes.path_torsion
- module: gpath.genes.path_torsion
name: T
target: Ligand
anchor: Ligand/1 # This anchor atom has to be set in function of the concrete ligand (see tutorial section for more information)
- module: gaudi.genes.path_rotamers
- module: gpath.genes.path_rotamers
name: R
- module: gaudi.genes.path_normalmodes
- module: gpath.genes.path_normalmodes
name: NM
target: Protein
modes: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
Expand All @@ -27,7 +27,7 @@ genes: # Section to configure the genes
n_samples: 100
write_modes: True
write_samples: True
- module: gaudi.genes.path
- module: gpath.genes.path
name: Pathway
ligand: Ligand
protein: Protein
Expand All @@ -38,7 +38,7 @@ genes: # Section to configure the genes
origin: [X.xxx, Y.yyy, Z.zzz] #Coordinates of the initial point of the pathway object of study (referred to protein .mol2 file system of coordinates)
destination: [X.xxx, Y.yyy, Z.zzz] #Coordinates of the final point of the pathway object of study (referred to protein .mol2 file system of coordinates)
objectives: # Section to configure the evaluation of the pathways
- module: gaudi.objectives.path_scoring
- module: gpath.objectives.path_scoring
name: Clashes
probe: Pathway
which: clashes
Expand All @@ -52,6 +52,8 @@ output:
similarity:
args:
- Pathway
- 0.05
- 1.0
kwargs: {}
module: gaudi.path_similarity.pathways_rmsd
module: gpath.path_similarity.pathways_rmsd

# Input file to be used with GPathFinder v.1.0.1
22 changes: 12 additions & 10 deletions examples/input_files/analyze_clashes_vina.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ ga: # Section to configure the Genetic Algorithm parameters
generations: 750
population: 12
genes: # Section to configure the genes
- module: gaudi.genes.molecule
- module: gpath.genes.molecule
name: Ligand
path: ./mol_files/ligand_with_H.mol2
- module: gaudi.genes.molecule
- module: gpath.genes.molecule
name: Protein
path: ./mol_files/protein_with_H.mol2
- module: gaudi.genes.path_torsion
- module: gpath.genes.path_torsion
name: T
target: Ligand
anchor: Ligand/1 # This anchor atom has to be set in function of the concrete ligand (see tutorial section for more information)
- module: gaudi.genes.path_rotamers
- module: gpath.genes.path_rotamers
name: R
- module: gaudi.genes.path_normalmodes
- module: gpath.genes.path_normalmodes
name: NM
target: Protein
modes: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
Expand All @@ -27,7 +27,7 @@ genes: # Section to configure the genes
n_samples: 100
write_modes: True
write_samples: True
- module: gaudi.genes.path
- module: gpath.genes.path
name: Pathway
ligand: Ligand
protein: Protein
Expand All @@ -38,13 +38,13 @@ genes: # Section to configure the genes
origin: [X.xxx, Y.yyy, Z.zzz] #Coordinates of the initial point of the pathway object of study (referred to protein .mol2 file system of coordinates)
destination: [X.xxx, Y.yyy, Z.zzz] #Coordinates of the final point of the pathway object of study (referred to protein .mol2 file system of coordinates)
objectives: # Section to configure the evaluation of the pathways
- module: gaudi.objectives.path_scoring
- module: gpath.objectives.path_scoring
name: Clashes
probe: Pathway
which: clashes
method: average
weight: -1.0
- module: gaudi.objectives.path_scoring
- module: gpath.objectives.path_scoring
name: Vina
probe: Pathway
which: vina
Expand All @@ -58,6 +58,8 @@ output:
similarity:
args:
- Pathway
- 0.05
- 1.0
kwargs: {}
module: gaudi.path_similarity.pathways_rmsd
module: gpath.path_similarity.pathways_rmsd

# Input file to be used with GPathFinder v.1.0.1
Loading

0 comments on commit 167a186

Please sign in to comment.