shapiromatron / hawc Goto Github PK
View Code? Open in Web Editor NEWHealth Assessment Workspace Collaborative, a content management system for systematic reviews
License: Other
Health Assessment Workspace Collaborative, a content management system for systematic reviews
License: Other
Fix bugs identified by bmds execution:
Additional features wrapped into this release:
Updated
I'm moving the goalpost a little bit so we can get this version out in a timely manner. Additional tasks which need to be developed are below; unfortunately they require more refactoring on the client side, since a main assumption baked in is you'll want one model for each model type, and that doesn't cover the case for polynomial/multistage 2 - (n-1) models
session.add_default_models()
The user would like to be able to filter Study RoB assignments by the endpoints associated with those studies. That way they can assign the RoB forms to the correct people. Of course, you'd only be able to filter by the endpoints that have already been added in the assessment.
Associated with JIRA APPDEV-3858.
The user would like to be able to add a list of endpoint effects when reviewing the questions about endpoints in the Study RoB. They want to have an autocomplete to choose from, akin to the effects autocomplete in the animal bioassay endpoint form, and they want to add multiple effects.
This would likely require adding some sort of data indicator as to whether or not an individual metric should have the effects field available.
This ticket is just about getting feedback from the user by means of a visual representation of our ideas for the tool. Do not build out a complete solution until we nail down the final requirements.
JIRA APPDEV-3857
To prevent spam to the contact-us email, make login required.
In the future, after codebases have been merged, we could do something more advanced such as adding a captcha, but this should be sufficient to prevent gross spam I've been receiving lately.
In the Epi Outcome update screen, there is a field where you can add "tags." It's an autocomplete field that allows you to add multiple tags, and it has an interface to delete those tags as well.
https://v2626umcth922.rtord.epa.gov/epi/outcome/100001302/update/
The client wants the same kind of tag interface for the Epi Results update screen:
https://v2626umcth922.rtord.epa.gov/epi/result/100000017/update/
The will likely involve adding tags to the results model, but I haven't dug too deeply into how the outcome tags are set up. Take a look and see if you have any questions about it, and we'll figure it out.
JIRA APPDEV-3865
Having troubles consistently rendering Excel w/ invalid unicode errors. In production, we get an exception, but this isn't an issue locally.
v = ' test \x02 '
# this is consistent on mac/windows/ubuntu
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.cell(row=1,column=1,value=v) # raise IllegalCharacterError
# this is not - works on mac/windows, fails ubuntu
from io import BytesIO
import pandas as pd
df = pd.DataFrame(data=[[v]])
f = BytesIO()
writer=pd.ExcelWriter(f)
# on mac/windows, no error. on linux, throws IllegalCharacterError
df.to_excel(writer, index=False)
# both return utf-8
import sys
sys.getdefaultencoding()
Pandas == 1.4.1
openpyxl == 3.0.9
Reverse #98 using the NTP sandbox API for conducting bmd analysis, it's now available here: https://sandbox.ntp.niehs.nih.gov/job-runner/api/v1/bmds-dose-response/
A few changes will be required (there may be more):
{"input": {...}}
, this nesting should now be removed.After discussions with future users of HAWC and the current copyright ownership, we have decided to change the license to a more standard MIT license, with an additional notice.
update bootstrap to v4 in these files.
• https://github.com/shapiromatron/hawc/blob/master/hawc/templates/base.html
• https://github.com/shapiromatron/hawc/blob/master/hawc/templates/hawc/home.html
• https://github.com/shapiromatron/hawc/tree/master/hawc/templates/registration
• https://github.com/shapiromatron/hawc/tree/master/hawc/templates/hawc
The user would like to move the General Notes/Methodology section to the right of this page: https://v2626umcth922.rtord.epa.gov/ani/endpoint/27840/
So it shows up underneath the plot box. Check to see if possible and how much it might mess things up first, though, and get back to me.
JIRA APPDEV-3870
There are some specially concatenated choices in the descriptive text dropdowns on the animal data pivot, such as Animal Description (With N). You can see that here:
https://v2626umcth922.rtord.epa.gov/summary/data-pivot/assessment/483/chloroform-birth-defect-epi/update/
The user wants to add some more concatenated fields to the epi data pivot.
Exposure description might already be there. I'll take a look at this one.
JIRA APPDEV-3871
We currently don't have a public BMD webserver for me to run jobs on, so for the time being, so comment-out the "run bmd analysis" options at the endpoint-level. Hopefully we'll have another server in the near future.
If you go to -- or create -- an Animal data pivot visualization, you can customize various features of the visualization using the update screen:
https://v2626umcth922.rtord.epa.gov/summary/data-pivot/assessment/483/chloroform-fetal-growth-crown-rump-length-animal/update/
Go to the Settings tab, and then Descriptive Text Columns. Here, you can add columns to the table. The column header dropdown allows you to choose fields from the Animal data to display.
The user wants to be able to select Results Notes data as a descriptive text column and have it shown in the table. The comments field can be found on this screen:
https://v2626umcth922.rtord.epa.gov/ani/endpoint/28089/edit/
JIRA APPDEV-3869
In the setup for RoB heatmap visualizations, there are options to prefilter studies by associated endpoint data, such as system or effect. The user would like to be able to prefilter by Effect Subtype as well.
Associated with JIRA APPDEV-3856.
Add two columns to epi data pivot, both of which are semi-colon delimited.
The first is titled 'adjustment factors (applied)', the second 'adjustment factors (considered and/or applied)'.
Originally from email thread dated 1/8/18.
Investigate the possibility of allowing users to copy animal.Endpoint, epi.Outcome, or invitro.IVEndpoint across studies. May not be possible but a user-request.
Also investigate copying epi.Result across epi.Outcome within the same study.
Create branch selenium-tests-v3
to write the following new tests. If you're having a hard time writing stable selectors in selenium, feel free to ping @shapiromatron and we can work together to updating existing components to add css classes to make the selectors easier to grab onto.
To setup:
# load test database
export "DJANGO_SETTINGS_MODULE=hawc.main.settings.unittest"
createdb hawc-fixture-test
manage.py load_test_db
# start both environments
manage.py runserver
npm --prefix ./frontend run start
Individual tests below. I added a lot of detail for things to test, but feel free to adjust as necessary to get things working, hopefully the detail helps to describe the gist of what we want to test. Basically, we just want to make sure that things render without catastrophic errors:
test_literature
test_study
test_bioassay
test_rob
test_epi
test_cleanup
test_mgmt
test_heatmap_builtins
test_visuals
Currently, modules are either on or off in assessments, but there are occasions where we'll send out links to a public assessment that is still being worked on by HAWC team members. The concern is that some of the module names might be confusing/tempting to the general public. We should investigate adding another control to Update Enabled Modules to enable particular modules for team members only.
RE litter effects – can we change the drop down to “yes, statistical control” instead of “yes, statistical controls”
JIRA APPDEV-3872
Per previous conversations, we might move the primary HAWC repository to a new HAWC organization, giving greater granularity in permissions. This issue is to think about the strategy and any possible drawbacks. Might depend on #112 first, though.
BMD and BMDL are currently available as descriptive text columns in animal bioassay data pivots, but only if the pivot is set up with an export style of One row per endpoint/result. We need to enable them for One row per endpoint-group/result-group as well.
The user would like to be able to add a list of endpoint effects when reviewing the questions about endpoints in the Study RoB. They want to have an autocomplete to choose from, akin to the effects autocomplete in the animal bioassay endpoint form, and they want to add multiple effects.
Associated with APPDEV-3857, where we're going to do a mockup before developing anything.
Add the copy-as new features for invitro data; if possible try to allow copying across studies as many times the same chemicals are used across assessments. Requested by EBTC on 1/17/18.
If you go to -- or create -- an Epi data pivot visualization, you can customize various features of the visualization using the update screen:
https://v2626umcth922.rtord.epa.gov/summary/data-pivot/assessment/483/chloroform-birth-defect-epi/update/
Go to the Settings tab, and then Descriptive Text Columns. Here, you can add columns to the table. The column header dropdown allows you to choose fields from the Epi data to display.
The user wants to be able to select Epi Results Comments data as a descriptive text column and have it shown in the table. The comments field can be found on this screen:
https://v2626umcth922.rtord.epa.gov/epi/result/100000017/update/
JIRA APPDEV-3868
The endpoint aggregation view is buggy and I get numerous emails a week about errors by users. To start, convert this to react, using mobx for state management. The goal would be to rewrite all visuals in the future using this pattern, so generating reusable components would be valuable.
RoB has a donut graph that shows the domains as slices and the metrics as smaller segments around the outer edge. IRIS wants to make the center of the donut an indicator of the final confidence metric in the Risk of Bias questionnaire. You can use the usual colors and symbols.
Associated with JIRA APPDEV-3845.
The EPA and NTP will investigate merging the teamhero/hawc fork back into the shapiromatron/hawc parent repository in order to share the same code base. Ideally we'll have the two merged by April, unless we run into any problems.
If you go to -- or create -- an Epi data pivot visualization, you can customize various features of the visualization using the update screen:
https://v2626umcth922.rtord.epa.gov/summary/data-pivot/assessment/483/chloroform-birth-defect-epi/update/
Go to the Settings tab, and then Descriptive Text Columns. Here, you can add columns to the table. The column header dropdown allows you to choose fields from the Epi data to display.
The user wants to be able to select Epi Outcome Tag data as a descriptive text column and have it shown in the table. If you want to see an example of a similar field, Animal Data Pivot already has a descriptive text field option for tags.
JIRA APPDEV-3866
Go to https://v2626umcth922.rtord.epa.gov/ani/assessment/483/endpoints/ and click on Filter Endpoints.
The user wants to have NOEL and LOEL as options under Order By. Note LOEL and NOEL are shown by default on the list.
JIRA APPDEV-3864
Related to #122, now that one visual has been migrated, migrate the rest!
We had a request to add the short citation to the individual listings in the bulk cleaning interface.
Each RoB metric currently has a dropdown for the score, and a description text field. Add a source text field, like the description field. It's for the user to be able to copy and paste the reference text they found the metric in for use in text mining later.
Associated by APPDEV-3859.
Per previous conversations, different HAWC installations for different clients might need to use flags to turn certain features on and off or modify them for particular client needs. We'd like to create both a setting that indicates which client the current installation belongs to, and an example of using that setting to set feature flags in response.
If you go to -- or create -- an Epi data pivot visualization, you can customize various features of the visualization using the update screen:
https://v2626umcth922.rtord.epa.gov/summary/data-pivot/assessment/483/chloroform-birth-defect-epi/update/
Go to the Settings tab, and then Descriptive Text Columns. Here, you can add columns to the table. The column header dropdown allows you to choose fields from the Epi data to display.
The user wants to be able to select Epi Result Tag data as a descriptive text column and have it shown in the table. If you want to see an example of a similar field, Animal Data Pivot already has a descriptive text field option for tags.
On this one, it can't be done until the Results tags are added to the Results form, per APPDEV-3865. It's also similar to APPDEV-3866.
Related to #106
JIRA APPDEV-3867
Go to https://v2626umcth922.rtord.epa.gov/ani/assessment/483/endpoints/ and click Filter Endpoints.
The user wants to be able to filter the endpoint list by Effect Subtype. Use the same interface as the Effect filter, with an autocomplete. Note the Order By dropdown has effect subtype as an option, so subtype data might already be available on page display.
Associated with JIRA APPDEV-3863.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.