Skip to content

Commit 723d8d4

Browse files
authored
Post-release patches (#1) (#2) (#3)
* Security: switched `os.mkdir` for `os.makedirs` * Fixed: copy-paste corrections * Fixed: redundant set casting * Changed: cleaned up docstring comment * Version bump * Removed config jsons that do not have paired data files * Changed: removed copyright notices from example json and data * Changed: Readme updated
1 parent 521aa1d commit 723d8d4

14 files changed

+137
-698
lines changed

CHANGELOG.md

Lines changed: 99 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -18,79 +18,103 @@
1818

1919
Change log for the codebase. Initialised from the developments following version `V0.11.3`
2020

21-
## V1.0.0
21+
## [V1.0.1] - 2024-03-11
2222

23-
- Introduction of pre-commit hooks (Ruff & Blacks)
24-
- Linting of code
25-
- Creation of feature selection mode for AO
26-
- max_features kwarg added for feature selection
27-
- moved source code into an src folder & modified dockerfile
28-
- created utils subfolder
29-
- created models subfolder
30-
- added in structure.md within ./src to explain the structure format adopted
31-
- renamed mode scripts to have a `mode_` pre-fix
32-
- added extra assertion in mode checks
33-
- removed redundant `check_config`, `check_keys`, `load_params_json`, `activate`
34-
- refactored `plot_graphs` to remove unnessicary `plot_dict` var
35-
- extracted load funcs from utils into own file
36-
- extracted save funcs from utils into own file
37-
- extracted util funcs from `mode_plotting` into respective files
38-
- extracted plotting funcs from `mode_plotting` into own files
39-
- removed exit() calls
40-
- bugfixes
41-
- extracted save funcs from models into utils.save
42-
- extracted load funcs from data_processing into utils.load
43-
- streamlined init
44-
- removed globals() call
45-
- extracted funcs from data_processing into appropriate locations, and file fully dispersed
46-
- changed call of parsing FS entry to correct place
47-
- separated problem specific plots into own files
48-
- extracted shap and permutation importance plots into their own subfolders given their importance
49-
- consolidate metric functions into one location
50-
- consolidate model defs into one location
51-
- custom model clean up
52-
- shifted repeated save_model code from TabAuto children into TabAuto
53-
- shifted repeated load_model code from TabAuto children into TabAuto, except for FixedKeras & AutoKeras being keras based they load in a different was so have left their re-implementation of load model
54-
- shifted repeated fit code from TabAuto children into TabAuto
55-
- shifted repeated init code from TabAuto children into TabAuto
56-
- generalised repeated _define_model code and shifted from TabAuto children into TabAuto
57-
- removed repeated set_params from TabAuto
58-
- removed unnessicary data being passed to plot_reg, plot_clf, perm_imp and most of plot_both functions
59-
- removed unnessicary data being passed to plots_shap functions and separated out problem specific logic into separate function.
60-
- extract repeated getting model_path code to function
61-
- streamlined custom model setup
62-
- TabAuto Class merged with CustomModel Class
63-
- Deleted autogulon src code, as was depreciated ages ago
64-
- Custom SKLearnModel code only ever instansiated in auto mode for AutoSklearn so removed redundant code
65-
- added test coverage config
66-
- tests, type hinting and docstring created for:
67-
- metrics.define_scorers
68-
- utils.ml.class_balancing
69-
- utils.ml.data_split.std_split & strat_split
70-
- plotting.plot_utils
71-
- reduce ussage of full config dict in:
72-
- R_replacement.py
73-
- added probabilities for predictions when doing classification problems
74-
- code comment clean up
75-
- multiline strings causing extra space fixed
76-
- added pytest marks to distinguish binary classiification problems
77-
- microbiome pre-processing bugfix
78-
- lgbm warning re: suggest_loguniform & suggest_uniform resolved
79-
- AutoKeras bugfix re: batch_size
80-
- tests_mode grabbing the wrong file at times when lots present
81-
- Arm fixes for previous security fix
82-
- test_modes bugfix
83-
- name change within code base & repo (from `Auto-Omics` to `AutoXAI4Omics`)
84-
- provided example data & config users can run
85-
- corrected test_model_outputs
86-
- added skip conditions for test_omic_datasets
87-
- bug fix of xticks for bar & box plots
88-
- added statement about supported python version to Readme and dev manual
89-
- License file created and headers added to files
90-
- fixed commenting of license in requirements.txt
91-
- `.pre-commit-config.yaml` cleaned
92-
- tests requiring a container marked and fixture added to build the container
93-
- `CONTRIBUTING.md` added and info added to `DEV_MANUAL.md`
94-
- `DEV_MANUAL.md` updated
95-
- Detect secrets added
96-
- Upgraded python base image from `3.9.14` to `3.9.18` for additional security fixes
23+
### Changed
24+
25+
- cleaned up docstring comment
26+
- removed copyright notices from example json and data
27+
- Readme updated
28+
29+
### Removed
30+
31+
- Removed config jsons that do not have paired data files
32+
33+
### Fixed
34+
35+
- copy-paste corrections
36+
- redundant set casting
37+
38+
### Security
39+
40+
- switched `os.mkdir` for `os.makedirs`
41+
42+
## [V1.0.0] - 2024-01-22
43+
44+
- Introduction of pre-commit hooks (Ruff & Blacks)
45+
- Linting of code
46+
- Creation of feature selection mode for AO
47+
- max_features kwarg added for feature selection
48+
- moved source code into an src folder & modified dockerfile
49+
- created utils subfolder
50+
- created models subfolder
51+
- added in structure.md within ./src to explain the structure format adopted
52+
- renamed mode scripts to have a `mode_` pre-fix
53+
- added extra assertion in mode checks
54+
- removed redundant `check_config`, `check_keys`, `load_params_json`, `activate`
55+
- refactored `plot_graphs` to remove unnessicary `plot_dict` var
56+
- extracted load funcs from utils into own file
57+
- extracted save funcs from utils into own file
58+
- extracted util funcs from `mode_plotting` into respective files
59+
- extracted plotting funcs from `mode_plotting` into own files
60+
- removed exit() calls
61+
- bugfixes
62+
- extracted save funcs from models into utils.save
63+
- extracted load funcs from data_processing into utils.load
64+
- streamlined init
65+
- removed globals() call
66+
- extracted funcs from data_processing into appropriate locations, and file fully dispersed
67+
- changed call of parsing FS entry to correct place
68+
- separated problem specific plots into own files
69+
- extracted shap and permutation importance plots into their own subfolders given their importance
70+
- consolidate metric functions into one location
71+
- consolidate model defs into one location
72+
- custom model clean up
73+
- shifted repeated save_model code from TabAuto children into TabAuto
74+
- shifted repeated load_model code from TabAuto children into TabAuto, except for FixedKeras & AutoKeras being keras based they load in a different was so have left their re-implementation of load model
75+
- shifted repeated fit code from TabAuto children into TabAuto
76+
- shifted repeated init code from TabAuto children into TabAuto
77+
- generalised repeated _define_model code and shifted from TabAuto children into TabAuto
78+
- removed repeated set_params from TabAuto
79+
- removed unnessicary data being passed to plot_reg, plot_clf, perm_imp and most of plot_both functions
80+
- removed unnessicary data being passed to plots_shap functions and separated out problem specific logic into separate function.
81+
- extract repeated getting model_path code to function
82+
- streamlined custom model setup
83+
- TabAuto Class merged with CustomModel Class
84+
- Deleted autogulon src code, as was depreciated ages ago
85+
- Custom SKLearnModel code only ever instansiated in auto mode for AutoSklearn so removed redundant code
86+
- added test coverage config
87+
- tests, type hinting and docstring created for:
88+
- metrics.define_scorers
89+
- utils.ml.class_balancing
90+
- utils.ml.data_split.std_split & strat_split
91+
- plotting.plot_utils
92+
- reduce ussage of full config dict in:
93+
- R_replacement.py
94+
- added probabilities for predictions when doing classification problems
95+
- code comment clean up
96+
- multiline strings causing extra space fixed
97+
- added pytest marks to distinguish binary classiification problems
98+
- microbiome pre-processing bugfix
99+
- lgbm warning re: suggest_loguniform & suggest_uniform resolved
100+
- AutoKeras bugfix re: batch_size
101+
- tests_mode grabbing the wrong file at times when lots present
102+
- Arm fixes for previous security fix
103+
- test_modes bugfix
104+
- name change within code base & repo (from `Auto-Omics` to `AutoXAI4Omics`)
105+
- provided example data & config users can run
106+
- corrected test_model_outputs
107+
- added skip conditions for test_omic_datasets
108+
- bug fix of xticks for bar & box plots
109+
- added statement about supported python version to Readme and dev manual
110+
- License file created and headers added to files
111+
- fixed commenting of license in requirements.txt
112+
- `.pre-commit-config.yaml` cleaned
113+
- tests requiring a container marked and fixture added to build the container
114+
- `CONTRIBUTING.md` added and info added to `DEV_MANUAL.md`
115+
- `DEV_MANUAL.md` updated
116+
- Detect secrets added
117+
- Upgraded python base image from `3.9.14` to `3.9.18` for additional security fixes
118+
119+
[V1.0.1]: https://github.com/IBM/AutoXAI4Omics/releases/tag/V1.0.1
120+
[V1.0.0]: https://github.com/IBM/AutoXAI4Omics/releases/tag/V1.0.0

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,18 @@ AutoXAI4Omics is a command line automated explainable AI tool that easily enable
4545
2. Make sure `docker` is running (cli command: `docker version`, if installed the version information will be given)
4646
3. Within the `AutoXAI4Omics` folder:
4747
1. Run the following cli command to build the image: `./build.sh -r`
48-
2. Manually create a new folder called `experiments`. IMPORTANT NOTE: if training is run by mistake without first creating the `experiments` directory, and the directory is created while training, the directory needs to be removed and then created again before running training (has to do with access permissions)
48+
2. Manually create a new folder called `experiments`. IMPORTANT NOTE: if training is run by mistake without first creating the `experiments` directory, and the directory is created while training, the directory needs to be removed and then created again before running training (has to do with access permissions).
49+
3. Make the experiments folder accessaible by running the following the directory where the experiment directory exists:
50+
51+
```shell
52+
chmod 777 -R experiments
53+
```
4954

5055
## Citation
5156

5257
For citation of this tool, please reference this article:
5358

54-
* James Strudwick, Laura-Jayne Gardiner, Kate Denning-James, Niina Haiminen, Ashley Evans, Jennifer Kelly, Matthew Madgwick, Filippo Utro, Ed Seabolt, Christopher Gibson, Bharat Bedi, Daniel Clayton, Ciaron Howell, Laxmi Parida, Anna Paola Carrieri. bioRxiv 2024.03.25.586460; doi: https://doi.org/10.1101/2024.03.25.586460
55-
59+
* James Strudwick, Laura-Jayne Gardiner, Kate Denning-James, Niina Haiminen, Ashley Evans, Jennifer Kelly, Matthew Madgwick, Filippo Utro, Ed Seabolt, Christopher Gibson, Bharat Bedi, Daniel Clayton, Ciaron Howell, Laxmi Parida, Anna Paola Carrieri. bioRxiv 2024.03.25.586460; doi: <https://doi.org/10.1101/2024.03.25.586460>
5660

5761
## User manual
5862

_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# limitations under the License.
1414

1515
# current version of the tool
16-
__version__ = "1.0.0"
16+
__version__ = "1.0.1"

configs/examples/50k_barley_SHAP.json

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
1-
// Copyright 2024 IBM Corp.
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
14-
151
{
162
"data": {
173
"name": "50k_barley_rowtype_binary_SHAP",

configs/examples/L1000_gene_expression_preprocessing_auto.json

Lines changed: 0 additions & 98 deletions
This file was deleted.

configs/examples/configNotes.md

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)