-
Notifications
You must be signed in to change notification settings - Fork 53
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
Ftr peak ml #1361
base: develop
Are you sure you want to change the base?
Ftr peak ml #1361
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review part I
Added comments where I think some of the library-level code could be improved. Have yet to take a look at the front-end. Will do it in another sitting.
I did compile and try to test out basic functionality. Some comments here:
- The slider is not in the same line as the signal/noise range labels. It is also very glitchy when I drag any of the two slider controls. Clicking along the bar works well.
- The peak-detection dialog goes outside the bounds on my laptop screen (height-wise). Maybe we can have a separate PeakML tab in the detection dialog, even if it contains a handful elements. Anyhow, I feel some UI improvement can be made here.
- The application crashed for me when I set cohorts for 8 example files. I had already run one detection (with PeakML) once without setting the cohorts. Tried again, crashed on the first run - with samples cohorts set. Attached the crash log here. Seems to be the same “missing cookie file” thing we talked about before.
Could not test further because of the crash happening every time now. Once you fix it, I will try out a few more things. Quite a bit has changed since I last worked on this branch.
Thank you @saifulbkhan for your reviews. Sorry, for the repeated crash. I will make the required changes soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review part II:
- I was able to get it to not crash when I logged out of EPI and then logged back in when selecting “Peak curation” before doing peak detection. Also is “Peak curation” the right thing to call it? Should it not be something like “Use PeakML to classify peaks”? Maybe get some input from Richa and Surbhi on this.
- Even when I was able to get it to work without crashing I do not get any classification. The “Label” column was blank for all peak-groups.
- When PeakML is not able to classify anything I get “nan%” values in the label-filtering dropdown in peak tables. It should instead display “NA” or “0%”.
- Another thing that came to my mind: are we taking care of saving enough state in the emDB sessions? Such that reloading the file restores all of the data and state as it was when saved? UI state positioning and visibility excluded, of course.
Also added some more comments on the code. Please make changes wherever required.
Still need to review 15 or so file. Will do in another sitting, next week. Hopefully you will have made changes to fix some of the blocking issues.
if(checked){ | ||
getLoginForPeakMl(); | ||
} | ||
else{ | ||
peakMlSet = false; | ||
mainwindow->mavenParameters->peakMl = false; | ||
modelTypes->setEnabled(false); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add analytics here too? Mixpanel would be preferable over GA. Since it gives us a better idea of who was interested in PeakML. But as I mentioned before, the current label for this group-box does not really hint at some cool ML tech.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't added it till now, was facing an issue. It will be resolved asap.
9fd1666
to
f77cc66
Compare
Codecov Report
@@ Coverage Diff @@
## develop #1361 +/- ##
===========================================
+ Coverage 45.45% 54.33% +8.88%
===========================================
Files 58 56 -2
Lines 9889 9310 -579
===========================================
+ Hits 4495 5059 +564
+ Misses 5394 4251 -1143
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review part III - leaving some more comments here. Will do user-based testing now based on the feature document that you shared earlier. Might do this today itself.
src/gui/mzroll/tabledockwidget.cpp
Outdated
@@ -2827,6 +3658,7 @@ void ScatterplotTableDockWidget::setupPeakTable() { | |||
colNames << "Max quality"; | |||
colNames << "MS2 score"; | |||
colNames << "#MS2 events"; | |||
colNames << "Probability"; // TODO: add this column conditionally |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't you think we should name this "Classification probability" instead? Ignore if this decision was made after discussion already.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure..Will discuss it with Richa and change it accordingly.
@@ -35,7 +36,7 @@ PollyIntegration::PollyIntegration(DownloadManager* dlManager): | |||
nodeModulesPath = binDir + "node_modules" + QDir::separator(); | |||
#endif | |||
|
|||
indexFileURL = "https://raw.githubusercontent.com/ElucidataInc/polly-cli/master/prod/index.js"; | |||
indexFileURL = "https://raw.githubusercontent.com/sakshikukreja14/polly-cli/ftr_moi_api/prod/index.js"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am going to keep this comment up so that the branch does not get merged without this change.
@sakshikukreja14 A few comments from previous reviews have not been resolved because I do not see the requested changes. Do take a look. |
@saifulbkhan sure will resolve the comments soon. Sorry, for missing out on some previously. |
12abfc2
to
8a7fa58
Compare
8a7fa58
to
575283e
Compare
@sakshikukreja14 Adding another usability review for PeakML:
Everything else seems to be working as it should. The QA team might have some more feedback since they will probably play around with it more than I could. |
7e8f04f
to
48f045f
Compare
8b2c36f
to
dd494f5
Compare
4175171
to
7373061
Compare
14fbb98
to
0e8f61b
Compare
This is done because moi sometime takes time to run depending on the no. of peaks, and user might think the system is hanged. Hence, showing progress at different steps
Polly-phi didn't work because of the extra classified label in peak tables. This has been corrected by removing extra columns in case of polly export
Change the predicted_label column name to peakML_label_id and added an extra column that would export labels in string format. This is done because the upt add in downstream needed this extra column
Added a warning for the user if he tries to access peakML without uploading the cohort file.
d54f98c
to
cd732d8
Compare
When sorted on label, marking group good or bad pushes it down on the sorted positon. It is fixed by enabling and disabling sorting.
No description provided.