-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement bmds modeling using pybmds #1145
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I poked around quite a bit and it all seemed to work well! I like it. I did a minor margin and alignment tweak for an alert, but that was it. I'd like it if there was a loading spinner when you click 'save selection', but it's not a big deal and works well as-is. This is a big one, great stuff!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I had some old sessions too that I checked out, and it looks like the backwards compatibility works well!
Implement pybmds in hawc with latest release of version 24.1.
This initial release doesn't have all the customization that's available in bmdsonline.epa.gov, and hopefully it won't need that level of customization. That said, the execution of bmds models is currently configured to only be available if the user is in our
beta tester
group. Individual models cannot be selected; by default we run all standard models with the standard parameter restrictions. Users can modify the BMR type and value, the dose units to use, and, the number of doses to drop (starting with the highest dose). We hope to get feedback from a small pool of users initially before expanding more broadly.You can currently create a BMD analysis for an endpoint, view existing analyses (you may want to have multiple for different dose units), update an existing analysis, or delete an analysis. You can also create a Microsoft Word report documenting the analysis. To access the BMD modeling, you'll navigate to an
animal.Endpoint
instance that has dose-response data extracted so it's available to conduct BMD modeling, and under the actions menu there's an option to create a BMD analysis (again, for now, if you're an admin orbeta tester
).More detailed changes include:
bmds
package and some of the dll requirements for execution, switch topybmds
package.bmds3
javascript components from scratch (around 1000 LOC). There weren't anybmds3
analyses in production systems of HAWC to our knowledge, so it was safe to rewrite from scratch without any backwards compatibility (preserving compatibility withbmds2
was needed however).animal.Endpoint
pages, but this may change in the future. The plotly plots, borrowed heavily from BMDS Online, are easier to develop and maintain, and objectively look better.bmd.AssessmentSettings
. Previously you'd select a particular version of BMDS and all runs in your assessment would use that version, and recommendation logic would be set globally for that assessment. This has all been removed; HAWC will now only run the latest version of pybmds, so users will need to manage and potentially rerun analyses if they need them consistent for an assessment. Recommendation logic is no longer customizable.bmd.Session
api to return a Word report.FeatureFlags.ENABLE_BMDS_33
In addition (tangentially related changes):
WaitLoad
React component that delays rendering for a specified time. This was used for Plotly plots to make sure the rest of the page is laid out so when the plot renders, it uses 100% of the height/width. Using a timing delay isn't ideal, but it seemed to work well for most situations tested and could be improved in the future if it proves to be an issue.Screenshots
Settings:

Results:


Individual Model Result Modal:
