Skip to content

Releases: ale94mleon/moldrug

3.7.3 - 2024.07.05

05 Jul 15:27
Compare
Choose a tag to compare

Changed

  • Name from MolDrug to moldrug (mainly for documentation).

3.7.2 - 2024.01.22

24 Jan 22:02
Compare
Choose a tag to compare

Fix

  • It was possible to generate the same children in the same generations. Now there is a filter to avoid repeated evaluations.

3.7.1 - 2024.01.14

14 Jan 20:20
Compare
Choose a tag to compare

Fix

  • Remove an unnecessary print statement.

3.7.0 - 2024.01.14

14 Jan 19:14
Compare
Choose a tag to compare

Fixed

  • Calculate SA_score with the molecule without explicit hydrogens for all built-in fitness functions. Based on: rdkit/rdkit#7047

Added

  • The moldrug.constraintconf.clashes_present function.

Changed

  • bio.PDB object is no longer used for filtering of conformations that clash with the protein. Now the coordinates are retrieved from the RDKit molecule object and the distance is calculated with NumPy.

3.6.1 - 2023.12.11

11 Dec 14:00
Compare
Choose a tag to compare

Fix

  • LICENCE on PyPi.

Add

  • Extra metadata to the package.

3.6.0 - 2023.12.07

07 Dec 15:41
Compare
Choose a tag to compare

Added

  • vina_seed argument for:
    • all the cost functions of moldrug.fitness,
    • moldrug.fitness._vinadock.
  • randomseed:
    • moldrug.utils.confgen,
    • moldrug.utils.Individual,
    • moldrug.utils.Local,
    • moldrug.utils.GA,
    • moldrug.constraintconf.constraintconf as well its CLI with the flag --seed.
  • -V and --verbose flag in the CLI of moldrug.
  • moldrug.utils.softmax function.
  • moldrug.utils.deep_update function.
  • moldrug.utils.__get_default_desirability` to store the default desirability values.
  • vina_score_type = 'ensemble', this is used by CostMultiReceptors* functions. It is meant to be used to account for flexibility in the receptor. This is equivalent to performing ensemble docking.

Removed

  • outdir flag in moldrug CLI.

Changed

  • Use random.random instead numpy.random.rand function for some small cases.

  • AllChem.MMFFOptimizeMolecule is only used internally for moldrug.utils.confgen and moldrug.constraintconf.gen_aligned_conf if randomseed is not set and with maxIters = 500.

  • pickle module is replaced by dill. It is better to handle users' custom fitness functions.

  • Data now is retrieved with moldrug``.data.get_data function.

  • Is not needed to input the whole desirability definition if only is intended to change one part of the default desirability used internally by the cost functions of moldrug.fitness. For example, if you would like to change the Target value of vina_score from its default value.

    Before:

    ga = GA(
      ...
      costfunc = moldrug.fitness.Cost
      costfunc_kwargs = {
        ...
        "desirability": {
          "qed": {
              "w": 1,
              "LargerTheBest": {
                "LowerLimit": 0.1,
                "Target": 0.75,
                "r": 1
              }
          },
          "sa_score": {
              "w": 1,
              "SmallerTheBest": {
                "Target": 3,
                "UpperLimit": 7,
                "r": 1
              }
          },
          "vina_score": {
              "w": 1,
              "SmallerTheBest": {
                "Target": -12,
                "UpperLimit": -6,
                "r": 1
              }
          }
        },
        ...
      }
      ...
    )

    Now:

    ga = GA(
      ...
      costfunc = moldrug.fitness.Cost
      costfunc_kwargs = {
        ...
        "desirability": {
          "vina_score": {
              "SmallerTheBest": {
                "Target": -12,
              }
          }
        },
        ...
      }
      ...
    )

    The same from the CLI.

Fixed

  • Small bug when the population has Individuals with the same cost. Better reproducibility.
  • Refactored changes.
  • Handled properly in case receptor_pdbqt_path = None.
  • Convert self.crem_db_path to absolute path in moldrug.utils.Local and moldrug.utils.GA.

3.5.0 - 2023.10.26

26 Oct 11:21
Compare
Choose a tag to compare

Fixed

  • Refactored changes for for meeko-0.5.0.
  • Update docs.

Added

  • A new environmental variable MOLDRUG_VERBOSE can be set to ask for more debug information.

Changed

  • From csf to toml package configuration.
  • Structure of the repo. Now src/moldrug.
  • Improve MolDrug-Dashboard.

Removed

  • Support for conda package. Some dependencies had not ben installed properly. Fix in the future.

3.4.0 - 2023.03.10

10 Mar 16:17
Compare
Choose a tag to compare

Added

  • Continuation option to the command line.
  • moldrug.cli.CommandLineHelper class to work with the parameters passed through the command line.
  • checkpoint option to moldrug.utils.GA.
  • MolDrug-Dashboard add-on. This is not included on the package itself, but could be used online or locally. In the case of locally you must check Streamlit, the requirements.txt and the app script.
  • retunr_mol option to utils.to_dataframe

Changed

  • The warnings are not printed for: moldrug.fitness._vinadock and moldrug.constraintconf.generate_conformers. Now, only at the end of a MolDrug simulation a note will be printed if the error.tar.gz file is created.
  • moldrug.utils.run does not print extra info if the command fails. It only raises the corresponded RuntimeError.
  • moldrug.fitness.__vinadock by moldrug.fitness._vinadock.
  • Remove conformers that clash with the protein in case of score_only, for local_only vina will handle the clash.

Fixed

  • Small bug during initialization of population with multiple seed_mol. Now seed_mol with the same amount of elements as popsize are not submitted to mutations, only evaluation.
  • Problems with default parameters definition on the command line. Parameters with default values by the type of run defined in the configuration file are not needed to redefined any more; moldrug.cli will guess those.

3.3.0 - 2022.12.21

21 Dec 12:16
Compare
Choose a tag to compare

Changed

  • moldrug.utils.__tar_errors__ by moldrug.utils.tar_errors.
  • Default value of moldrug.utils.tar_errors is error instead of .error.
  • moldrug.constraintconf.generate_conformers outputs warnings and errors to error instead of .error.
  • moldrug.fitness.__vinadock by moldrug.fitness._vinadock.
  • moldrug.fitness._vinadock outputs warnings and errors to error instead of .error.

Fixed

  • The use of moldrug.utils.tar_errors inside of moldrug.utils.Local and moldrug.utils.GA.
  • Clean code.

3.2.5 - 2022.12.20

20 Dec 16:15
Compare
Choose a tag to compare

Fixed

  • Improve docs.
  • Cleaning of temporal files in /tmp directory. Now it is created temporal directories in the working directory with the pattern: .costfunc_MolDrug_XXXXXXXX.
  • Cleaning errors. Now all warnings and errors are saved in .error directory and at the end they are compress to error.tar.gz