-
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
Open
shapiromatron
wants to merge
36
commits into
main
Choose a base branch
from
pybmds
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
shapiromatron
requested review from
caseyhans
and removed request for
caseyhans
December 4, 2024 15:11
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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: