diff options
| author | ziejd2 | 2019-01-31 23:10:52 -0600 |
|---|---|---|
| committer | ziejd2 | 2019-01-31 23:10:52 -0600 |
| commit | a7d529b3192e5b4261d1c63372a4fbfd8c45327b (patch) | |
| tree | 76f58c821801209735af0ee48c15508055189186 | |
| parent | 2d45f744e35b91c70a2db5f8ae6701e76d2a9b80 (diff) | |
| download | BNW-a7d529b3192e5b4261d1c63372a4fbfd8c45327b.tar.gz | |
Added info_files folder
| -rw-r--r-- | info_files/BNW_data_flow.txt (renamed from BNW_data_flow.txt) | 0 | ||||
| -rw-r--r-- | info_files/BNW_file_overview.txt (renamed from BNW_file_overview.txt) | 328 | ||||
| -rw-r--r-- | info_files/BNW_to_do.txt (renamed from BNW_to_do.txt) | 64 | ||||
| -rw-r--r-- | info_files/server_change_notes.txt (renamed from server_change_notes.txt) | 0 |
4 files changed, 196 insertions, 196 deletions
diff --git a/BNW_data_flow.txt b/info_files/BNW_data_flow.txt index 928983e4..928983e4 100644 --- a/BNW_data_flow.txt +++ b/info_files/BNW_data_flow.txt diff --git a/BNW_file_overview.txt b/info_files/BNW_file_overview.txt index fdd429ad..ad9849ff 100644 --- a/BNW_file_overview.txt +++ b/info_files/BNW_file_overview.txt @@ -1,164 +1,164 @@ -This file will provide an overview of the BNW code. - -At this point, BNW requires three packages that are not currently included in the BNW directory. -These are dot/graphviz; octave; and plotly. The BNW code assumes: -a) dot can be executed using /usr/bin/dot -b) octave can be executed using /usr/bin/octave -c) plotly: - The version of python on the current server is too old for plotly. I installed an newer version of python in my home directory: - python2.7 is currently installed in /home/jziebart/python/Python-2.7.15/python - Then, to use plotly, I modified files.py in: - /home/jziebart/python/lib/python2.7/site-packages/plotly to use absolute paths for PLOTLY_DIR and TEST_DIR - The files that need plotly are: cv_plotly.py, kfold_plotly.py, and ts_plotly.py - -BNW is currently located at /var/www/html/compbio/BNW_x.xx -(The current development version is BNW_1.21). - -The main BNW directory contains two basic files (index.html and home.php) and two directories. -A couple of lines in home.php should be modified/updated to point to the correct BNW directory. - -downloads: This contains the downloadable version of the BNW structure learning package. - -sourcecodes: This contains the files and codes that are used by the webserver. -The main purpose of this file is to provide a brief overview of the files that are contained in 'sourcecodes'. - -1. Directories within sourcecodes: -a) bnt-master: This contains the code for BayesNetToolbox which is used in parameter learning in BNW. - It has been slightly modified to work with Octave instead of MATLAB. - I have also made a couple of changes to ensure that initial parameters are taken directly from the data for discrete nodes. - -b) parameter_learning: This contains the MATLAB/Octave code that we have written for parameter_learning. - It also prepares data that has been uploaded to BNW for use with the structure learning code. - -c) k-best and localscore: These two directories contains the C code used for structure learning. - -d) BNW_workflow_test_files, example_datasets, and examples: These three directories contain files that are used by the tutorials and examples on the BNW homepage. - -e) data: The data for files generated by using BNW is written to this directory. It also contains several sub-directories that contain example data and networks. - -f) run_scripts: Scripts that run Octave calculations. - -2. Files within sourcecodes: -a) Major BNW php files: -Many of these will be described in BNW_data_flow.txt. -bn_file_load_gom.php: Used in uploading data to be used for structure learning. -create_tiers_gom.php: Structural constraint interface. -home_upload.php: Used in uploading a data file and a structure file when the structure is known. -layout_example.php: Main php file for displaying/making predictions with network using example data. -layout.php: Main php file for displaying/making predictions with network using user uploaded data. -net_structure.php: Used in uploading structure file when the network structure is known. -upload_structure_file.php: Used in uploading structure file when the network structure is known. -faq.php -getting_started.php -help.php -home.php -workflow.php - -b) Files related to the structure learning package: -build.sh -network_score -structure -run.sh - -c) Files related to home page, help files, example data sets, and tutorials: -BNW_overview.png -BNW_workflow_1.htm -BNW_workflow_2.htm -BNW_workflow_net1.htm -BNW_workflow_sci.htm -index.html -example.php -examplefilecopy.sh - -d) General html/css/inc files: -header_batchsearch.inc -header_new.inc -js-graph-it.css -js-graph-it.js -my_new_style.css -sf-homepage.css - -e) PHP files that support layout.php or layout_example.php: -add_evd_example.php -add_evd.php -add_inv_example.php -add_inv.php -network_layout_evd_2_example.php -network_layout_evd_2.php -network_layout_evd_example.php -network_layout_evd.php -network_layout_inv_2_example.php -network_layout_inv_2.php -network_layout_inv_example.php -network_layout_inv.php - -f) Files used for cross-validation/making predictions using a test set: -cv_predictions.php, cv_predictions_example.php --Cross-validations overview page - -cross_valid.php, cross_valid_example.php, cv_plotly.py --Used for leave-one-out cross-validation - -kfold_cv_example.php, kfold_cv.php, kfold_plotly.py --Used for k-fold cross-validation - -test_set_predictions.php, test_set_predictions_example.php, ts_plotly.py --Used with test set predictions. - -g) Files used in input checking/error processing -input_error.php -input_error_no_menu.php -input_validate.php -keyval_error.php - -h) Files that perform specific functions: -tier_description_processing_gom.php --Used by create_tiers_gom.php for the structure constraint interface. - -clear_example.php, clear.php, and filecopy.sh --Used by layout.php to clear entered evidence/intervention - -execute_bn_gom.php --Runs the script (run.sh) that performs structure learning after uploading data/adding constraints --It is actually called by executionprogress.php - -executionprogress.php, runtime_check.php, k_only_table.txt, and maxparent_table.txt --Used to provide an estimate of how long structure learning will take. - -graphviz_structure.php --Called by net_structure.php and used to generate files when users upload data with a known structure. - -mat_structure.php --Called by add_inv.php and add_inv_example.php when making predictions after an intervention. --Interventions can change the network structure and this file help account for these changes. - -matrix.php --Allows for display of the structure matrix file. - -input_check.php --Allows for display of the input file and variable description files. - -parameter_display.php --Allows for display of the network parameters of the original data set and after entering evidence/intervention. - -enter_netID.php --Allows for returning to old network after entering the netID. - -modify_structure_learning.php, bn_after_upload_gom.php --Allows for modification of structure learning settings without having to upload the file again. - -modify_edges.php, modify_edges_processing.php --Allows for the removal or addition of specific nodes to a network. - -remove_variables.php, remove_variables_processing.php, remove_variables_processing_default.php --Allows for the removal of variables after uploading an input file. --remove_variables_processing_default.php performs structure learning using defail settings. --remove_variables_processing.php goes to the structural constraint interface. - - - - - - - - +This file will provide an overview of the BNW code. + +At this point, BNW requires three packages that are not currently included in the BNW directory. +These are dot/graphviz; octave; and plotly. The BNW code assumes: +a) dot can be executed using /usr/bin/dot +b) octave can be executed using /usr/bin/octave +c) plotly: + The version of python on the current server is too old for plotly. I installed an newer version of python in my home directory: + python2.7 is currently installed in /home/jziebart/python/Python-2.7.15/python + Then, to use plotly, I modified files.py in: + /home/jziebart/python/lib/python2.7/site-packages/plotly to use absolute paths for PLOTLY_DIR and TEST_DIR + The files that need plotly are: cv_plotly.py, kfold_plotly.py, and ts_plotly.py + +BNW is currently located at /var/www/html/compbio/BNW_x.xx +(The current development version is BNW_1.21). + +The main BNW directory contains two basic files (index.html and home.php) and two directories. +A couple of lines in home.php should be modified/updated to point to the correct BNW directory. + +downloads: This contains the downloadable version of the BNW structure learning package. + +sourcecodes: This contains the files and codes that are used by the webserver. +The main purpose of this file is to provide a brief overview of the files that are contained in 'sourcecodes'. + +1. Directories within sourcecodes: +a) bnt-master: This contains the code for BayesNetToolbox which is used in parameter learning in BNW. + It has been slightly modified to work with Octave instead of MATLAB. + I have also made a couple of changes to ensure that initial parameters are taken directly from the data for discrete nodes. + +b) parameter_learning: This contains the MATLAB/Octave code that we have written for parameter_learning. + It also prepares data that has been uploaded to BNW for use with the structure learning code. + +c) k-best and localscore: These two directories contains the C code used for structure learning. + +d) BNW_workflow_test_files, example_datasets, and examples: These three directories contain files that are used by the tutorials and examples on the BNW homepage. + +e) data: The data for files generated by using BNW is written to this directory. It also contains several sub-directories that contain example data and networks. + +f) run_scripts: Scripts that run Octave calculations. + +2. Files within sourcecodes: +a) Major BNW php files: +Many of these will be described in BNW_data_flow.txt. +bn_file_load_gom.php: Used in uploading data to be used for structure learning. +create_tiers_gom.php: Structural constraint interface. +home_upload.php: Used in uploading a data file and a structure file when the structure is known. +layout_example.php: Main php file for displaying/making predictions with network using example data. +layout.php: Main php file for displaying/making predictions with network using user uploaded data. +net_structure.php: Used in uploading structure file when the network structure is known. +upload_structure_file.php: Used in uploading structure file when the network structure is known. +faq.php +getting_started.php +help.php +home.php +workflow.php + +b) Files related to the structure learning package: +build.sh +network_score +structure +run.sh + +c) Files related to home page, help files, example data sets, and tutorials: +BNW_overview.png +BNW_workflow_1.htm +BNW_workflow_2.htm +BNW_workflow_net1.htm +BNW_workflow_sci.htm +index.html +example.php +examplefilecopy.sh + +d) General html/css/inc files: +header_batchsearch.inc +header_new.inc +js-graph-it.css +js-graph-it.js +my_new_style.css +sf-homepage.css + +e) PHP files that support layout.php or layout_example.php: +add_evd_example.php +add_evd.php +add_inv_example.php +add_inv.php +network_layout_evd_2_example.php +network_layout_evd_2.php +network_layout_evd_example.php +network_layout_evd.php +network_layout_inv_2_example.php +network_layout_inv_2.php +network_layout_inv_example.php +network_layout_inv.php + +f) Files used for cross-validation/making predictions using a test set: +cv_predictions.php, cv_predictions_example.php +-Cross-validations overview page + +cross_valid.php, cross_valid_example.php, cv_plotly.py +-Used for leave-one-out cross-validation + +kfold_cv_example.php, kfold_cv.php, kfold_plotly.py +-Used for k-fold cross-validation + +test_set_predictions.php, test_set_predictions_example.php, ts_plotly.py +-Used with test set predictions. + +g) Files used in input checking/error processing +input_error.php +input_error_no_menu.php +input_validate.php +keyval_error.php + +h) Files that perform specific functions: +tier_description_processing_gom.php +-Used by create_tiers_gom.php for the structure constraint interface. + +clear_example.php, clear.php, and filecopy.sh +-Used by layout.php to clear entered evidence/intervention + +execute_bn_gom.php +-Runs the script (run.sh) that performs structure learning after uploading data/adding constraints +-It is actually called by executionprogress.php + +executionprogress.php, runtime_check.php, k_only_table.txt, and maxparent_table.txt +-Used to provide an estimate of how long structure learning will take. + +graphviz_structure.php +-Called by net_structure.php and used to generate files when users upload data with a known structure. + +mat_structure.php +-Called by add_inv.php and add_inv_example.php when making predictions after an intervention. +-Interventions can change the network structure and this file help account for these changes. + +matrix.php +-Allows for display of the structure matrix file. + +input_check.php +-Allows for display of the input file and variable description files. + +parameter_display.php +-Allows for display of the network parameters of the original data set and after entering evidence/intervention. + +enter_netID.php +-Allows for returning to old network after entering the netID. + +modify_structure_learning.php, bn_after_upload_gom.php +-Allows for modification of structure learning settings without having to upload the file again. + +modify_edges.php, modify_edges_processing.php +-Allows for the removal or addition of specific nodes to a network. + +remove_variables.php, remove_variables_processing.php, remove_variables_processing_default.php +-Allows for the removal of variables after uploading an input file. +-remove_variables_processing_default.php performs structure learning using defail settings. +-remove_variables_processing.php goes to the structural constraint interface. + + + + + + + + diff --git a/BNW_to_do.txt b/info_files/BNW_to_do.txt index 78646a3d..b3812c46 100644 --- a/BNW_to_do.txt +++ b/info_files/BNW_to_do.txt @@ -1,32 +1,32 @@ -1) Improve cross-validation and prediction interface and output. The development version has three specific tools here: -leave-one-out cross validation, k-fold cross validation, and making predictions using a test data set. -The input and output methods and format currently work, but could be greatly improved. -a) Currently, users have to type the name of a variable in an input box on BNW for LOOCV and KfoldCV. The predictions of this variable are then investigated by BNW. For the test data set, the variable of interest has to be the first line of the input test data file. Adding a dropdown selection box with the network variables might be better. -b) The output files are just plain text files with no formatting. We should probably at least have something like showing the prediction accurary/error of the predictions on an html page, and then having a button that could be used to download the complete prediction file. -c) The predictions could be displayed graphically. For example, for continuous variables, we could show a plot with the predicted and actual values for the cross validation or prediction. -d) There might be a couple of additional metrics for assessing the quality of predictions that we could add. I will look at some the Bayesian network R packages again to see what they use. - -2) Add additional image of the network model that displays only the node names. -This could be the first visualization of the network that is displayed after structure learning. -A couple of desired features: nodes that can be dragged and the potential to export a high quality image. -This image could also show the strength of the evidence for the edge (e.g., the width of the line or a number next to the line). -There would be a button somewhere with something like: "Make predictions with network" that would take users to current network visualization. -This would be viewed before layout.php. - -3) Improve look when viewing additional files. -Specifically, I am referring to data available in "View uploaded variabels and data", "Display structure matrix", and "View parameters". The related files are input_check.php, matrix.php, and parameter_display.php, respectively. - -4) Clarify file loading and BNW calculations. Sometimes it is not clear that a file is still being loaded or a calculation is currently running. -a) Improve interface for users with a known structure ("Make predictions using a known structure" on the BNW homepage). -It should be more clear what button needs to be clicked to go to the next step. It might be better to upload the data and structure files on the same page. -The related files are home_upload.php, upload_structure_file.php, and net_structure.php. -b) Some minor changes to the upload procedure for the general data upload ("Learn a network model from data") might also be helpful. -c) The calculation after evidence/intervention is submitted can take 5-10 seconds. - -5) Improve security for uploaded files. I have made some security improvements to check things like making sure the network ID's that are entered are correct, but th - -6) Add informative error messages for when things go wrong with structure/parameter learning. I need to think about how to do this. - -7) Allow users to log into BNW to easily save and return to networks? Currently, there is the option of using the network ID to return to the network. Is this something that we should keep long term? - -8) Parallelize the structure learning code. +1) Improve cross-validation and prediction interface and output. The development version has three specific tools here: +leave-one-out cross validation, k-fold cross validation, and making predictions using a test data set. +The input and output methods and format currently work, but could be greatly improved. +a) Currently, users have to type the name of a variable in an input box on BNW for LOOCV and KfoldCV. The predictions of this variable are then investigated by BNW. For the test data set, the variable of interest has to be the first line of the input test data file. Adding a dropdown selection box with the network variables might be better. +b) The output files are just plain text files with no formatting. We should probably at least have something like showing the prediction accurary/error of the predictions on an html page, and then having a button that could be used to download the complete prediction file. +c) The predictions could be displayed graphically. For example, for continuous variables, we could show a plot with the predicted and actual values for the cross validation or prediction. +d) There might be a couple of additional metrics for assessing the quality of predictions that we could add. I will look at some the Bayesian network R packages again to see what they use. + +2) Add additional image of the network model that displays only the node names. +This could be the first visualization of the network that is displayed after structure learning. +A couple of desired features: nodes that can be dragged and the potential to export a high quality image. +This image could also show the strength of the evidence for the edge (e.g., the width of the line or a number next to the line). +There would be a button somewhere with something like: "Make predictions with network" that would take users to current network visualization. +This would be viewed before layout.php. + +3) Improve look when viewing additional files. +Specifically, I am referring to data available in "View uploaded variabels and data", "Display structure matrix", and "View parameters". The related files are input_check.php, matrix.php, and parameter_display.php, respectively. + +4) Clarify file loading and BNW calculations. Sometimes it is not clear that a file is still being loaded or a calculation is currently running. +a) Improve interface for users with a known structure ("Make predictions using a known structure" on the BNW homepage). +It should be more clear what button needs to be clicked to go to the next step. It might be better to upload the data and structure files on the same page. +The related files are home_upload.php, upload_structure_file.php, and net_structure.php. +b) Some minor changes to the upload procedure for the general data upload ("Learn a network model from data") might also be helpful. +c) The calculation after evidence/intervention is submitted can take 5-10 seconds. + +5) Improve security for uploaded files. I have made some security improvements to check things like making sure the network ID's that are entered are correct, but th + +6) Add informative error messages for when things go wrong with structure/parameter learning. I need to think about how to do this. + +7) Allow users to log into BNW to easily save and return to networks? Currently, there is the option of using the network ID to return to the network. Is this something that we should keep long term? + +8) Parallelize the structure learning code. diff --git a/server_change_notes.txt b/info_files/server_change_notes.txt index e7ccd6ab..e7ccd6ab 100644 --- a/server_change_notes.txt +++ b/info_files/server_change_notes.txt |
