darkreactions, updated 🕥 2022-12-26 20:00:48

Dark Reaction Project README

General Information

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. Always make sure to check the latest version of the README on the master branch.

This repository contains the software for the https://www.djangoproject.com/-based source code for the Dark Reactions Project Software. If you are looking to contribute to the chemistry aspects of the project, please visit the main project site at http://darkreactions.haverford.edu. If you are looking to contribute to the source code of the project and are not a member of haverford college, please fork this repository and issue a pull request with any changes or fixes you may have made. A list of known bugs can be found at [http://bugs.darkreactions.haverford.edu] (our instance of Mantis Bug Tracker). Please note that you will to sign up for an account, and that the authentication credentials for the bug reporting page and the main project page are separate.

Setting up your own instance of the DRP

The following setup methods are suitable for use with Ubuntu 16.04.

On a Virtual Machine

This software supports development using https://www.vagrantup.com, and has a Vagrantfile included in the root directory.

Vagrant can be installed on Linux machines using

sudo apt-get install vagrant virtualbox

Then setting up a virtual machine should be as simple as issuing the command vagrant up from anywhere in the repository.

Manual Instructions - For A Physical Machine

The following instructions are written to work with Ubuntu 14 and 16 and have (mostly) been tested. These instructions assume familiarity with Linux and a Command Line, and that you are using nginx as your webserver.

Step 1: Install Dependencies

  • The DRP
  • Mysql
  • Nginx
  • Uwsgi — Note: other wsgi solutions are available and may be compatible with DRP.
  • Chemspider

Download or clone the DRP from our git repo

``` git clone https://github.com/darkreactions/DRP ````

Install necessary dependencies. Note that dependencies will go off most screens, so be careful when copy/pasting.

sudo apt-get install python3 python3-dev python3-pip mailutils mysql-server libmysqlclient-dev nginx uwsgi uwsgi-plugin-python3 python-rdkit git weka graphviz memcached python-memcache python3-scipy python3-pillow cmake libboost-all-dev python3-cffi graphviz-dev pkg-config pwgen dnsmasq

sudo python3 -m pip install numpy pygraphviz mysqlclient

sudo -H python3 -m pip install chemspipy requests pep8 pep257 xxhash sqlparse

Install Django. Please note that the current version of DRP is designed to work with Django 1.8

``` sudo python3 -m pip install django==1.8 ````

Step 2: Setting up MySQL and Chemspider

Login to your account:

mysql -u root -p

The user is initialized as root and the password is blank in Ubuntu. This may vary depending on your setup.

Once you login to mysql, and create two databases: CREATE DATABASE DRP CHARACTER SET utf8 COLLATE utf8_bin;

You should see: Query OK, 1 row affected (0.00 sec)

CREATE DATABASE DRP_test CHARACTER SET utf8 COLLATE utf8_bin;

You should see: Query OK, 1 row affected (0.00 sec)

Exit out of MySQL my typing “exit.”

You will also need a chemspider token. Follow the directions on the website for webservices:

“Some operations require a security token; to obtain a token please complete the registration process –when you are registered the Security Token is listed on the Profilepage. For web services which require a “Service Subscriber” role, then email us above to discuss upgrading your user account.”

Visit http://www.chemspider.com/AboutServices.aspx

Step 3: Setting up the settings.py file

In the DRP repository, copy the settings_example.py to settings.py.

cp settings_example.py settings.py

In the settings.py file, you will need to edit:

SERVER_NAME (full name of PC) CHEMSPIDER\_TOKEN MAIN\_SERVER MAIN\_SERVER\_USER MAIN\_SERVER\_PASS EMAIL\_HOST EMAIL\_HOST\_USER EMAIL\_HOST\_PASS EMAIL\_IMAP\_HOST ADMINS

These have placeholders that indicate their use.

You will also need to set the standard database settings as per the https://docs.djangoproject.com/en/1.8/.

Note that ALLOWED_HOSTS should be empty.

To pass the unit tests, at least one ADMIN_EMAILS should be provided

Step 4: Nginx and Uwsgi

Copy DRP_nginx from the DRP folder to the /etc/nginx/sites-available folder.

cp DRP/DRP_nginx /etc/nginx/sites-available

Create a symlink between /etc/nginx/sites-available/DRP_nginx and /etc/nginx/sites-enabled/DRP_nginx

ln -s sites-available/DRP_nginx sites-enabled/DRP_nginx

Copy DRP_uwsgi.ini file to the /etc/uwsgi/apps-available folder.

cp DRP/DRP_uwsgi.ini /etc/uwsgi/apps-available

Create a symlink between apps-available/DRP_uwsgi.ini to apps-enabled/DRP_uwsgi.ini

ln -s /etc/uwsgi/apps-available/DRP_uwsgi.ini /etc/uwsgi/apps-enabled/DRP_uwsgi.ini

Note that for symlinks, you may need to create the directory before linking it.

Now, edit each fine. Replace the placeholders with the relevant values. Ex: log path.

Note that the “location” paths in the nginx DRP_nginx file will need to be changed if you are not working on the server.

Now restart both Uwsgi and Nginx:

sudo service uwsgi restart sudo service nginx restart

Step 5: RDKIT Descriptors

Option 1 (Recommended):

We have a repo setup for a python3 specific build of rdkit which should not clash with other packages in the ubuntu repositories, however, we make no guarantees to that effect, and installation is at your own risk.

In the file /etc/apt/sources.list add the line:

deb [trusted=yes] https://darkreactions.haverford.edu/software ./

If you need to change the permissions on the /etc/apt/sources.list using chmod to edit the file, be sure to change it back and execute

sudo apt-get update sudo apt-get install python3-rdkit

Option 2 (Manual):

Run

sudo apt-get install bison cmake flux build-essential sqlite3 libsqlite3-dev libboost-all-dev sudo pip3 install cairocffi

Then, in a directory that is not your main installation directory for DRP.

git clone https://github.com/darkreactions/rdkit.git

Change into the rdkit repository directory and then

export RDBASE=$(pwd) export LD_LIBRARY_PATH="$(pwd)/lib" export PYTHONPATH="$(pwd)/lib" mkdir build cd build cmake -DRDK_BUILD_INCHI_SUPPORT=ON -D PYTHON_LIBRARY=/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4.so -D PYTHON_INCLUDE_DIR=/usr/include/python3.4/ -D PYTHON_EXECUTABLE=/usr/bin/python3.4 -DBOOST_ROOT=/usr/lib/x86_64-linux-gnu/ .. make install ctest

If any of this generates an error, unless you are very familiar with compiling new code for linux operating systems, seek the assistance of Philip Adler via the rdkit repository provided in this document.

Otherwise:

unset LD_LIBRARY_PATH unset RDBASE unset PYTHONPATH cd ../rdkit `sudo ln -s "$(pwd)" /usr/lib/python3.4/rdkit cd ../lib sudo cp -i *.so.2 /usr/lib python3.4 -c "import rdkit.Chem"

If that runs without error messages, congratulations, you have compiled and installed rdkit for use with DRP.

Step 6: Installing Chemaxon (optional)

Follow the documentation to install and validate your license for * Chemaxon.

In order to install the license files (.cxl), you must open one of the ChemAxon programs (e.g. MarvinView, MarvinSketch) and navigate to the help > licenses tab. From there you can install the license files.

The deb package can be installed as follows:

sudo apt install ./packagename.deb (or /path/to/package/name.deb)

Chemaxon can then be found at:

/opt/chemaxon

When setting the Chemaxon directory in settings.py, make sure to point to the bin file, ie:

CHEMAXON_DIR = {version:/path/to/marvinsuite/bin/}

Step 7: Remaining loose ends

Make sure you run the command: ./manage.py migrate

If you are experiencing errors with management commands, make sure you are in the right directory and try putting Python3 or whichever Python is relevant before the command. Additionally, try restarting nginx and uwsgi.

General Information

Logging in When first registering through the website on a server, the user is default inactive. You must run: ./manage.py createsuperuser Enter your new username and password.

Login to the website with /admin at the end of the URL

Go into the users and change the new user to active and whatever permissions you deem necessary.

Release Versions:

DRP is distributed in release versions. To use a specific version of the code, use the following template command: git checkout Git guidelines

Git Hooks

DRP comes distributed with a number of useful git hooks in the drp_hooks directory in this repo. These warn you if the expected structure of the settings.py file changes, or if you need to run database migrations for the DRP Django application. They also remove orphaned .pyc files, which have been known to confuse the test suite historically. These should be added to your local git repository as per the git documentation.

Server settings

In the DRP repository there is a file DRP_uwsgi.ini and another DRP_nginx. Both should be modified to suit your local server after having been placed in the relevant locations:

/etc/uwsgi/apps-enabled/DRP_uwsgi.ini /etc/nginx/sites-enabled/DRP_nginx

It should be noted that the uwsgi.ini is backwards compatible with older version of this repo, but that an old DRP_uwsgi file will need replacing. Both uwsgi and nginx must be restarted (in that order) for the server to work.

https

If you are setting up a publicly viewable instance of DRP, there are additional settings for these protocols present in the configuration file for nginx, and the Django settings_example.py file, which have been left commented out. Setting up https access varies greatly depending on your local server environment and organisation so there will be no further documentation here. Additional information for a simple method to set up https can be found at https://letsencrypt.org.

Running tests

In order to run tests you must have the following environment variables set up in your shell session: export PYTHONPATH=/path/to/DRP/ export DJANGO_SETTINGS_MODULE=DRP.settings You must also have TESTING set to True in your settings.py file.

In addition, its useful to restart nginx and uwsgi before running tests.

To run specific tests, provided the test is conformant to the template test (which they should be if you are writing new tests!), one can simply execute the test: path/to/DRP/test.py Else, one can run the entire test suite from the management script: ./manage.py run_tests

Adding New Fields In Development

In developing the DRP in the Dataquacs lab, it may be the case that you want to add a new field. To do this successfully and to have the tests pass successfully, follow this development cycle.

  1. Add the new field to the model, make migrations, and run migrations. This will update the version of the drp database specified in the settings.py file for the new field.

  2. Make sure the tests pass locally. To do this, the schema of the test database must match the local database. If there's only a few new additions, manually go into mysql and add the new column to the appropriate tables.

A useful way to figure out all the appropriate tables is by looking at the recent migrations file. The name of the models where the field was added will be the tables you must add the new column to. Once you've added the field to the tests, you should be able to run the tests. Of course, it still remains to be seen if the tests pass but this should eliminate errors due to the new field you've added not being recognized.

  1. Once the changes are ready for production, push the changes to the live server and make sure the database there matches the local database. You may not want to push the recent local migration so that you can migrate on the server to get the new changes added to the live database. If you've pushed the recent local migration, migrating on the server will not add a new column.

On Development Servers

The ALLOWED_HOSTS option in 'settings.py' should be set to an iterable containing only the localhost ip address as a string.

In the '/etc/nginx/sites-enabled/DRP_nginx' file, the host name that is being listened to should only be localhost.

Servers with multiple web applications.

If you are only developing DRP on your server, the setup you have should be sufficient, however, people running other applications on their local development server should note the following.

If you are running the django testing server, this requires you to select a port which is unoccupied. By default, the nginx settings file listens for port 8000, which is also the default port of the django test server; you will need to configure one or the other so that this clash does not occur. The Django documentation addresses this for django, whilst in the DRP_nginx file, the only change that needs to be made is to delete the line: listen 8000

dnsmasq

For instances where you are hosting multiple development projects on your local server, it may be beneficial to install dnsmasq: sudo apt-get install dnsmasq dnsmasq is a powerful tool for rerouting and managing dns requests. This makes it extremely helpful in managing multiple local development projects. Having installed dnsmasq, open the file /etc/dnsmasq.conf in your favourite text editor, and add the following line into the file: address=/loc/127.0.0.1 Save the change, and then on the command line: sudo service dnsmasq restart In the DRP_nginx file, change the server_name configuration to something like darkreactions.loc. It does not matter what this is set to, provided it: a. is unique on your development server b. ends in .loc Don't forget to set the SERVER_NAME setting in your settings.py file to the same value! Restart nginx: sudo service nginx restart When you open your browser and direct yourself to darkreactions.loc (or whatever you named the server), the dark reactions project should display.

DRP Versions < 0.1

Versions of code prior to 0.1 are not compatible with versions above.

Version 0.6 of DRP was the last version to use Django 1.6, subsequent versions use Django 1.8. There are, therefore, necessary transition steps to be made. git fetch --all git checkout 0.7 Make sure your database (both main and testing) is up to date with migrations: Set Testing = False in settings.py./manage.py migrate

Set Testing = True in settings.py

Restart nginx and uwsgi sudo service nginx restart && sudo service uwsgi restart

Run all tests and make sure you pass them all: ./manage.py run_tests

git checkout 0.81 Remove "south" from your installed apps Install django 1.8 pip install -U Django==1.8.9 Delete all .pyc files in your migrations folder rm DRP/migrations/*.pyc ./manage.py migrate DRP --fake./manage.py migrate --fake-initial ./manage.py migrate Repeat this process for your Main database.

Restart nginx and uwsgi sudo service nginx restart && sudo service uwsgi restart

Run all tests and make sure you pass them all ./manage.py run_tests

Notes for Local (Haverford) Developers The website can be accessed at darkreactions.haverford.edu -- this domain is managed by Haverford. The server itself (named "drp") is in the KINSC Server Room and can be accessed by SSH while on campus. Note that if you are off-campus and need to access drp, you will need to tunnel through another server on campus -- such as those hosted by FIG or a CS Lab Computer. That is, SSH there and THEN SSH into drp.

DRP Project Structure

  • ./ (The DRP Project)
  • README -- This file.
  • DRP_nginx -- The NGINX configuration. Move to /etc/nginx/sites-enabled/
  • DRP_uwsgi -- The UWSGI configuration. Move to /etc/uwsgi/apps-enabled/
  • manage.py -- The Django management file -- leave it as it is.
  • DRP/ (The DRP App)
  • models/ -- Contains all the Django models and some important accessors.
  • settings_example.py -- Contains example settings for the database; true settings are placed in settings.py (see setup.md).
  • urls/ -- Responsible for mapping a URL call to a function call; see the django documentation for details.
  • research/ -- A folder for very experimental/highly unstable code.
  • management/ -- Directory to add custom python manage.py commands- see the django documentation.
  • templatetags/ -- Directory to add custom Django template tags- see the django documentation.
  • views/ -- Directory of various views sorted into different files.
  • migrations/ -- Migration Files
  • templates (The HTML templates for Django Views.)
  • research (Any "research" scripts that are still being explored.)
  • static (Any static files for which Django can skip templating.)
  • favicon.ico -- The "favicon" for the site (actually served by NGINX).
  • js/ -- Any Javascript for any view belongs in this directory. universal.js -- Contains Javascript used on nearly every page.
  • css/ -- The CSS for any view should go here.
  • icons/ -- Small "icon" images belong here -- such as the hover-button images.
  • images/ -- Any large images for the site should go here (eg: the logo).
  • admin/ -- CSS for the /admin/ page. Used in many django installations.

There are many files that are not listed above in order to elucidate the "framework" of the DRP Django Project succinctly. Notably, there are many python files in the views and research directories that are not listed above -- but which should contain explanatory comments in the files themselves.

Accessing the GitHub Repo and Notes on the Repo Structure

First, you'll need a GitHub account and you'll need someone with access to the repo to grant your account access (though if you can view this README without access to the GitHub repo, you should tell someone). Then, you should be able to use git clone https://github.com/darkreactions/DRP.git to copy the repository to your workstation.

Django has an important file, settings.py, which is not tracked by this git repository for security reasons. If you add or remove items in this file whilst developing with the code, please ensure that you update the file settings_example.py in step.

Lastly, the repository utilises branches heavily. The master branch is reserved for releases. There are no working long-term support branches at present. Persons editing this code should set up their own branches, with one marked as stable, such that all tests pass in that branch.

Django Management Commands

Django management commands (that is, the commands that pass through manage.py) can be called as python manage.py <the command> when in the main DRP project directory. These commands are each stored in a separate python file in the .../DRP/management/commands directory. To add a new command, use the existing files as examples.

It also should be noted that using python manage.py help will detail all of the available management commands (of which there are many).

  • check_hash_collisions

This command checks the hashed values of the reactions calculated by the DRP descriptor plugin for clashes. If there is a clash, the lead developer should be notified ASAP.

  • build_model

Builds a machine learning model. The most basic usage is python manage.py build_model -p 'reaction_temperature'this will build a model using only the reaction temperature as a descriptor to predict the default outcome descriptor (currently boolean crystallisation outcome) using the default model (currently a Weka SVM using the PUK kernel and cross-validated using a 4-fold split to analyze model performance). More advanced usage should be well documented in the help textpython manage.py build_model -h

  • import_data

Imports reaction data from the main Haverford Dark Reactions server. Accepts one positional argument importing the corresponding number of Performed Reactions and their associated data. Not available to persons who are not administrators on the main server.

Note that at present this command does not import reaction descriptors.

  • re_save_reactions

Starts a batch parralell task to re-save each reaction, forcing descriptor calculation. Useful in conjunction with the above command. Note that descriptors will only be calculated for plugins present in the code-base, which are correctly set up.

  • run_tests

Runs all of the tests correctly imported in the test suite. To only run some tests, one may enter a list of test modules to run as positional arguments. The --failfast option causes tests to halt on the first failure. Otherwise all tests will be run and error details output at the end.

Useful Mysql Commands

To reference actual descriptors from a descriptor_id's from another table use the following command: SELECT * FROM DRP_descriptor WHERE id in (SELECT DISTINCT descriptor_id FROM DRP_numrxndescriptorvalue); Note: this command specifically references the table DRP_numrxndescriptorvalue. Change this table to the one you see fits your query.

Adding to the Dashboard

The general procedure is to make a csv with DRP/views/dashboardView.py, then pull that csv into the javascript in such a way that we have to do as little data processing in javascript as possible. The javascript in question is located in templates/dashboard.html. If you want to make another stacked bar graph, you can use the function make_stacked_bar which takes csv's in the form of date (Y-m-d), values, to, stack. You also pass that function the div id you want to graph to be in, so add a div in the html above the function for your new graph! There are other parameters to the function, those are described in the code. If you want to make a graph that isn't a stack bar chart, or uses data in a different form, you will have to write your own d3!

One additional gotcha: If you add another csv, you need to create the file on the server and then edit the permissions so that the program can edit it.

Using darkreactions.haverford.edu

If your lab would like to use our website, please send us an email at [email protected] Please include the lab group name, the email address for the head of the lab, and an access code. The access code will be required when users join your lab group.

Issues

Bump wheel from 0.24.0 to 0.38.1

opened on 2022-12-26 20:00:47 by dependabot[bot]

Bumps wheel from 0.24.0 to 0.38.1.

Changelog

Sourced from wheel's changelog.

Release Notes

UNRELEASED

  • Updated vendored packaging to 22.0

0.38.4 (2022-11-09)

  • Fixed PKG-INFO conversion in bdist_wheel mangling UTF-8 header values in METADATA (PR by Anderson Bravalheri)

0.38.3 (2022-11-08)

  • Fixed install failure when used with --no-binary, reported on Ubuntu 20.04, by removing setup_requires from setup.cfg

0.38.2 (2022-11-05)

  • Fixed regression introduced in v0.38.1 which broke parsing of wheel file names with multiple platform tags

0.38.1 (2022-11-04)

  • Removed install dependency on setuptools
  • The future-proof fix in 0.36.0 for converting PyPy's SOABI into a abi tag was faulty. Fixed so that future changes in the SOABI will not change the tag.

0.38.0 (2022-10-21)

  • Dropped support for Python < 3.7
  • Updated vendored packaging to 21.3
  • Replaced all uses of distutils with setuptools
  • The handling of license_files (including glob patterns and default values) is now delegated to setuptools>=57.0.0 (#466). The package dependencies were updated to reflect this change.
  • Fixed potential DoS attack via the WHEEL_INFO_RE regular expression
  • Fixed ValueError: ZIP does not support timestamps before 1980 when using SOURCE_DATE_EPOCH=0 or when on-disk timestamps are earlier than 1980-01-01. Such timestamps are now changed to the minimum value before packaging.

0.37.1 (2021-12-22)

  • Fixed wheel pack duplicating the WHEEL contents when the build number has changed (#415)
  • Fixed parsing of file names containing commas in RECORD (PR by Hood Chatham)

0.37.0 (2021-08-09)

  • Added official Python 3.10 support
  • Updated vendored packaging library to v20.9

... (truncated)

Commits
  • 6f1608d Created a new release
  • cf8f5ef Moved news item from PR #484 to its proper place
  • 9ec2016 Removed install dependency on setuptools (#483)
  • 747e1f6 Fixed PyPy SOABI parsing (#484)
  • 7627548 [pre-commit.ci] pre-commit autoupdate (#480)
  • 7b9e8e1 Test on Python 3.11 final
  • a04dfef Updated the pypi-publish action
  • 94bb62c Fixed docs not building due to code style changes
  • d635664 Updated the codecov action to the latest version
  • fcb94cd Updated version to match the release
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/darkreactions/DRP/network/alerts).

Bump pillow from 2.3.0 to 9.3.0

opened on 2022-11-22 00:25:09 by dependabot[bot]

Bumps pillow from 2.3.0 to 9.3.0.

Release notes

Sourced from pillow's releases.

9.3.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

Changes

... (truncated)

Changelog

Sourced from pillow's changelog.

9.3.0 (2022-10-29)

  • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [wiredfool]

  • Initialize libtiff buffer when saving #6699 [radarhere]

  • Inline fname2char to fix memory leak #6329 [nulano]

  • Fix memory leaks related to text features #6330 [nulano]

  • Use double quotes for version check on old CPython on Windows #6695 [hugovk]

  • Remove backup implementation of Round for Windows platforms #6693 [cgohlke]

  • Fixed set_variation_by_name offset #6445 [radarhere]

  • Fix malloc in _imagingft.c:font_setvaraxes #6690 [cgohlke]

  • Release Python GIL when converting images using matrix operations #6418 [hmaarrfk]

  • Added ExifTags enums #6630 [radarhere]

  • Do not modify previous frame when calculating delta in PNG #6683 [radarhere]

  • Added support for reading BMP images with RLE4 compression #6674 [npjg, radarhere]

  • Decode JPEG compressed BLP1 data in original mode #6678 [radarhere]

  • Added GPS TIFF tag info #6661 [radarhere]

  • Added conversion between RGB/RGBA/RGBX and LAB #6647 [radarhere]

  • Do not attempt normalization if mode is already normal #6644 [radarhere]

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/darkreactions/DRP/network/alerts).

Bump html5lib from 0.999 to 0.999999999

opened on 2022-07-06 20:02:29 by dependabot[bot]

Bumps html5lib from 0.999 to 0.999999999.

Changelog

Sourced from html5lib's changelog.

Commits
  • 6a73efa Yes, another release, already. :(
  • e0dc25f Fix attribute order to the treebuilder to be document order
  • a3b8252 Back to -dev
  • ebf6225 0.99999999 release! Let's party!
  • a8ba43e Merge pull request #270 from gsnedders/rename_stuff
  • 8cb144b Update the docs after all the renaming and add CHANGES
  • 00977d6 Rename a bunch of serializer module variables to be underscore prefixed
  • 18a7102 Have only one set of allowed elements/attributes for the sanitizer
  • c4dd677 Move a whole bunch of private modules to be underscore prefixed
  • 8db5828 Rename treewalkers.lxmletree to .etree_lxml for consistency
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/darkreactions/DRP/network/alerts).

Bump lxml from 3.3.3 to 4.9.1

opened on 2022-07-06 19:22:12 by dependabot[bot]

Bumps lxml from 3.3.3 to 4.9.1.

Changelog

Sourced from lxml's changelog.

4.9.1 (2022-07-01)

Bugs fixed

  • A crash was resolved when using iterwalk() (or canonicalize()) after parsing certain incorrect input. Note that iterwalk() can crash on valid input parsed with the same parser after failing to parse the incorrect input.

4.9.0 (2022-06-01)

Bugs fixed

  • GH#341: The mixin inheritance order in lxml.html was corrected. Patch by xmo-odoo.

Other changes

  • Built with Cython 0.29.30 to adapt to changes in Python 3.11 and 3.12.

  • Wheels include zlib 1.2.12, libxml2 2.9.14 and libxslt 1.1.35 (libxml2 2.9.12+ and libxslt 1.1.34 on Windows).

  • GH#343: Windows-AArch64 build support in Visual Studio. Patch by Steve Dower.

4.8.0 (2022-02-17)

Features added

  • GH#337: Path-like objects are now supported throughout the API instead of just strings. Patch by Henning Janssen.

  • The ElementMaker now supports QName values as tags, which always override the default namespace of the factory.

Bugs fixed

  • GH#338: In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively.

... (truncated)

Commits
  • d01872c Prevent parse failure in new test from leaking into later test runs.
  • d65e632 Prepare release of lxml 4.9.1.
  • 86368e9 Fix a crash when incorrect parser input occurs together with usages of iterwa...
  • 50c2764 Delete unused Travis CI config and reference in docs (GH-345)
  • 8f0bf2d Try to speed up the musllinux AArch64 build by splitting the different CPytho...
  • b9f7074 Remove debug print from test.
  • b224e0f Try to install 'xz' in wheel builds, if available, since it's now needed to e...
  • 897ebfa Update macOS deployment target version from 10.14 to 10.15 since 10.14 starts...
  • 853c9e9 Prepare release of 4.9.0.
  • d3f77e6 Add a test for https://bugs.launchpad.net/lxml/+bug/1965070 leaving out the a...
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/darkreactions/DRP/network/alerts).

Bump reportlab from 3.0 to 3.5.55

opened on 2022-06-27 16:53:10 by dependabot[bot]

Bumps reportlab from 3.0 to 3.5.55.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/darkreactions/DRP/network/alerts).

Bump numpy from 1.8.2 to 1.22.0

opened on 2022-06-21 21:10:37 by dependabot[bot]

Bumps numpy from 1.8.2 to 1.22.0.

Release notes

Sourced from numpy's releases.

v1.22.0

NumPy 1.22.0 Release Notes

NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:

  • Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
  • A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
  • NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
  • New methods for quantile, percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature.
  • A new configurable allocator for use by downstream projects.

These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.

The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.

Expired deprecations

Deprecated numeric style dtype strings have been removed

Using the strings "Bytes0", "Datetime64", "Str0", "Uint32", and "Uint64" as a dtype will now raise a TypeError.

(gh-19539)

Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio

numpy.loads was deprecated in v1.15, with the recommendation that users use pickle.loads instead. ndfromtxt and mafromtxt were both deprecated in v1.17 - users should use numpy.genfromtxt instead with the appropriate value for the usemask parameter.

(gh-19615)

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/darkreactions/DRP/network/alerts).

Releases

2016-07-01 20:26:13

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.

2016-06-29 17:21:34

Hotfix, fixes the immediate issue with unicode encodings which was breaking the reactant detail templates.

2016-06-27 18:24:30

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.

2016-06-23 18:06:25

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.

2016-06-20 17:33:46

This hotfix prevents 500 errors arising from chemspider server errors and a bug in the drp descriptor calculations code. Further, this hotfix also makes sure that the double-click prevention javascript is now compatible with chrome.

2016-06-17 20:49:51

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).

Dark Reactions Project
GitHub Repository Homepage