Skip to content

Conversation

@cmatKhan
Copy link
Member

No description provided.

cmatKhan and others added 3 commits September 22, 2025 15:45
* 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>
@cmatKhan cmatKhan requested a review from Copilot September 22, 2025 22:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive documentation to tfbpmodeling using MkDocs with Material theme. The documentation provides complete coverage of the package's functionality from basic usage to advanced features and API reference.

Key changes include:

  • Complete overhaul of the MkDocs configuration to use readthedocs theme with simplified plugin setup
  • Addition of extensive tutorial content covering basic workflows, advanced features, and data formatting requirements
  • Comprehensive CLI reference documentation with detailed parameter descriptions and examples
  • Full API reference documentation using mkdocstrings for automated documentation generation

Reviewed Changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pyproject.toml Added MkDocs dependencies including material theme, autorefs, and mkdocstrings for Python documentation
mkdocs.yml Switched from material to readthedocs theme, simplified plugin configuration, and restructured navigation
docs/tutorials/input-formats.md Added comprehensive 447-line guide covering data format specifications and validation
docs/tutorials/basic-workflow.md Added 362-line tutorial for complete workflow from data prep to result interpretation
docs/tutorials/advanced-features.md Added 350-line guide covering advanced configuration, feature engineering, and HPC usage
docs/js/mermaid-init.js Added JavaScript initialization for Mermaid diagram support
docs/index.md Created 97-line homepage with project overview, workflow diagram, and getting started info
docs/getting-started/quickstart.md Added 259-line quick start guide with examples and troubleshooting
docs/getting-started/installation.md Added 184-line installation guide covering standard and development setup
docs/development/testing.md Added comprehensive 514-line testing guide with patterns and best practices
docs/development/contributing.md Added extensive 538-line contribution guide covering development workflow and standards
docs/cli/overview.md Added 239-line CLI reference overview with usage patterns and configuration
docs/cli/linear-perturbation-binding-modeling.md Added detailed 364-line command reference with all parameters and examples
docs/api/*.md Added API reference files for all core modules with usage examples
README.md Updated with comprehensive CLI documentation and usage examples
CLAUDE.md Added development guidance file for AI assistant context
.pre-commit-config.yaml Added exclusions for documentation files from linting

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@codecov
Copy link

codecov bot commented Sep 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.79%. Comparing base (1c5d8bd) to head (e2cdb0e).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev      #78   +/-   ##
=======================================
  Coverage   71.79%   71.79%           
=======================================
  Files          13       13           
  Lines         826      826           
  Branches      116      116           
=======================================
  Hits          593      593           
  Misses        174      174           
  Partials       59       59           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@cmatKhan cmatKhan merged commit f066118 into BrentLab:dev Sep 22, 2025
7 checks passed
@cmatKhan cmatKhan deleted the add_docs branch September 22, 2025 22:29
cmatKhan added a commit that referenced this pull request Sep 22, 2025
* 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)

* Adding documentation (#78)

* 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

---------

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: 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>
cmatKhan added a commit that referenced this pull request Dec 1, 2025
* 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)

* Adding documentation (#78)

* 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

---------

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>

* 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>

* 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

* Adding stage1 model output (#84)

* stepwise modelling

* with pre-commit

* 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>

* 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>

* adding stage to output best prediction model and output documentation

* removing erroneous parameter group after merge

* adding output.md to mkdocs.yml

* Update tfbpmodeling/interface.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/output.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/output.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Zolboo Erdenebaatar <e.zolboo@n039.adm>
Co-authored-by: zolboo e <admin@zolboos-macbook-pro.local.dhcp.wustl.edu>
Co-authored-by: ezolbooe <e.zolboo@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>

---------

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: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant