phase1b
journey.Audrey Yeo
Opinions do not reflect employer
This presentation has ALT text and as much as possible, uses colour-blind friendly palettes
Code for this Quarto-rendered .html will also be shared
phase1b
phase1b
package history2015 : Started as a need in Roche’s early development group, package development led by Daniel Sabanés Bové in 2015.
2023 : Refactoring, Renaming, adding Unit and Integration tests as current State-of-Art Software Engineering practice.
100% written in R and Open Source.
Website : genentech.github.io/phase1b/
…the combined Scientific and Business development of a therapy.
graduated MSc Biostatistics in 2020
started at RWD at Roche in mid 2021
joined R&D at Roche in mid 2022
- Project Lead Statistician in early Oncology Trials
- Study Statistician for phase 1-2, phase 3 trials
first internal statistics presentation end 2022 on decision gating
started phase1b
in July 2023
phase1b
’s first external tour at PSI (pic later) and useR! in 2024
Why find solutions when we can also build them ?
Mathematics is Elegant
Building software can be inclusive and collaborative
I can create delightful experiences users and bring everyone along : values of inclusion, building great products, having an impact
roxygen2
introduction another resourcein summary, gaps were : Git merging, Pull Requests, Styling, Debugging, Writing Tests
Knowledge and skills for Statistical Software Engineering!
Git kraken
, VS Code Git Graph Extension
pre-commit
, Git hub checks
, R CMD
roxygen2
), building, reviewing documentationtestthat
and checkmate
)styler
, prettier
… building your own styleRoxygen skeleton example for one user-facing function in phase1b
typed
defined from package roxygen2
and it’s type asserted from package checkmate
testthat
and checkmate
are used herephase1b
a State of Art Software1 - reproducible, robust, testable, intuitive and open to collaborationTo find a needle in the haystack systematically
embrace small steps as smaller PRs can be sizeABLE.
One Design Document for entire function
One issue is the smallest task from (1)
One issue to one branch
One issue to one Pull Request (PR)
Create Test files for helper functions
Create Test files and example files for main function calls
User-facing functions start with Design-document
Helps achieve Clarity on the form and purpose of the user-facing function
Test regular and edge cases
Makes the rest of the work “easier” when the goals are clear
Most of the “skeleton” and “flesh” of the work can already be done in the because of 1-3
First Pull Request (PR) merged on Aug 29 2023 🥳
submitted an abstract by November 2023 at PSI
phase1b
journey in Pull RequestsPull Request | Order of work |
---|---|
test for dbetabinom | 1 |
pbetaMix and qbetaMix | 2 |
postprob | 3 |
ocPostprob | 4 |
betadiff | 5 |
postprobDist | 6 |
getBetaMix and dbetaMix | 7 |
predprob | 8 |
Design doc for predprobDist | 9 |
h_predprobdist_single_arm | 10 |
h_predprobdist | 11 |
predprobDist | 12 |
h_get_decisionDist | 13 |
h_getbetaMixpost | 14 |
Design-doc_ocPredprob | 15 |
h_get_decision_one_Predprob | 16 |
h_get_decision_two_Predprob | 17 |
h_get_oc | 18 |
ocPredprob | 19 |
Design-doc_ocPredprobDist | 20 |
phase1b
journey in Commitsphase1b
journey in ChatsGoal : introduce good practices and improve muscle memory and collaborate
debug()
, undebug()
, options(recover = error)
, options(recover = NULL)
Goal : introduce good practices and improve muscle memory and collaborate
phase1b
work
Positive bias & Trust are win-win situations
Learning through mistakes is key
Safe space to be ask any questions, and iterate, even for a seasoned engineer
“Great motivation to learn new skills”
“… it was always fun and easy to work with Audrey”
phase1b
Go through several more issues to complete and make it more delightful
submission to CRAN
Collaborate by contacting me
More software work for statisticians with values of : Inclusion, Diversity, Impact and Delightful user experience
As in Statistics, no matter how much you’ve improved it’s not permanent
Daniel Sabanés Bové
…and other colleagues at Data Science Acceleration at Roche
Open Source community and R community that do great work and share their knowledge
I’d love to know how this presentation relates to you or does not !
Thall P F, Simon R (1994), Practical Guidelines for Phase IIB Clinical Trials, Biometrics, 50, 337-349
Lee J J, Liu D D (2008), A Predictive probability design for phase II cancer clinical trials, 5(2), 93-106, Clinical Trials
Yeo, A T, Sabanés Bové D, Elze M, Pourmohamad T, Zhu J, Lymp J, Teterina A (2024). Phase1b : Calculations for decisions on Phase 1b clinical trials. R package version 1.0.0, https://genentech.github.io/phase1b
Code for this presentation
Code with engineering. Microsoft
How to do a code review. Google
Pachecho, C, A Technical Journey into API Design-First: Best Practices and Lessons Learned link
Why We need to Improve Software Engineering in Biostatistics (October 26 2023 R/Pharma) link
Inclusive Speaker Course by Linux Foundation link
Audrey Yeo