Zolboo pull edit and docs refactor - #93
Conversation
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
…rentLab#31) * intermediate * propogating bootstrappedmodelinginputdata changes to __main__ * removed unweighted bootstrap options * removing top_n as argparse option from step3 sigmoid parser * adding center_scale to argparse * setting drop_intercept to True permanently for sigmoid worker * the sigmoid parameters must have args.drop_intercept still * handling intercepts * fixing typo in center_scale logging * changing the way the formula is logged * removing truncation from formula logging * adding logging on random_state in bootstrappedmodelinput * removing sample weight cv log * removing sample weight cv logging
…rentLab#37) * loop exits if no variable selected within the loop, fixes issue 34 * fixing linter issues * linter issues --------- Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm> Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn * modifying argument parser * Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled * Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled * aligning stratified_cv_r2 * restoring changes to evaluate_interactor_significance_linear * commit after fixing error in stratification_classification * attempt to fixing inconsistent numbers of samples * fixing pr --------- Co-authored-by: chasem <chasem@wustl.edu>
…e minimal test case size (BrentLab#54) * saving changes for remove_bin_by_binding * Add check on number of features and increase minimal test case size
* create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface * separate the functions and objects in lasso_modeling.py * Refactor main by adding interface.py (BrentLab#56) * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface --------- Co-authored-by: chasem <chasem@wustl.edu> * create interface.py to separate main move the logging configuration back into main fixing interface create interface.py to separate main move the logging configuration back into main removing bin_by_binding_only from test arguments to interface rebasing refactor onto dev create interface.py to separate main move the logging configuration back into main removing bin_by_binding_only from test arguments to interface adding name == main to main script separate the functions and objects in lasso_modeling.py * renaming loop_modeling * separate the tests out into files * separate the tests out into files * fixing evaluate_interactor_significance_lassocv --------- Co-authored-by: chasem <chasem@wustl.edu>
* preparing for paper release (BrentLab#77) * updating the tmp/readme * updating precommit * fixing cmd line interface in __main__ * updating typing on sigmoid fit * adding logging re how CV is performed * initial topn modeling implementation. This will store the results in a separate output directory to differentiate from all data modeling * initial attempt of stage 3 of modeling. This seems to run without issues based on limited testing. * stepwise modelling * this separates the sigmoid step 3 into its own function; reoganizes cmd line input into reusable groups; sets the evaluate_interactor_significance estimator to LinearRegression by default * removing windows 2019 from CI * Update tfbpmodeling/loop_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/loop_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/loop_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * with pre-commit * removing islice from bootstrap loop * removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI * only running tests on ubuntu * trying to configure codecov * debugging codecov * debugging codecov * removing codecov badge and updating the pytest badge * adding the codecov badge back in -- secret corrected in the repo * debugging codecov * still debugging codecov * Add cubic ptf and standardization (BrentLab#29) * init * After installing pre-commit * add center and scaling * changing the names for center scaling * Update tfbpmodeling/__main__.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/tests/test_lasso_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/tests/test_lasso_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/tests/test_lasso_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/lasso_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Update tfbpmodeling/lasso_modeling.py Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * debugging the names for scale and center * editing annotatioins --------- Co-authored-by: Chase Mateusiak <chasem@wustl.edu> * Set random state on bootstraps; Remove unweighted bootstrap option (BrentLab#31) * intermediate * propogating bootstrappedmodelinginputdata changes to __main__ * removed unweighted bootstrap options * removing top_n as argparse option from step3 sigmoid parser * adding center_scale to argparse * setting drop_intercept to True permanently for sigmoid worker * the sigmoid parameters must have args.drop_intercept still * handling intercepts * fixing typo in center_scale logging * changing the way the formula is logged * removing truncation from formula logging * adding logging on random_state in bootstrappedmodelinput * removing sample weight cv log * removing sample weight cv logging * Add function to exclude all model variables (BrentLab#33) * adding function to exclude all predictors. this can be used to exclude all and then use args.add_model_variables to customize the formula * casting predictor_variables to list * fixing centering and scaling (BrentLab#36) * loop exits if no variable selected within the loop, fixes issue 34 (BrentLab#37) * loop exits if no variable selected within the loop, fixes issue 34 * fixing linter issues * linter issues --------- Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm> Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local> * setting evaluate_interactor_significance ci_level to the parse args argument * Tommy new stage3 (BrentLab#41) * WIP * fixing imported but not used * adding argument to include stage4_lasso * changing formatting problems * adding logger infomation for stage 4 method * changing location of logger info for stage 4 method * modifying logger.info to evaluate_interactor_significance * adding f string to Writing the final interactor significance results to {output_significance_file} * fixing logging --------- Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm> Co-authored-by: chasem <chasem@wustl.edu> * fixing error in stratification_classification that reversed the bin_by_binding_only param (BrentLab#44) * adding feature stage4_topn (BrentLab#43) * adding feature stage4_topn * modifying argument parser * Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled * Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled * aligning stratified_cv_r2 * restoring changes to evaluate_interactor_significance_linear * commit after fixing error in stratification_classification * attempt to fixing inconsistent numbers of samples * fixing pr --------- Co-authored-by: chasem <chasem@wustl.edu> * Add row max in interactor significance (BrentLab#48) * setting row max depending on model variables * setting row max depending on model variables * adding testing on log for evaluate_interactor_significance * removing ptf from all data formula by default (BrentLab#51) * Remove bin by binding and Add check on number of features and increase minimal test case size (BrentLab#54) * saving changes for remove_bin_by_binding * Add check on number of features and increase minimal test case size * Refactor main by adding interface.py (BrentLab#56) * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface --------- Co-authored-by: chasem <chasem@wustl.edu> * Separate the functions and objects in lasso_modeling.py (BrentLab#58) * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface * separate the functions and objects in lasso_modeling.py * Refactor main by adding interface.py (BrentLab#56) * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface --------- Co-authored-by: chasem <chasem@wustl.edu> * create interface.py to separate main move the logging configuration back into main fixing interface create interface.py to separate main move the logging configuration back into main removing bin_by_binding_only from test arguments to interface rebasing refactor onto dev create interface.py to separate main move the logging configuration back into main removing bin_by_binding_only from test arguments to interface adding name == main to main script separate the functions and objects in lasso_modeling.py * renaming loop_modeling * separate the tests out into files * separate the tests out into files * fixing evaluate_interactor_significance_lassocv --------- Co-authored-by: chasem <chasem@wustl.edu> * removing scale_center from interface (BrentLab#60) --------- Co-authored-by: ejiawustl <e.jia@wustl.edu> Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm> Co-authored-by: ezolbooe <e.zolboo@wustl.edu> Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu> Co-authored-by: 17TML <liuchenxing9@gmail.com> Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm> Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local> * claude developed docs * removing a old comment * updating documentation to reflect that the centering option is removed * removing a old comment * updating documentation to reflect that the centering option is removed --------- Co-authored-by: ejiawustl <e.jia@wustl.edu> Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm> Co-authored-by: ezolbooe <e.zolboo@wustl.edu> Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu> Co-authored-by: 17TML <liuchenxing9@gmail.com> Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm> Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
…rentLab#31) * intermediate * propogating bootstrappedmodelinginputdata changes to __main__ * removed unweighted bootstrap options * removing top_n as argparse option from step3 sigmoid parser * adding center_scale to argparse * setting drop_intercept to True permanently for sigmoid worker * the sigmoid parameters must have args.drop_intercept still * handling intercepts * fixing typo in center_scale logging * changing the way the formula is logged * removing truncation from formula logging * adding logging on random_state in bootstrappedmodelinput * removing sample weight cv log * removing sample weight cv logging
…rentLab#37) * loop exits if no variable selected within the loop, fixes issue 34 * fixing linter issues * linter issues --------- Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm> Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn * modifying argument parser * Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled * Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled * aligning stratified_cv_r2 * restoring changes to evaluate_interactor_significance_linear * commit after fixing error in stratification_classification * attempt to fixing inconsistent numbers of samples * fixing pr --------- Co-authored-by: chasem <chasem@wustl.edu>
…e minimal test case size (BrentLab#54) * saving changes for remove_bin_by_binding * Add check on number of features and increase minimal test case size
* create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface * separate the functions and objects in lasso_modeling.py * Refactor main by adding interface.py (BrentLab#56) * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * create interface.py to separate main * add tests to verify important logging statements * move the logging configuration back into main * fixing interface * removing bin_by_binding_only from test arguments to interface * adding name == main to main script * create interface.py to separate main * move the logging configuration back into main * removing bin_by_binding_only from test arguments to interface * rebasing refactor onto dev * adding calling to main * adding a feature column in test_interface --------- Co-authored-by: chasem <chasem@wustl.edu> * create interface.py to separate main move the logging configuration back into main fixing interface create interface.py to separate main move the logging configuration back into main removing bin_by_binding_only from test arguments to interface rebasing refactor onto dev create interface.py to separate main move the logging configuration back into main removing bin_by_binding_only from test arguments to interface adding name == main to main script separate the functions and objects in lasso_modeling.py * renaming loop_modeling * separate the tests out into files * separate the tests out into files * fixing evaluate_interactor_significance_lassocv --------- Co-authored-by: chasem <chasem@wustl.edu>
There was a problem hiding this comment.
Pull request overview
This PR consolidates the package’s main modeling workflow and CLI into tfbpmodeling/__main__.py, adds new workflow switches (notably --stage3_lassocv and --stage2_set_zero), and updates tests + documentation to match the new single-command invocation (python -m tfbpmodeling).
Changes:
- Move/replace the former
interface.pyworkflow withtfbpmodeling(args)in__main__.py, and simplify the CLI (no subcommands). - Add Stage 3 optional “LassoCV refit” step and add
stage2_set_zeroplumbing intoModelingInputData. - Large docs refresh: remove CLI reference pages/mermaid support; update tutorials and API docs to reference
tfbpmodeling.__main__.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
tfbpmodeling/tests/test_interface.py |
Updates tests to call tfbpmodeling.__main__.tfbpmodeling and asserts updated stage logging. |
tfbpmodeling/modeling_input_data.py |
Adds stage2_set_zero option and modifies top‑N masking behavior to optionally zero-out non-top‑N predictors instead of dropping rows. |
tfbpmodeling/interface.py |
Removes the old interface module implementation (workflow migrated elsewhere). |
tfbpmodeling/__main__.py |
Becomes the single CLI + workflow module; implements Stage 0–3 pipeline and adds new flags. |
README.md |
Simplifies README content and removes extensive CLI/usage documentation. |
pyproject.toml |
Bumps project version to 1.0.0. |
mkdocs.yml |
Removes mermaid configuration and CLI reference pages from nav. |
docs/tutorials/basic-workflow.md |
Updates tutorial commands to python -m tfbpmodeling and adjusts referenced output paths. |
docs/tutorials/advanced-features.md |
Updates examples and programmatic import path to tfbpmodeling.__main__.tfbpmodeling; updates renamed flags. |
docs/output.md |
Updates output structure docs for renamed stages and documents optional Stage 3 - LassoCV outputs. |
docs/js/mermaid-init.js |
Removes mermaid initialization JS (aligned with mkdocs.yml changes). |
docs/index.md |
Updates landing page workflow description (no mermaid diagram) and citation metadata. |
docs/getting-started/quickstart.md |
Updates quickstart commands and output directory examples for the new CLI usage. |
docs/getting-started/installation.md |
Removes subcommand help references; points readers to contributing docs for dev setup. |
docs/development/testing.md |
Removes standalone testing guide page. |
docs/development/contributing.md |
Updates project structure to reflect __main__.py as the workflow location; simplifies contribution guidance. |
docs/cli/overview.md |
Removes CLI overview page (CLI ref section removed from docs). |
docs/cli/linear-perturbation-binding-modeling.md |
Removes the detailed subcommand CLI reference page. |
docs/api/interface.md |
Retargets API docs from tfbpmodeling.interface to tfbpmodeling.__main__. |
CLAUDE.md |
Updates developer guidance to match the single-command CLI and new stage naming. |
.vscode/settings.json |
Updates spellcheck dictionary entries/order. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## dev #93 +/- ##
==========================================
- Coverage 72.19% 67.29% -4.91%
==========================================
Files 13 14 +1
Lines 838 954 +116
Branches 116 132 +16
==========================================
+ Hits 605 642 +37
- Misses 174 247 +73
- Partials 59 65 +6 ☔ View full report in Codecov by Sentry. |
The top-n bootstrap random_state calculation treats 0 as falsy: args.random_state + 10 if args.random_state else .... If a user passes --random_state 0, Stage 2 will incorrectly reuse the Stage 1 seed instead of offsetting it. Use an explicit is not None check so that 0 is handled as a valid seed. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…om/cmatKhan/tfbpmodeling into zolboo_pull_edit_and_docs_refactor
There was a problem hiding this comment.
Pull request overview
This PR consolidates the package’s CLI and primary workflow into tfbpmodeling/__main__.py, introduces an optional “Stage 3 - LassoCV” refit step, and updates tests + documentation to reflect the new single-command invocation (python -m tfbpmodeling).
Changes:
- Moved the former
interface.pyworkflow/CLI helpers into__main__.pyand simplified the CLI to a single command (no subcommands). - Added optional Stage 3 - LassoCV refit logic and a hidden
stage2_set_zerodata-handling option. - Updated tests and docs to match new stage naming and CLI usage; removed older CLI reference docs and mermaid setup.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
tfbpmodeling/tests/test_interface.py |
Updates integration-style logging tests to call tfbpmodeling.__main__.tfbpmodeling() and assert new stage log messages. |
tfbpmodeling/modeling_input_data.py |
Adds stage2_set_zero behavior for Top-N masking and tweaks masking logic/comments. |
tfbpmodeling/interface.py |
Removes the old interface module (workflow + CLI helpers). |
tfbpmodeling/__main__.py |
Becomes the single CLI + workflow implementation; adds Stage 3 - LassoCV optional refit and new flags. |
README.md |
Removes the long CLI walkthrough, leaving a minimal installation pointer to the hosted docs. |
pyproject.toml |
Bumps package version to 1.0.0. |
mkdocs.yml |
Removes mermaid config and drops the dedicated CLI nav section. |
docs/tutorials/basic-workflow.md |
Updates examples/paths to use python -m tfbpmodeling and new default output directory. |
docs/tutorials/advanced-features.md |
Updates CLI examples + programmatic usage import to tfbpmodeling.__main__. |
docs/output.md |
Updates stage naming and documents the optional Stage 3 - LassoCV output file. |
docs/js/mermaid-init.js |
Deletes mermaid initialization JS (no longer used). |
docs/index.md |
Replaces mermaid diagram with text workflow description; updates citation year/author ordering. |
docs/getting-started/quickstart.md |
Updates CLI examples and default output paths to the new entrypoint. |
docs/getting-started/installation.md |
Simplifies dev/setup text and removes subcommand help examples. |
docs/development/testing.md |
Removes the standalone testing guide page. |
docs/development/contributing.md |
Updates repo structure notes and simplifies contribution/testing guidance. |
docs/cli/overview.md |
Removes CLI overview page (subcommand-centric). |
docs/cli/linear-perturbation-binding-modeling.md |
Removes subcommand-specific CLI reference page. |
docs/api/interface.md |
Retargets API docs from tfbpmodeling.interface to tfbpmodeling.__main__. |
CLAUDE.md |
Updates developer guidance to reflect the single-entry workflow in __main__.py. |
.vscode/settings.json |
Adds “interactors” to spellchecker words and minor ordering tweaks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
This PR consolidates the main modeling workflow into tfbpmodeling.__main__ (making python -m tfbpmodeling the primary entry point), updates the multi-stage workflow (including an optional Stage 3 LassoCV refit), and refreshes tests/docs to match the new CLI and staging terminology.
Changes:
- Move/replace the previous
interface.pyworkflow withtfbpmodeling(args)in__main__.pyand simplify the CLI to a single command (no subcommands). - Add optional Stage 3 - LassoCV refit logic and new flags (e.g.,
--stage3_lassocv,--stage2_set_zero,--skip_1st_stage). - Update tests and documentation to reflect new stage names, CLI invocation, and outputs; bump package version to
1.0.0.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
tfbpmodeling/__main__.py |
New single-file CLI + end-to-end workflow implementation, including Stage 3 - LassoCV option. |
tfbpmodeling/modeling_input_data.py |
Adds stage2_set_zero behavior for Top-N masking and updates response/predictor masking logic. |
tfbpmodeling/tests/test_interface.py |
Updates tests to call tfbpmodeling.__main__.tfbpmodeling and adds Stage 3 - LassoCV logging assertions. |
tfbpmodeling/interface.py |
Removes the prior interface module implementation. |
docs/*, README.md, mkdocs.yml, CLAUDE.md |
Documentation refreshed to match the new CLI/workflow and stage naming; removes CLI subcommand docs/mermaid support. |
pyproject.toml |
Version bump to 1.0.0. |
.vscode/settings.json |
Adds spelling whitelist term(s). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
This PR consolidates the package’s CLI + core workflow into tfbpmodeling/__main__.py, updates the workflow stage naming and options (including an optional Stage 3 LassoCV refit), and refreshes tests/docs to match the new entrypoint and outputs.
Changes:
- Migrate the main modeling workflow from
interface.pyinto__main__.pyand simplify CLI invocation topython -m tfbpmodeling ...(no subcommand). - Add
stage2_set_zerohandling inModelingInputDataand introduce optional--stage3_lassocvrefit stage. - Update tests and documentation to reflect the new CLI/workflow; bump package version to
1.0.0.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
tfbpmodeling/__main__.py |
New single entrypoint containing CLI parsing + full modeling workflow, including optional Stage 3 LassoCV refit. |
tfbpmodeling/interface.py |
Removed legacy workflow/CLI helper module. |
tfbpmodeling/modeling_input_data.py |
Adds stage2_set_zero option and updates masking behavior for top-N selection. |
tfbpmodeling/tests/test_interface.py |
Updates integration-style workflow logging tests to call tfbpmodeling.__main__.tfbpmodeling. |
tfbpmodeling/configure_logger.py |
Expands accepted log levels to include CRITICAL. |
tfbpmodeling/bootstrapped_input_data.py |
Clarifies normalize_sample_weights behavior in docstring. |
README.md |
Simplifies top-level README content and links out to hosted docs. |
pyproject.toml |
Bumps version to 1.0.0. |
mkdocs.yml |
Removes Mermaid configuration and CLI reference entries from nav. |
docs/index.md |
Updates workflow documentation to match new stage structure and optional Stage 3 LassoCV. |
docs/output.md |
Updates output docs to include optional stage3_lassocv_significant_*.json and new stage numbering. |
docs/getting-started/installation.md |
Removes subcommand help references; points to contributing docs for dev setup. |
docs/getting-started/quickstart.md |
Updates CLI examples to python -m tfbpmodeling ... and renamed flags. |
docs/tutorials/basic-workflow.md |
Updates CLI examples (but still contains timestamped output-dir assumptions). |
docs/tutorials/advanced-features.md |
Updates programmatic usage import and renamed stage flags. |
docs/development/contributing.md |
Updates project structure docs to reflect removal of interface.py and workflow-in-__main__.py. |
docs/api/interface.md |
Retargets API docs from tfbpmodeling.interface to tfbpmodeling.__main__. |
docs/cli/overview.md |
Removed CLI reference page (old subcommand-based CLI). |
docs/cli/linear-perturbation-binding-modeling.md |
Removed old subcommand-specific CLI page. |
docs/development/testing.md |
Removed long-form testing guide page. |
docs/js/mermaid-init.js |
Removed Mermaid initialization JS. |
CLAUDE.md |
Updates architecture notes for new single-entrypoint workflow and CLI. |
.vscode/settings.json |
Adds “interactors” to spellchecker words list and reorders entries. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Fix estimator comment in interface (#83)
* preparing for paper release (#77)
* updating the tmp/readme
* updating precommit
* fixing cmd line interface in __main__
* updating typing on sigmoid fit
* adding logging re how CV is performed
* initial topn modeling implementation. This will store the results in a separate output directory to differentiate from all data modeling
* initial attempt of stage 3 of modeling. This seems to run without issues based on limited testing.
* stepwise modelling
* this separates the sigmoid step 3 into its own function; reoganizes cmd line input into reusable groups; sets the evaluate_interactor_significance estimator to LinearRegression by default
* removing windows 2019 from CI
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* only running tests on ubuntu
* trying to configure codecov
* debugging codecov
* debugging codecov
* removing codecov badge and updating the pytest badge
* adding the codecov badge back in -- secret corrected in the repo
* debugging codecov
* still debugging codecov
* Add cubic ptf and standardization (#29)
* init
* After installing pre-commit
* add center and scaling
* changing the names for center scaling
* Update tfbpmodeling/__main__.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* debugging the names for scale and center
* editing annotatioins
---------
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* Add function to exclude all model variables (#33)
* adding function to exclude all predictors. this can be used to exclude all and then use args.add_model_variables to customize the formula
* casting predictor_variables to list
* fixing centering and scaling (#36)
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* setting evaluate_interactor_significance ci_level to the parse args argument
* Tommy new stage3 (#41)
* WIP
* fixing imported but not used
* adding argument to include stage4_lasso
* changing formatting problems
* adding logger infomation for stage 4 method
* changing location of logger info for stage 4 method
* modifying logger.info to evaluate_interactor_significance
* adding f string to Writing the final interactor significance results to {output_significance_file}
* fixing logging
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: chasem <chasem@wustl.edu>
* fixing error in stratification_classification that reversed the bin_by_binding_only param (#44)
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Add row max in interactor significance (#48)
* setting row max depending on model variables
* setting row max depending on model variables
* adding testing on log for evaluate_interactor_significance
* removing ptf from all data formula by default (#51)
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing scale_center from interface (#60)
---------
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* claude developed docs
* removing a old comment
* updating documentation to reflect that the centering option is removed
* removing a old comment
* updating documentation to reflect that the centering option is removed
---------
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* removing a rebase error
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing a rebase error
* Rename exclude_interactor_variables (#88)
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing a rebase error
* renaming exclude_interaction_variable to exclude_model_variable
* clarifying cmd line instructions
* updating macos github actions version
* Update README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fixing plural on exclude_model_variables
* Update tfbpmodeling/interface.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update tfbpmodeling/interface.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fixing some documentation issues with plural/singular and names around exclude and include variables
* Update docs/cli/linear-perturbation-binding-modeling.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update docs/getting-started/quickstart.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fixing logger issue (#92)
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Fix estimator comment in interface (#83)
* preparing for paper release (#77)
* updating the tmp/readme
* updating precommit
* fixing cmd line interface in __main__
* updating typing on sigmoid fit
* adding logging re how CV is performed
* initial topn modeling implementation. This will store the results in a separate output directory to differentiate from all data modeling
* initial attempt of stage 3 of modeling. This seems to run without issues based on limited testing.
* stepwise modelling
* this separates the sigmoid step 3 into its own function; reoganizes cmd line input into reusable groups; sets the evaluate_interactor_significance estimator to LinearRegression by default
* removing windows 2019 from CI
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* only running tests on ubuntu
* trying to configure codecov
* debugging codecov
* debugging codecov
* removing codecov badge and updating the pytest badge
* adding the codecov badge back in -- secret corrected in the repo
* debugging codecov
* still debugging codecov
* Add cubic ptf and standardization (#29)
* init
* After installing pre-commit
* add center and scaling
* changing the names for center scaling
* Update tfbpmodeling/__main__.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* debugging the names for scale and center
* editing annotatioins
---------
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* Add function to exclude all model variables (#33)
* adding function to exclude all predictors. this can be used to exclude all and then use args.add_model_variables to customize the formula
* casting predictor_variables to list
* fixing centering and scaling (#36)
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* setting evaluate_interactor_significance ci_level to the parse args argument
* Tommy new stage3 (#41)
* WIP
* fixing imported but not used
* adding argument to include stage4_lasso
* changing formatting problems
* adding logger infomation for stage 4 method
* changing location of logger info for stage 4 method
* modifying logger.info to evaluate_interactor_significance
* adding f string to Writing the final interactor significance results to {output_significance_file}
* fixing logging
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: chasem <chasem@wustl.edu>
* fixing error in stratification_classification that reversed the bin_by_binding_only param (#44)
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Add row max in interactor significance (#48)
* setting row max depending on model variables
* setting row max depending on model variables
* adding testing on log for evaluate_interactor_significance
* removing ptf from all data formula by default (#51)
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing scale_center from interface (#60)
---------
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* claude developed docs
* removing a old comment
* updating documentation to reflect that the centering option is removed
* removing a old comment
* updating documentation to reflect that the centering option is removed
---------
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* removing a rebase error
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing a rebase error
* trying to fix logger issue
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: ejiawustl <e.jia@wustl.edu>
* Zolboo pull edit and docs refactor (#93)
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Fix estimator comment in interface (#83)
* preparing for paper release (#77)
* updating the tmp/readme
* updating precommit
* fixing cmd line interface in __main__
* updating typing on sigmoid fit
* adding logging re how CV is performed
* initial topn modeling implementation. This will store the results in a separate output directory to differentiate from all data modeling
* initial attempt of stage 3 of modeling. This seems to run without issues based on limited testing.
* stepwise modelling
* this separates the sigmoid step 3 into its own function; reoganizes cmd line input into reusable groups; sets the evaluate_interactor_significance estimator to LinearRegression by default
* removing windows 2019 from CI
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* only running tests on ubuntu
* trying to configure codecov
* debugging codecov
* debugging codecov
* removing codecov badge and updating the pytest badge
* adding the codecov badge back in -- secret corrected in the repo
* debugging codecov
* still debugging codecov
* Add cubic ptf and standardization (#29)
* init
* After installing pre-commit
* add center and scaling
* changing the names for center scaling
* Update tfbpmodeling/__main__.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/tests/test_lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/lasso_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* debugging the names for scale and center
* editing annotatioins
---------
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* Add function to exclude all model variables (#33)
* adding function to exclude all predictors. this can be used to exclude all and then use args.add_model_variables to customize the formula
* casting predictor_variables to list
* fixing centering and scaling (#36)
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* setting evaluate_interactor_significance ci_level to the parse args argument
* Tommy new stage3 (#41)
* WIP
* fixing imported but not used
* adding argument to include stage4_lasso
* changing formatting problems
* adding logger infomation for stage 4 method
* changing location of logger info for stage 4 method
* modifying logger.info to evaluate_interactor_significance
* adding f string to Writing the final interactor significance results to {output_significance_file}
* fixing logging
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: chasem <chasem@wustl.edu>
* fixing error in stratification_classification that reversed the bin_by_binding_only param (#44)
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Add row max in interactor significance (#48)
* setting row max depending on model variables
* setting row max depending on model variables
* adding testing on log for evaluate_interactor_significance
* removing ptf from all data formula by default (#51)
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing scale_center from interface (#60)
---------
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* claude developed docs
* removing a old comment
* updating documentation to reflect that the centering option is removed
* removing a old comment
* updating documentation to reflect that the centering option is removed
---------
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* removing a rebase error
* stepwise modelling
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* Update tfbpmodeling/loop_modeling.py
Co-authored-by: Chase Mateusiak <chasem@wustl.edu>
* with pre-commit
* removing islice from bootstrap loop
* removing fixtures to conftest; fixing spacing in loop module; adding pytest to CI
* Set random state on bootstraps; Remove unweighted bootstrap option (#31)
* intermediate
* propogating bootstrappedmodelinginputdata changes to __main__
* removed unweighted bootstrap options
* removing top_n as argparse option from step3 sigmoid parser
* adding center_scale to argparse
* setting drop_intercept to True permanently for sigmoid worker
* the sigmoid parameters must have args.drop_intercept still
* handling intercepts
* fixing typo in center_scale logging
* changing the way the formula is logged
* removing truncation from formula logging
* adding logging on random_state in bootstrappedmodelinput
* removing sample weight cv log
* removing sample weight cv logging
* loop exits if no variable selected within the loop, fixes issue 34 (#37)
* loop exits if no variable selected within the loop, fixes issue 34
* fixing linter issues
* linter issues
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
* adding feature stage4_topn (#43)
* adding feature stage4_topn
* modifying argument parser
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* Align response_df with predictors from get_modeling_data to ensure consistency when top_n_masked is enabled
* aligning stratified_cv_r2
* restoring changes to evaluate_interactor_significance_linear
* commit after fixing error in stratification_classification
* attempt to fixing inconsistent numbers of samples
* fixing pr
---------
Co-authored-by: chasem <chasem@wustl.edu>
* Remove bin by binding and Add check on number of features and increase minimal test case size (#54)
* saving changes for remove_bin_by_binding
* Add check on number of features and increase minimal test case size
* Separate the functions and objects in lasso_modeling.py (#58)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
* separate the functions and objects in lasso_modeling.py
* Refactor main by adding interface.py (#56)
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* create interface.py to separate main
* add tests to verify important logging statements
* move the logging configuration back into main
* fixing interface
* removing bin_by_binding_only from test arguments to interface
* adding name == main to main script
* create interface.py to separate main
* move the logging configuration back into main
* removing bin_by_binding_only from test arguments to interface
* rebasing refactor onto dev
* adding calling to main
* adding a feature column in test_interface
---------
Co-authored-by: chasem <chasem@wustl.edu>
* create interface.py to separate main
move the logging configuration back into main
fixing interface
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
rebasing refactor onto dev
create interface.py to separate main
move the logging configuration back into main
removing bin_by_binding_only from test arguments to interface
adding name == main to main script
separate the functions and objects in lasso_modeling.py
* renaming loop_modeling
* separate the tests out into files
* separate the tests out into files
* fixing evaluate_interactor_significance_lassocv
---------
Co-authored-by: chasem <chasem@wustl.edu>
* removing a rebase error
* Added logic for the following: (1) stage3_2b, (2) skip_1st_stage, (3) stage2_set_zero
* refactoring
* refactoring documentation
* versioning to v1.0.0
* addressing scipy future warning on n_alphas to alphas
* removing trailing whitespace
* Potential fix for pull request finding
The top-n bootstrap random_state calculation treats 0 as falsy: args.random_state + 10 if args.random_state else .... If a user passes --random_state 0, Stage 2 will incorrectly reuse the Stage 1 seed instead of offsetting it. Use an explicit is not None check so that 0 is handled as a valid seed.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* addressing copilot suggestions
* revising given copilot review
* clarifying stage3 order
* addressing copilot logger and sorted order of stage3_lassocv terms
* adding documentation for sample_weight_normalization in modelinputdata class
* changing logging level for no coefficients logs
* doing some output name refactoring
* refactoring docs
* updating output_dir help text
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: ezolbooe <e.zolboo@wustl.edu>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: Zolboo Erdenebaatar <e.zolboo@login.adm>
Co-authored-by: zolboo e <admin@zolboos-MacBook-Pro.local>
Co-authored-by: 17TML <liuchenxing9@gmail.com>
Co-authored-by: ejiawustl <e.jia@wustl.edu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This supersedes #91.
@ezolbooe , I did a good deal of refactoring that I have been needing to do. Please ignore the docs/ and README and what not (unless you want to look at it of course).
What used to be in
interface.pyis in__main__.pyand the cmd to run is now justpython -m tfbpmodeling --help.I made some minor tweaks to your stag3_2b (just what I put in slack, just adding the main effects of the interactor terms to the terms that survive stage 2).
I had AI help with refactoring the logging so that the Stage references are consistent. Stage3 is now Stage3-lasso and Stage3-lassoCV, for example.
If you can, look over the main workflow code in main.py and just make sure you still agree with what is going on there. I'm happy at this point to make sure that variables are clear, too -- it shouldn't be hard for us to read this at this point