Releases: darkreactions/DRP
1.8
Adds a requirement for entries in the DRP to have an image of a lab notebook uploaded with them.
Also fixes a bug with license redirects if the license is altered during an operation by a user such as deletion of a reaction, where the redirect takes the user back to a page with no response.
1.701
1.7
This release updates the code to be Python 3 compatible. Note that this is not reverse-compatible with python 2 and therefore your local install will have to be upgraded to python 3. The documentation has been updated to reflect the python 3 install process.
In addition, this release fixes the following bugs:
Fixed issues with imports under specific circumstances caused by java-like file names (e.g. a module which contains the class Compound) and imports in init.py files; this issue should now go away with the renaming of the files.
Incidentally fixed unicode issues caused by interactions with templates in python 2.
1.6
This release changes the database ontology so that the relationship between compounds and lab groups is more accurately reflected in the database structure. As a side-effect this prevents the bug where the same compound from different lab groups would show up as an option for reactants in a chemical reaction.
Because of the new ontology, some features have been removed because they are not utilised by current users, namely the ability to upload CSVs of compounds and also the ability to use a form to search the compound guide. These may be re-instated in the future if requested.
Warning
This release includes one or more data migrations. It is highly recommended that before upgrading to this release that you back up your database.
Some descriptor calculation plugins which do not have unit tests as a part of the DRP codebase may not be compatible with this release. If this emerges to be the case, remove them from your plugins settings in your settings.py file.
1.501
1.5
Includes improvements, additions, and bugfixes to the descriptor calculation. It also brings the code base into conformance with PEP8 and PEP257 style guidelines.
Descriptors:
The calculate_descriptors command now accepts a whitelist of descriptor headings to calculate, a list of specific plugins to calculate, whether to only calculate compound or only reaction descriptors, the pk of a reaction or compound to start calculations at, and a setting to convert different warnings to errors.
The molecular descriptor polar surface area has been added to the chemaxon plugin.
Boolean molecular descriptors for the presence of elements with given valence, group, and period have been added (counting all elements and just inorganic elements). A new aggregation of boolean molecular descriptors to boolean reaction descriptors has been added: True iff the molecular descriptor is true for any compound in the reaction with the given role.
Descriptor plugins have been refactored so that each plugin corresponds to a single calculator software.
Minimum values have been added to chemaxon molecular descriptors where appropriate.
Geometric mean descriptors have been given a minimum value of 0.
Explicit checks for zero and negative values before taking the geometric mean have been added. The former sets the value to zero (unchanged from the default behavior of scipy, but no longer issues a warning) and the latter throws a ValueError.
Molecular weight has been moved from the example plugin to its own drp_rdkit plugin. A new example descriptor "length" (the length of the SMILES string) has been added.
During descriptor calculation, all descriptor values are now validated before they are saved.
Reaction hash has been fixed. Previously compounds were not sorted before being used to update the hash, so identical compound sets could produce different reaction hashes. They are now first sorted by abbreviation.
Reaction descriptors that are based on the reaction pH have been added.
A bug that caused some ChemAxon molecular descriptors to not be calculated has been fixed.
Tests:
Running the tests now allows arguments of specific modules to run and the --failfast flag, which causes the test runner to halt on the first failed test.
File tests now include pep257 (previously broken) and check the entire project expect for explicitly excluded paths.
A corner-case bug was fixed wherein permissions for temporary files would break tests. These have been made more user-specific and so should not break.
Model building:
Model building management added.
ExploratorySplitter (formerly MutualInfoSplitter) methodology has changed. Test set size is now guaranteed to within a specified percentage of the total dataset size. A set of reactions is now excluded from the test set only if it would push it outside of these bounds (previously all reaction sets with >35 reactions were excluded).
Hooks:
hooks have been added that check if there have been changes in migrations, drp_hooks, or settings_example and notifies the user.
Reaction Saving:
The reaction saving and creation pipeline has been adjusted to prevent a 500 server error when the save button was double clicked. A javascript snippet has been added to prevent double clicks like this accidentally occuring, as well as some better validation on the server side.
Reactions are no longer saved twice by compound quantity save methods.
Reaction Viewing:
The sort order of reactions has been reversed so that the most recently inserted reactions appear at the top of the list.
The owning labgroup's name now also appears in this list.
Also note that this release includes two minor migrations that are mostly django-related (may not even touch the database).
1.401
1.4
The primary purpose of this release is to somewhat streamline the input of new reaction data into the database. Automatic descriptor calculation has been turned off by default to reduce the time to save of each reaction, and the forms should now be much clearer.
In addition, the following bugfixes are present in this release:
Fixed an error when trying to sign up to a labGroup where not including an access code would trigger a 500 error
Reactions can now be added as "knowingly invalid"- that is to say, invalid for some reason that the database cannot otherwise capture. Reactions which are invalid for reasons which are already captured by the database (e.g. no reactants) should not necessarily be marked as invalid. If in doubt, mark as invalid.
Some clarity has been added regarding the licensing of "public data", which is now clearly licensed under the CC-BY-SA license. Additional terms will be added to the license agreement prior to the update of the main server in line with this change. Persons and organisations hosting their own releases of DRP should note that this is hardcoded.
Compounds can no longer be added to reactions with zero as an amount.
It is now possible to invalidate reactions without necessarily deleting them, in all cases.