Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change view of stage 1 and 4 #93

Merged
merged 5 commits into from
Jun 1, 2023
Merged

Conversation

AndrzejKaj
Copy link
Collaborator

The change mainly concerns visualization. Another change is to limit the possibility of adding files with an inappropriate extension so that instead of informing about the error, it simply prevents it.
Zrzut ekranu 2023-05-28 205910
Zrzut ekranu 2023-05-28 205811

I left the text field as it looks good and could potentially be used in the future to describe what is happening on this but also on next stages but this is just a suggestion so I look forward to feedback.

@AndrzejKaj AndrzejKaj requested review from Tremirre, zuzg and azywot May 28, 2023 21:31
@AndrzejKaj AndrzejKaj self-assigned this May 28, 2023
Copy link
Collaborator

@Tremirre Tremirre left a comment

Choose a reason for hiding this comment

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

In the future we should incorporate more sophisticated input validation with error messaging but this will suffice for now.

I added few suggestions to improve code quality and reducing duplication

requirements.txt Outdated Show resolved Hide resolved
dashboard/pages/primary_screening/callbacks.py Outdated Show resolved Hide resolved
dashboard/pages/primary_screening/callbacks.py Outdated Show resolved Hide resolved
@zuzg
Copy link
Owner

zuzg commented May 29, 2023

How about displaying filenames in some scrollable list? You could also show number of loaded files next to it (it would allow user for a quick check whether all chosen files were loaded). Also you could show number if omitted files if we are skipping duplicates.

@azywot
Copy link
Collaborator

azywot commented May 29, 2023

How about displaying filenames in some scrollable list? You could also show number of loaded files next to it (it would allow user for a quick check whether all chosen files were loaded). Also you could show number if omitted files if we are skipping duplicates.

+1, I wouldn't actually split it into 3-4 columns (if we want to stick to that I'd unify the number of columns), I'd just put some scrollable list with a summary.

Copy link
Collaborator

@azywot azywot left a comment

Choose a reason for hiding this comment

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

I added some suggestions in the comments (drag and drop works, sorry for the confusion).

Thanks for updating the requirements, it was actually me who duplicated the bootsrap library 😬

@AndrzejKaj
Copy link
Collaborator Author

image

@AndrzejKaj
Copy link
Collaborator Author

image

@AndrzejKaj AndrzejKaj requested review from Tremirre and azywot May 31, 2023 11:30
Copy link
Collaborator

@Tremirre Tremirre left a comment

Choose a reason for hiding this comment

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

The code looks OK in general, though the change in requirements.txt needs to be removed and itd be very nice to put file-list component generation into a separate function

requirements.txt Show resolved Hide resolved
dashboard/pages/primary_screening/callbacks.py Outdated Show resolved Hide resolved
@AndrzejKaj
Copy link
Collaborator Author

image
image
I added new descripion also

@AndrzejKaj AndrzejKaj merged commit 3e0767d into develop Jun 1, 2023
@AndrzejKaj AndrzejKaj deleted the stages-uploading-update branch June 1, 2023 08:01
zuzg added a commit that referenced this pull request Nov 27, 2023
* feat: store user compounds data in the filesystem

* test: add unit tests to LocalFileStorage

* chore: add missing newlines, remove extra newlines

* Add base plate class

* Add plate reading from dir

* add missing dependencies

* echo file processing

* add echo files parser + tests

* update dependencies v2

* add missing newlines

* add missing newlines :))

* Add docs

* add suggestions

* resolve styling issue

* Refactor BMG files reading

* Add tests

* Add summary visualizations

* Modify summary tuple method

* Fix docstring

* Modify test for plate

* Optimize dataframe reading

* Define PlateSummary type

* 72 set up pre-commit (#75)

* Add pre-commit

* Add black workflow

* Reformat files

* 73 detect outliers control values (#77)

* Fix colours in control values plot

* Add outliers detection

* Add test for outliers

* Apply review fixes

* Fix tests

* Separate plate_array from df

* Fix typing and docs

* Change plot types

* Change plates viz to plotly

* 74 inhibitionactivation values (#79)

* Fix colours in control values plot

* Add outliers detection

* Add test for outliers

* Apply review fixes

* Fix tests

* Separate plate_array from df

* compute inhibition/activation

* merge activation/inhibition with echo files

* check upon the values

* fix combining echo bmg files

* drop unnecessary columns

* remove outliers from the resultant df

* split compounds/controls, add z-score

* add visualizations

* add tests

* improve docs and plot

---------

Co-authored-by: Zuza Gawrysiak <[email protected]>

* closes #80 general restructuring (#81)

* chore: merge src into dashboard

* update: set basic pages structure

* update: add stages placeholders to Primary Screening process

* chore: for the time being move old code to LEGACY folder, remove outdated layouts

* feat: add decorator for error handling

* fix: correct import in a unit test

* update: make data_folder a class attribute to facilitate global configuration

* fix: correct LocalFileStorage test

* chore: remove redundant style attr

* Plot improvements (#85)

* Filter low quality plates

* Make plot grid size modifiable

* Add z per plate plot

* Change template to plotly_white

* Apply review fixes

* Add plotly template as const

* Stage 1 and Stage 4 uploading (#86)

* Add reading ioFile in bmg

* Saving BML in Storage

* Add echo reading

* Add coments

* Resolve tests problems

* Pre-commit

* Pre-commit changes

* Solve problems

* Bmg refactor

* Bmg refactor

* Echo parser refactor

* Fix

* Fix comment

* 82 implement stage 2 (#90)

* fix: add correct name to elements property, set stages container style to take full width

* fix: subplots' titles not visibile correctly in heatmaps plot

* feat: implement paginated heatmap plates viewer

* add datatable for statistics preview, extend controls

* add docstring

* fix: sizing on smaller screens

* Add stage 3 in dash (#89)

* Add stage 3 in dash

* Add z threshold slider

* Refactor filtering lq plates

* Change return annotation

* 83 implement stage 5 in dashboard (#92)

* add stage 5 table

* add plots ad datatable

* add interactive z-score

* change act/inh/zscore plots

* add RangeSlider

* change data table styling

* resolve imports/typos

* Add stage 3 improvements (#95)

* Change view of stage 1 and 4 (#93)

* Change view of stage 1 and 4

* Resolve problems

* Divide info into two parts

* Change view

* Change view

* closes 96 update stage 2 layout (#97)

* adjust stage 2 layout

* hide plot controls

* disable zooming and panning on heatmap plots

* closes 98 add report stage revamp process controls (#99)

* add placeholder for stage 6

* add functional controls component

* remove old function for creating controls component

* add icons to prev/next stage buttons

* add border to controls component

* remove commented code

* closes 101 add correlation process (#104)

* chore: rename primary_screening package to screening

* update: rename primary-screening process page to screening

* update: dummy element to be created per-process page

* feat: add correlation process basis

* feat: fill in first stage html

* feat: add files parsing and validation placeholder

* feat: implement remaining stages

* Export screening results to csv file (#107)

* add save report v1

* download echo_bmg_combined.csv

* add custom csv name

* clean callbacks.py

* update delete_file

* remove custom file name

* remove imports

* fix csv export (#112)

* Report generation (#108)

* Generate simple raport

* Add storage for report data

* Add plot in raport

* Resolve problems

* Clean code

* Add secondary screening plots (#103)

* Add secondary screening plots

* Add concentration calculation

* Fix docstring

* Save report to download (#113)

* 115 deanonymize compounds (#117)

* Add eos

* Update regex

* Add eos to correlation stage

* Fix test

* Fix well naming issues

* Remove unnecessary changes

* Fix test

* Remove rows without eos

* closes 116 UI for hit validation process (#119)

* Add hit validation process page stages, implement first stage

* add parameters setting to first stage

* adjust parameter change callback

* implement second stage of hit validation process

* remove step from concentration bounds inputs

* reorder pages in nav bar

* Update INH/ACT/Z-SCORE plots (#114)

* add area charts

* add hline

* add ranges to act/inh

* add filter criteria

* add well/plate distinction

* filter compounds to save

* alter serialization

* include bmg controls

* fix test

* fix test #2

* Pipeline check and fixes (#120)

* change z-score calculation

* handle different echo files

* alter act/inh

* fix test

* fix tests & add exceptions button

* filter low quality plates

* change the origin

* Add url to EOS datable (#129)

* Add eos url

* Fix styling

* Save app settings to JSON file (#131)

* Save json from primmary screening

* clean

* pre-commit

* Rename methods and dicts

* Add saving settings in correlation and hit validation

* Style buttons

* closes 126 implement third process (#133)

* remove .venv from git tracking

* implement basic parsing

* implement file parsing and graph creation

* implement csv downloading

* remove unneeded files

---------

Co-authored-by: njytwf <[email protected]>

* closes 138 control hit plot (#139)

* fix initial process callbacks not setting stored uuid

* implement stacking control

* round top/bottom values

* closes 140 configuration for hit determination (#142)

* ui for controls

* parametrize hit determination

* connect state variables with the configuration callback

* remove whitespace

* Add plots to screening report (#143)

* Add data projections (#132)

* update combining process

* add data projection process

* add dropdowns

* add eos links, save file

* remove an outdated test

* alter combine_assays_for_projection

* add loading sign/dynamic table

* add controls to the report

* Revert "add controls to the report"

This reverts commit 14328d2.

* remove apply button

* add controls to the plot

* revert legacy change

* include both ACT & INH to projections

* update umap package version

* remove legacy, return uuid initially

* Implement SMILES predictor (#141)

* Train xgboost

* Predict on ecbd data

* Add smoter

* Save preds to pq

* Fix plotted eoses (#151)

* Add predictions to dashboard (#146)

* Add predictions to dashboard

* Add SMILES plotting

* Change predictions file to pq

* Add missing requirements

* Comment out umap (#153)

* Comment out umap

* Format notebook

* Update default projection

* merge inh/act into feature (#144)

* merge inh/act into feature

* remove functools.partial wrapper

* 136 Save individual EOS report (#155)

* Add statistics

* Create report

* Add concentration for 50% modulation

* Uppercase letter

* closes 147 app redesign 💅💅 (#154)

* navbar and homepage re-design

* make logo smaller, set correct logo src

* redesign about page

* reformat file

* add smartart to about page

* Correlation report (#157)

* Create report correlation

* Create report correlation

* Fix Correlation stage

* Add typing

* Fix concentration_50 statistic (#161)

* Create report correlation

* Fix concentration_50

* closes 159 minor UI adjustments (#160)

* add link

* make main pages responsive

* hit browser styling fixes

* adjust stacking controls styling

* replace buttons list with searchable dropdown for hit browser component selection

* fix individual report generation

* Add structural similarity (#156)

* Add structural similarity

* Small refactor

* Fix file upload

* Improve clustering

* Move plot to plots

* Update colors

* Export eos plots to the final report (#168)

* add report generation

* add dependencies

* alter saved plots

* fix: handle case when last page is of size 0 (#169)

* closes 165 update projections (#170)

* add 3d projection plots

* facilitate selected datapoints download for Visualization stage

* facilitate selected datapoints download for Similarity stage

* disable "Download selected" buttons when 3d plotting enabled

* 147 app redesign v2 (#162)

* unify plots view, add loaders

* add page blockers

* divide eos/echo loaders

* remove unnecessary comments

* change select file color

* correct heatmap loader

* alter upload text

* add info icon

* alter info icon position

* fix info icon

* Add ML experiment setup (#176)

* Add ml experiment setup

* Add feature selection, hp tuning and docs

* Split projection stage (#174)

* split stages

* add projections processes descriptions

* closes 166 minor styling (#175)

* unify precision in screening process

* fix unit display for concentration50

* add kaleido dependency

* unify precision in data projection process

* add thousands delimiter

* restyle controls to include process name

* replace screening statistics charts with bar plots

* adjust styling for tooltip

* allow to extend tooltip with custom styling

* add bottom padding to page container

* add tooltips to hit validation process

* move tooltip annotation to components module

* add tooltips to Screening process

* reduce process title size

* add tooltips to data projection process

* extend docstring of the annotating function

* add tooltips to correlation process

* adjust concentration slider desc

* update sliders tooltip descriptions for correlation

* adjust coloring of mean value bar plots

* add missing information in various descriptions

* render error message when user uploads less than 3 screening files in data projection process

* readd missing stage

* restore controls chart to scatter plot

* Update version (#179)

* Update version

* Remove dev

---------

Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: azywot <[email protected]>
Co-authored-by: AndrzejKaj <[email protected]>
Co-authored-by: Agata <[email protected]>
Co-authored-by: njytwf <[email protected]>
zuzg added a commit that referenced this pull request Dec 14, 2023
* feat: store user compounds data in the filesystem

* test: add unit tests to LocalFileStorage

* chore: add missing newlines, remove extra newlines

* Add base plate class

* Add plate reading from dir

* add missing dependencies

* echo file processing

* add echo files parser + tests

* update dependencies v2

* add missing newlines

* add missing newlines :))

* Add docs

* add suggestions

* resolve styling issue

* Refactor BMG files reading

* Add tests

* Add summary visualizations

* Modify summary tuple method

* Fix docstring

* Modify test for plate

* Optimize dataframe reading

* Define PlateSummary type

* 72 set up pre-commit (#75)

* Add pre-commit

* Add black workflow

* Reformat files

* 73 detect outliers control values (#77)

* Fix colours in control values plot

* Add outliers detection

* Add test for outliers

* Apply review fixes

* Fix tests

* Separate plate_array from df

* Fix typing and docs

* Change plot types

* Change plates viz to plotly

* 74 inhibitionactivation values (#79)

* Fix colours in control values plot

* Add outliers detection

* Add test for outliers

* Apply review fixes

* Fix tests

* Separate plate_array from df

* compute inhibition/activation

* merge activation/inhibition with echo files

* check upon the values

* fix combining echo bmg files

* drop unnecessary columns

* remove outliers from the resultant df

* split compounds/controls, add z-score

* add visualizations

* add tests

* improve docs and plot

---------

Co-authored-by: Zuza Gawrysiak <[email protected]>

* closes #80 general restructuring (#81)

* chore: merge src into dashboard

* update: set basic pages structure

* update: add stages placeholders to Primary Screening process

* chore: for the time being move old code to LEGACY folder, remove outdated layouts

* feat: add decorator for error handling

* fix: correct import in a unit test

* update: make data_folder a class attribute to facilitate global configuration

* fix: correct LocalFileStorage test

* chore: remove redundant style attr

* Plot improvements (#85)

* Filter low quality plates

* Make plot grid size modifiable

* Add z per plate plot

* Change template to plotly_white

* Apply review fixes

* Add plotly template as const

* Stage 1 and Stage 4 uploading (#86)

* Add reading ioFile in bmg

* Saving BML in Storage

* Add echo reading

* Add coments

* Resolve tests problems

* Pre-commit

* Pre-commit changes

* Solve problems

* Bmg refactor

* Bmg refactor

* Echo parser refactor

* Fix

* Fix comment

* 82 implement stage 2 (#90)

* fix: add correct name to elements property, set stages container style to take full width

* fix: subplots' titles not visibile correctly in heatmaps plot

* feat: implement paginated heatmap plates viewer

* add datatable for statistics preview, extend controls

* add docstring

* fix: sizing on smaller screens

* Add stage 3 in dash (#89)

* Add stage 3 in dash

* Add z threshold slider

* Refactor filtering lq plates

* Change return annotation

* 83 implement stage 5 in dashboard (#92)

* add stage 5 table

* add plots ad datatable

* add interactive z-score

* change act/inh/zscore plots

* add RangeSlider

* change data table styling

* resolve imports/typos

* Add stage 3 improvements (#95)

* Change view of stage 1 and 4 (#93)

* Change view of stage 1 and 4

* Resolve problems

* Divide info into two parts

* Change view

* Change view

* closes 96 update stage 2 layout (#97)

* adjust stage 2 layout

* hide plot controls

* disable zooming and panning on heatmap plots

* closes 98 add report stage revamp process controls (#99)

* add placeholder for stage 6

* add functional controls component

* remove old function for creating controls component

* add icons to prev/next stage buttons

* add border to controls component

* remove commented code

* closes 101 add correlation process (#104)

* chore: rename primary_screening package to screening

* update: rename primary-screening process page to screening

* update: dummy element to be created per-process page

* feat: add correlation process basis

* feat: fill in first stage html

* feat: add files parsing and validation placeholder

* feat: implement remaining stages

* Export screening results to csv file (#107)

* add save report v1

* download echo_bmg_combined.csv

* add custom csv name

* clean callbacks.py

* update delete_file

* remove custom file name

* remove imports

* fix csv export (#112)

* Report generation (#108)

* Generate simple raport

* Add storage for report data

* Add plot in raport

* Resolve problems

* Clean code

* Add secondary screening plots (#103)

* Add secondary screening plots

* Add concentration calculation

* Fix docstring

* Save report to download (#113)

* 115 deanonymize compounds (#117)

* Add eos

* Update regex

* Add eos to correlation stage

* Fix test

* Fix well naming issues

* Remove unnecessary changes

* Fix test

* Remove rows without eos

* closes 116 UI for hit validation process (#119)

* Add hit validation process page stages, implement first stage

* add parameters setting to first stage

* adjust parameter change callback

* implement second stage of hit validation process

* remove step from concentration bounds inputs

* reorder pages in nav bar

* Update INH/ACT/Z-SCORE plots (#114)

* add area charts

* add hline

* add ranges to act/inh

* add filter criteria

* add well/plate distinction

* filter compounds to save

* alter serialization

* include bmg controls

* fix test

* fix test #2

* Pipeline check and fixes (#120)

* change z-score calculation

* handle different echo files

* alter act/inh

* fix test

* fix tests & add exceptions button

* filter low quality plates

* change the origin

* Add url to EOS datable (#129)

* Add eos url

* Fix styling

* Save app settings to JSON file (#131)

* Save json from primmary screening

* clean

* pre-commit

* Rename methods and dicts

* Add saving settings in correlation and hit validation

* Style buttons

* closes 126 implement third process (#133)

* remove .venv from git tracking

* implement basic parsing

* implement file parsing and graph creation

* implement csv downloading

* remove unneeded files

---------

Co-authored-by: njytwf <[email protected]>

* closes 138 control hit plot (#139)

* fix initial process callbacks not setting stored uuid

* implement stacking control

* round top/bottom values

* closes 140 configuration for hit determination (#142)

* ui for controls

* parametrize hit determination

* connect state variables with the configuration callback

* remove whitespace

* Add plots to screening report (#143)

* Add data projections (#132)

* update combining process

* add data projection process

* add dropdowns

* add eos links, save file

* remove an outdated test

* alter combine_assays_for_projection

* add loading sign/dynamic table

* add controls to the report

* Revert "add controls to the report"

This reverts commit 14328d2.

* remove apply button

* add controls to the plot

* revert legacy change

* include both ACT & INH to projections

* update umap package version

* remove legacy, return uuid initially

* Implement SMILES predictor (#141)

* Train xgboost

* Predict on ecbd data

* Add smoter

* Save preds to pq

* Fix plotted eoses (#151)

* Add predictions to dashboard (#146)

* Add predictions to dashboard

* Add SMILES plotting

* Change predictions file to pq

* Add missing requirements

* Comment out umap (#153)

* Comment out umap

* Format notebook

* Update default projection

* merge inh/act into feature (#144)

* merge inh/act into feature

* remove functools.partial wrapper

* 136 Save individual EOS report (#155)

* Add statistics

* Create report

* Add concentration for 50% modulation

* Uppercase letter

* closes 147 app redesign 💅💅 (#154)

* navbar and homepage re-design

* make logo smaller, set correct logo src

* redesign about page

* reformat file

* add smartart to about page

* Correlation report (#157)

* Create report correlation

* Create report correlation

* Fix Correlation stage

* Add typing

* Fix concentration_50 statistic (#161)

* Create report correlation

* Fix concentration_50

* closes 159 minor UI adjustments (#160)

* add link

* make main pages responsive

* hit browser styling fixes

* adjust stacking controls styling

* replace buttons list with searchable dropdown for hit browser component selection

* fix individual report generation

* Add structural similarity (#156)

* Add structural similarity

* Small refactor

* Fix file upload

* Improve clustering

* Move plot to plots

* Update colors

* Export eos plots to the final report (#168)

* add report generation

* add dependencies

* alter saved plots

* fix: handle case when last page is of size 0 (#169)

* closes 165 update projections (#170)

* add 3d projection plots

* facilitate selected datapoints download for Visualization stage

* facilitate selected datapoints download for Similarity stage

* disable "Download selected" buttons when 3d plotting enabled

* 147 app redesign v2 (#162)

* unify plots view, add loaders

* add page blockers

* divide eos/echo loaders

* remove unnecessary comments

* change select file color

* correct heatmap loader

* alter upload text

* add info icon

* alter info icon position

* fix info icon

* Add ML experiment setup (#176)

* Add ml experiment setup

* Add feature selection, hp tuning and docs

* Split projection stage (#174)

* split stages

* add projections processes descriptions

* closes 166 minor styling (#175)

* unify precision in screening process

* fix unit display for concentration50

* add kaleido dependency

* unify precision in data projection process

* add thousands delimiter

* restyle controls to include process name

* replace screening statistics charts with bar plots

* adjust styling for tooltip

* allow to extend tooltip with custom styling

* add bottom padding to page container

* add tooltips to hit validation process

* move tooltip annotation to components module

* add tooltips to Screening process

* reduce process title size

* add tooltips to data projection process

* extend docstring of the annotating function

* add tooltips to correlation process

* adjust concentration slider desc

* update sliders tooltip descriptions for correlation

* adjust coloring of mean value bar plots

* add missing information in various descriptions

* render error message when user uploads less than 3 screening files in data projection process

* readd missing stage

* restore controls chart to scatter plot

* Update version (#179)

* Update version

* Remove dev

* fix responsiveness (#181)

* Add reproducibility (#177)

* Reproducing Screening and Correlation

* Reproducing Hit Validation

* Remove checkbox changning

* Change gitignore

* Add alerts

* Resolve

* Reports refactor (#178)

* Reproducing Screening and Correlation

* Reproducing Hit Validation

* Remove checkbox changning

* Create Header in reports

* Merge develop

* restore changes from broken branch (#185)

* After testing adjustments (#184)

* add projections smiles info

* add modulation_50/concentration_50 to report

* add low quality plate csv

* fix test

* correct typos/pca_smiles_summary

* remove pca_smiles_summary

* Add activity filtering (#171)

* Add activity filtering

* Update layout

* Add top and bottom thresholds

* Add lines and separate threshold change

* Add save button

* Move button and rename cols

* Update button

* Refactor uploading files (#187)

* Add text on upload

* Individual text

* Refactor

* Add missing words

* Resolve merge problem

* Bump version (#188)

---------

Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: azywot <[email protected]>
Co-authored-by: AndrzejKaj <[email protected]>
Co-authored-by: Agata <[email protected]>
Co-authored-by: njytwf <[email protected]>
zuzg added a commit that referenced this pull request Dec 19, 2023
* Release v2.1.0 (#189)

* feat: store user compounds data in the filesystem

* test: add unit tests to LocalFileStorage

* chore: add missing newlines, remove extra newlines

* Add base plate class

* Add plate reading from dir

* add missing dependencies

* echo file processing

* add echo files parser + tests

* update dependencies v2

* add missing newlines

* add missing newlines :))

* Add docs

* add suggestions

* resolve styling issue

* Refactor BMG files reading

* Add tests

* Add summary visualizations

* Modify summary tuple method

* Fix docstring

* Modify test for plate

* Optimize dataframe reading

* Define PlateSummary type

* 72 set up pre-commit (#75)

* Add pre-commit

* Add black workflow

* Reformat files

* 73 detect outliers control values (#77)

* Fix colours in control values plot

* Add outliers detection

* Add test for outliers

* Apply review fixes

* Fix tests

* Separate plate_array from df

* Fix typing and docs

* Change plot types

* Change plates viz to plotly

* 74 inhibitionactivation values (#79)

* Fix colours in control values plot

* Add outliers detection

* Add test for outliers

* Apply review fixes

* Fix tests

* Separate plate_array from df

* compute inhibition/activation

* merge activation/inhibition with echo files

* check upon the values

* fix combining echo bmg files

* drop unnecessary columns

* remove outliers from the resultant df

* split compounds/controls, add z-score

* add visualizations

* add tests

* improve docs and plot

---------

Co-authored-by: Zuza Gawrysiak <[email protected]>

* closes #80 general restructuring (#81)

* chore: merge src into dashboard

* update: set basic pages structure

* update: add stages placeholders to Primary Screening process

* chore: for the time being move old code to LEGACY folder, remove outdated layouts

* feat: add decorator for error handling

* fix: correct import in a unit test

* update: make data_folder a class attribute to facilitate global configuration

* fix: correct LocalFileStorage test

* chore: remove redundant style attr

* Plot improvements (#85)

* Filter low quality plates

* Make plot grid size modifiable

* Add z per plate plot

* Change template to plotly_white

* Apply review fixes

* Add plotly template as const

* Stage 1 and Stage 4 uploading (#86)

* Add reading ioFile in bmg

* Saving BML in Storage

* Add echo reading

* Add coments

* Resolve tests problems

* Pre-commit

* Pre-commit changes

* Solve problems

* Bmg refactor

* Bmg refactor

* Echo parser refactor

* Fix

* Fix comment

* 82 implement stage 2 (#90)

* fix: add correct name to elements property, set stages container style to take full width

* fix: subplots' titles not visibile correctly in heatmaps plot

* feat: implement paginated heatmap plates viewer

* add datatable for statistics preview, extend controls

* add docstring

* fix: sizing on smaller screens

* Add stage 3 in dash (#89)

* Add stage 3 in dash

* Add z threshold slider

* Refactor filtering lq plates

* Change return annotation

* 83 implement stage 5 in dashboard (#92)

* add stage 5 table

* add plots ad datatable

* add interactive z-score

* change act/inh/zscore plots

* add RangeSlider

* change data table styling

* resolve imports/typos

* Add stage 3 improvements (#95)

* Change view of stage 1 and 4 (#93)

* Change view of stage 1 and 4

* Resolve problems

* Divide info into two parts

* Change view

* Change view

* closes 96 update stage 2 layout (#97)

* adjust stage 2 layout

* hide plot controls

* disable zooming and panning on heatmap plots

* closes 98 add report stage revamp process controls (#99)

* add placeholder for stage 6

* add functional controls component

* remove old function for creating controls component

* add icons to prev/next stage buttons

* add border to controls component

* remove commented code

* closes 101 add correlation process (#104)

* chore: rename primary_screening package to screening

* update: rename primary-screening process page to screening

* update: dummy element to be created per-process page

* feat: add correlation process basis

* feat: fill in first stage html

* feat: add files parsing and validation placeholder

* feat: implement remaining stages

* Export screening results to csv file (#107)

* add save report v1

* download echo_bmg_combined.csv

* add custom csv name

* clean callbacks.py

* update delete_file

* remove custom file name

* remove imports

* fix csv export (#112)

* Report generation (#108)

* Generate simple raport

* Add storage for report data

* Add plot in raport

* Resolve problems

* Clean code

* Add secondary screening plots (#103)

* Add secondary screening plots

* Add concentration calculation

* Fix docstring

* Save report to download (#113)

* 115 deanonymize compounds (#117)

* Add eos

* Update regex

* Add eos to correlation stage

* Fix test

* Fix well naming issues

* Remove unnecessary changes

* Fix test

* Remove rows without eos

* closes 116 UI for hit validation process (#119)

* Add hit validation process page stages, implement first stage

* add parameters setting to first stage

* adjust parameter change callback

* implement second stage of hit validation process

* remove step from concentration bounds inputs

* reorder pages in nav bar

* Update INH/ACT/Z-SCORE plots (#114)

* add area charts

* add hline

* add ranges to act/inh

* add filter criteria

* add well/plate distinction

* filter compounds to save

* alter serialization

* include bmg controls

* fix test

* fix test #2

* Pipeline check and fixes (#120)

* change z-score calculation

* handle different echo files

* alter act/inh

* fix test

* fix tests & add exceptions button

* filter low quality plates

* change the origin

* Add url to EOS datable (#129)

* Add eos url

* Fix styling

* Save app settings to JSON file (#131)

* Save json from primmary screening

* clean

* pre-commit

* Rename methods and dicts

* Add saving settings in correlation and hit validation

* Style buttons

* closes 126 implement third process (#133)

* remove .venv from git tracking

* implement basic parsing

* implement file parsing and graph creation

* implement csv downloading

* remove unneeded files

---------

Co-authored-by: njytwf <[email protected]>

* closes 138 control hit plot (#139)

* fix initial process callbacks not setting stored uuid

* implement stacking control

* round top/bottom values

* closes 140 configuration for hit determination (#142)

* ui for controls

* parametrize hit determination

* connect state variables with the configuration callback

* remove whitespace

* Add plots to screening report (#143)

* Add data projections (#132)

* update combining process

* add data projection process

* add dropdowns

* add eos links, save file

* remove an outdated test

* alter combine_assays_for_projection

* add loading sign/dynamic table

* add controls to the report

* Revert "add controls to the report"

This reverts commit 14328d2.

* remove apply button

* add controls to the plot

* revert legacy change

* include both ACT & INH to projections

* update umap package version

* remove legacy, return uuid initially

* Implement SMILES predictor (#141)

* Train xgboost

* Predict on ecbd data

* Add smoter

* Save preds to pq

* Fix plotted eoses (#151)

* Add predictions to dashboard (#146)

* Add predictions to dashboard

* Add SMILES plotting

* Change predictions file to pq

* Add missing requirements

* Comment out umap (#153)

* Comment out umap

* Format notebook

* Update default projection

* merge inh/act into feature (#144)

* merge inh/act into feature

* remove functools.partial wrapper

* 136 Save individual EOS report (#155)

* Add statistics

* Create report

* Add concentration for 50% modulation

* Uppercase letter

* closes 147 app redesign 💅💅 (#154)

* navbar and homepage re-design

* make logo smaller, set correct logo src

* redesign about page

* reformat file

* add smartart to about page

* Correlation report (#157)

* Create report correlation

* Create report correlation

* Fix Correlation stage

* Add typing

* Fix concentration_50 statistic (#161)

* Create report correlation

* Fix concentration_50

* closes 159 minor UI adjustments (#160)

* add link

* make main pages responsive

* hit browser styling fixes

* adjust stacking controls styling

* replace buttons list with searchable dropdown for hit browser component selection

* fix individual report generation

* Add structural similarity (#156)

* Add structural similarity

* Small refactor

* Fix file upload

* Improve clustering

* Move plot to plots

* Update colors

* Export eos plots to the final report (#168)

* add report generation

* add dependencies

* alter saved plots

* fix: handle case when last page is of size 0 (#169)

* closes 165 update projections (#170)

* add 3d projection plots

* facilitate selected datapoints download for Visualization stage

* facilitate selected datapoints download for Similarity stage

* disable "Download selected" buttons when 3d plotting enabled

* 147 app redesign v2 (#162)

* unify plots view, add loaders

* add page blockers

* divide eos/echo loaders

* remove unnecessary comments

* change select file color

* correct heatmap loader

* alter upload text

* add info icon

* alter info icon position

* fix info icon

* Add ML experiment setup (#176)

* Add ml experiment setup

* Add feature selection, hp tuning and docs

* Split projection stage (#174)

* split stages

* add projections processes descriptions

* closes 166 minor styling (#175)

* unify precision in screening process

* fix unit display for concentration50

* add kaleido dependency

* unify precision in data projection process

* add thousands delimiter

* restyle controls to include process name

* replace screening statistics charts with bar plots

* adjust styling for tooltip

* allow to extend tooltip with custom styling

* add bottom padding to page container

* add tooltips to hit validation process

* move tooltip annotation to components module

* add tooltips to Screening process

* reduce process title size

* add tooltips to data projection process

* extend docstring of the annotating function

* add tooltips to correlation process

* adjust concentration slider desc

* update sliders tooltip descriptions for correlation

* adjust coloring of mean value bar plots

* add missing information in various descriptions

* render error message when user uploads less than 3 screening files in data projection process

* readd missing stage

* restore controls chart to scatter plot

* Update version (#179)

* Update version

* Remove dev

* fix responsiveness (#181)

* Add reproducibility (#177)

* Reproducing Screening and Correlation

* Reproducing Hit Validation

* Remove checkbox changning

* Change gitignore

* Add alerts

* Resolve

* Reports refactor (#178)

* Reproducing Screening and Correlation

* Reproducing Hit Validation

* Remove checkbox changning

* Create Header in reports

* Merge develop

* restore changes from broken branch (#185)

* After testing adjustments (#184)

* add projections smiles info

* add modulation_50/concentration_50 to report

* add low quality plate csv

* fix test

* correct typos/pca_smiles_summary

* remove pca_smiles_summary

* Add activity filtering (#171)

* Add activity filtering

* Update layout

* Add top and bottom thresholds

* Add lines and separate threshold change

* Add save button

* Move button and rename cols

* Update button

* Refactor uploading files (#187)

* Add text on upload

* Individual text

* Refactor

* Add missing words

* Resolve merge problem

* Bump version (#188)

---------

Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: azywot <[email protected]>
Co-authored-by: AndrzejKaj <[email protected]>
Co-authored-by: Agata <[email protected]>
Co-authored-by: njytwf <[email protected]>

* Add option to save processed dataset

* Update model params

---------

Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: Bartosz Stachowiak <[email protected]>
Co-authored-by: azywot <[email protected]>
Co-authored-by: AndrzejKaj <[email protected]>
Co-authored-by: Agata <[email protected]>
Co-authored-by: njytwf <[email protected]>
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.

4 participants