Skip to content

Conversation

@pchklm
Copy link
Collaborator

@pchklm pchklm commented Dec 11, 2024

This PR enables the user to skip between steps in order to quickly change parameters and then recalculate the entire workflow.

Changes

Everywhere o7

Testing

Test if steps still get correctly calculated.

PR checklist

Development

  • If necessary, I have updated the documentation (README, docstrings, etc.)
  • If necessary, I have created / updated tests.

Mergeability

  • main-branch has been merged into local branch to resolve conflicts
  • The tests and linter have passed AFTER local merge

Code review

  • I have self-reviewed my code.
  • At least one other developer reviewed and approved the changes

@henninggaertner
Copy link
Collaborator

You should take a look at #515 if you haven't yet to see whether this should be combined

@ronjakrg
Copy link
Collaborator

Is this already open for review or still a draft? I tried testing the new icons and apparently the "Calculate"-Button doesn't seem to work and if I open an existing run, all icons are set to the empty circle, although I have already calculated a few steps.

@github-actions
Copy link

github-actions bot commented Jan 23, 2025

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  protzilla
  disk_operator.py
  run.py 150
  run_helper.py
  steps.py 63, 66, 74, 78-79, 94, 153, 165, 167-168, 486, 651
  protzilla/data_analysis
  differential_expression_kruskal_wallis.py 227
  differential_expression_mann_whitney.py 266
  plots.py
  protein_graphs.py
  ptm_analysis.py 56, 123-125
  protzilla/data_integration
  database_query.py 113-119
  di_plots.py
  protzilla/data_preprocessing
  outlier_detection.py
  plots.py
  protzilla/importing
  ms_data_import.py 122, 276
  protzilla/methods
  data_analysis.py 21, 174, 250, 283, 308, 351, 916, 935
  data_preprocessing.py
  importing.py 144
  ui/main
  settings.py
  ui/runs
  fields.py
  views.py 21, 254, 288, 497, 701-710
  views_helper.py
  ui/runs/forms
  base.py 101-102, 105-107
  custom_fields.py 119
  data_analysis.py 323-327, 384, 414, 450, 473, 1188, 1226, 1248
  data_integration.py
Project Total  

The report is truncated to 25 files out of 60. To see the full report, please visit the workflow summary page.

This report was generated by python-coverage-comment-action

Copy link
Collaborator

@ronjakrg ronjakrg left a comment

Choose a reason for hiding this comment

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

Sehr schöner und verständlicher Code, und bereichert die Usability von PROTzilla enorm! 🔥 Habe nur kleinere Anmerkungen gemacht, zum Beispiel fehlende Leerzeichen und ein paar überflüssige Print-Statements. :)

Copy link
Collaborator

@sarahvgls sarahvgls left a comment

Choose a reason for hiding this comment

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

🐛 BUG 🐛
Ich finde es beeindruckend schade, dass die Tests das nicht abfangen, aber ich kann keinen Run erstellen lol. (Und auch keinen bisherigen testen)
Ich weiß nicht ganz woran es liegt, ob ich vielleicht irgendetwas falsch mache, aber das hier sind meine Beobachtungen: Ich dachte erst es wäre weil die Änderungen nicht backwards-compatible sind - was kein Problem gewesen wäre- aber ich kann leider auch keine Neuen erstellen. Das ist leider für die usability nicht ganz so praktisch haha

Die Landing Page startet und kann wie erwartet verwendet werden. Sobald ich einen alten Run öffne oder einen neuen erstelle können keine Schritte ausgeführt werden. Vielleicht funktioniert der calculate button nicht? Wenn ich clicke, sieht der Button ausgewählt aus (leichter roter Rahmen drum herum), aber es folgt keine Funktion - auch im Backend kommt nichts an:

[2025/02/08 - 14:50:09] [ INFO] Reading yaml from /Users/sarah/Documents/HPI/WS_24_25/BP-Renard/project/PROTzilla2/user_data/workflows/standard.yaml
[2025/02/08 - 14:50:09] [ INFO] "POST /runs/create HTTP/1.1" 302 0
[2025/02/08 - 14:50:09] [ INFO] "GET /runs/detail/test_new_skipping HTTP/1.1" 200 122168
[2025/02/08 - 14:50:09] [ INFO] "GET /static/img/incomplete_icon.svg HTTP/1.1" 304 0

Wenn ich reloade folgt jedes Mal das:

[2025/02/08 - 14:51:15] [ INFO] "GET /runs/detail/test_new_skipping HTTP/1.1" 200 122168
[2025/02/08 - 14:51:15] [ INFO] "GET /static/img/incomplete_icon.svg HTTP/1.1" 304 0

Ich kann zwischen den Schritten springen, aber es passiert halt nichts. Wenn ich andere Schritte als den Ersten versuche zu calculaten passiert gar nichts im Backend.

(Tests laufen problemlos durch leider, gepullt habe ich auch, Code ist auf Stand "add test")

@sarahvgls
Copy link
Collaborator

sarahvgls commented Feb 8, 2025

Habe nach etwas rumprobieren herausgefunden, dass der Unterschied an der Adresse liegt über die man PROTzilla aufruft:
Auf 127.0.01 funktioniert es - auf localhost (meinem Lesezeichen haha) nicht (port ist der gleiche).
Ich glaube das wäre etwas, was man sich noch mal anschauen sollte, da das unerwartetes Verhalten ist. Eigentlich sollten die beiden Adressen genau das gleiche Verhalten widerspiegeln...
(Auf 0.0.0.0, der dritten unserer erlaubten Adressen nach Django Settings (ui/main/settings.py) geht es auch!)

Copy link
Collaborator

@sarahvgls sarahvgls left a comment

Choose a reason for hiding this comment

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

Abgesehen vom localhost bug finde ich es super! Vielen Dank!
Ein paar kleine Anmerkungen von mir auch noch, aber sonst spitze :))

step = ImputationByMinPerProtein()
run_imported.step_add(step)
run_imported.step_goto(0, "data_preprocessing")
run_imported.step_goto(0, "data_preprocessing_wrong")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Warum wurde das geändert? Testet es dann nicht etwas ganz anderes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hier wurde getestet, dass wenn man nach vorne springen will, das nicht funktioniert. Aber genau die Funktionalität wurde ja umgeschrieben. Jetzt probiert er halt zu einem Step einer nicht existierenden Section zu springen. Der Test macht also bisschen was anderes aber hatte ihn trotzdem einfach mal drin gelassen weil mehr Tests immer gut :)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ahh fair! Dann sinnvoll :))

@pchklm
Copy link
Collaborator Author

pchklm commented Feb 11, 2025

Habe nach etwas rumprobieren herausgefunden, dass der Unterschied an der Adresse liegt über die man PROTzilla aufruft: Auf 127.0.01 funktioniert es - auf localhost (meinem Lesezeichen haha) nicht (port ist der gleiche). Ich glaube das wäre etwas, was man sich noch mal anschauen sollte, da das unerwartetes Verhalten ist. Eigentlich sollten die beiden Adressen genau das gleiche Verhalten widerspiegeln... (Auf 0.0.0.0, der dritten unserer erlaubten Adressen nach Django Settings (ui/main/settings.py) geht es auch!)

Hm, habs bei mir gerade mal getestet und bei mir funktioniert auch über localhost alles. Idk ob es da noch UNterschiede je nach Betriebssystem oder so gibt.

@pchklm pchklm requested review from ronjakrg and sarahvgls February 11, 2025 23:08
@sarahvgls
Copy link
Collaborator

Ich hab noch eine inhaltliche Frage: Wenn ich zb bei unserem Standard Workflow die steps in einer chaotischen Reihenfolge calculate (erst zweites Filter, dann imputation und dann erstes Filtern) Was passiert dann wenn mit dem nächsten Schritt der ausgeführt wird: Nimmt dieser den gefilterten und imputeten Inhalt von allen drei schritten (also werden die noch mal durchgecalculated) oder nur von zweitem Filter + imputation?
Ersteres fände ich sinnvoll, habe mich aber gerade beim ausprobieren gefragt, ob das nicht vielleicht anders ist und dann zu Fehlern führen könnte

@sarahvgls
Copy link
Collaborator

Übrigens: es geht plötzlich auf localhost. Ich habe leider keine Ahnung warum - ich hoffe mal, ich hatte irgendwas falsch gemacht haha

@pchklm pchklm merged commit 02a7f08 into dev Feb 17, 2025
1 check passed
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.

5 participants