Skip to content

Releases: forlilab/Ringtail

v2.1.1

12 Dec 18:13
Compare
Choose a tag to compare

What's Changed

Changes in 2.1.1

Enhancements to the code base

  • Data used for plotting, and a handle to the matplotlib.figure object is available through the API for personalized plotting
  • The appearance of the standard Ringtail docking results plot has been improved with hard cutoffs for docking scores and ligand efficiency above 0, and it has been made clearer the difference between plotted data that has been binned and plotted data that are single data points. The number of bins used to bin data as well as marker size is scaled to the amount of data for databases of less than 10,000 ligands for enhanced visibility.
  • Plotting faster for large databases.
  • Possible to choose printing all filtered ligands to one large, or multiple individual SDF files for the CLI using --invidual_sdf_files.

Bug fixes

-There was a bug when using "overwrite" a database with the CLI where Ringtail would overwrite the database at the wrong time, leading to issues with data in the receptor table and functions like "add_interactions". This has now been fixed.

  • Multiple bugs related to the ligand filters have been fixed, where the main issue was if the ligand_operator was set to "OR", "OR" would be used not only between ligand substructures but also between other parts of the query (leading to more ligands passing filtering).

Full Changelog: v2.1.0...v2.1.1

v2.1.0

10 Oct 21:19
4f43cb4
Compare
Choose a tag to compare

What's Changed

Changes in 2.1.0: enhanced filtering speed

Enhancements to the code base

The format of the queries produced to filter the database have been completely rewritten, reducing filtering time by at least a factor of 10 compared to 1.1.0. Extra indices were added to three of the tables to support the faster filtering speeds.

Bug fixes

The use of the keywords --ligand_name, --ligand_substruct, and --ligand_substruct_pos had ambiguous behavior where if they were invoked more than once, only the last filter value would be used (as opposed to concatenating the values). They now will work by supplying multiple values to one keyword, as well as one or more values to two or more keywords.
Further, ligand_substruct_pos now takes input as one string ("[C][Oh] 1 1.5 -20 42 -7.1")as opposed to one string and five numbers ("[C][Oh]"" 1 1.5 -20 42 -7.1).
--ligand_max_atoms counted all atoms in the ligand, including hydrogens. With bug fix it counts only heavy atoms(not hydrogens).

Full Changelog: v2.0.0...v2.1.0

v2.0.0

04 Sep 22:32
Compare
Choose a tag to compare

Changes in 2.0.0: fully developed API


Changes in keywords used for the command line tool

  • --mode is now --docking_mode
  • --summary is now --print_summary
  • --pattern is now --file_pattern
  • --name is now --ligand_name
  • --max_nr_atoms is now --ligand_max_atoms
  • --smarts is now --ligand_substruct
  • --smarts_idxyz is now --ligand_substruct_pos
  • --smarts_join is now --ligand_operator
  • --van_der_waals is now --vdw_interactions
  • --hydrogen_bond is now --hb_interactions
  • --reactive_res is now --reactive_interactions

Enhancements to the codebase

  • Fully developed API can use python for scripting exclusively
  • Can add docking results directly without using file system (for vina only as output comes as a string).
  • The Ringtail log is now written to a logging file in addition to STDOUT

Changes to code behavior

  • Interaction tables: one new table has been added (Interactions) which references the interaction id from Interaction_indices, while the table Interaction_bitvectors has been discontinued.
  • A new method to update an existing database 1.1.0 (or 1.0.0) to 2.0.0 is included. However, if the existing database was created with the duplicate handling option, there is a chance of inconsistent behavior of anything involving interactions as the Pose_ID was not used as an explicit foreign key in db v1.0.0 and v1.1.0 (see Bug fixes below).

Bug fixes

  • The option duplicate_handling could previously only be applied during database creation and produced inconsistent table behavior. Option can now be applied at any time results are added to a database, and will create internally consistent tables. Please note: if you have created tables in the past and invoking the keyword duplicate_handling you may have errors in the "Interaction_bitvectors" table (<2.0.0). These errors cannot be recovered, and we recommend you re-make the database with Ringtail 2.0.0.
  • Writing SDFs from filtering bookmarks: will check that bookmark exists and has data before writing, and will now produce SDFs for any bookmarks existing bookmarks. If the bookmark results from a filtering where max_miss < 0 it will note if the non-union bookmark is used, and if the base name for such bookmarks is provided it will default to the basename_union bookmark for writing the SDFs.
  • Output from filtering using max_miss and output_all_poses=False(default) now producing expected behavior of outputting only one pose per ligand. Filtering for interactions max_miss allows any given pose for a ligand to miss max_miss interactions and still be considered to pass the filter. Previously, in the resulting union bookmark and output_log text file some ligands would present with more than one pose, although the option to output_all_poses was False (and thus the expectation would be one pose outputted per ligand). This would give the wrong count for how many ligands passed a filter, as some were counted more than once.

v1.1.0: Greatly improved filtering speed and additional filtering options

01 Nov 18:05
Compare
Choose a tag to compare

What's Changed

  • Optimized SQLite queries for significantly improved filtering speed (see comparison below)
  • --summary option to give overview of results contained in database
  • Ligand clustering by Morgan Fingerprint chemical similarity (--mfpt_cluster)
  • Ligand clustering by receptor interaction fingerprint similarity (--interaction_cluster)
  • Enabled export of stored PDBQT from database
  • Minor bug fixes

Example Filtering Timings (M1Pro MacBook, ~2 million ligands)

rt_v11_timings

v1.0.0: Initial Public Release

15 Nov 00:34
ba24f80
Compare
Choose a tag to compare

Initial public release for Ringtail

  • Provided storage and analysis of virtual screenings run with AutoDock-GPU and AutoDock Vina
  • Stores, filters, and exports results with SQLite