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

Dhanmoni gsoc21 toppview #5720

Merged
merged 47 commits into from
Jan 7, 2022
Merged

Dhanmoni gsoc21 toppview #5720

merged 47 commits into from
Jan 7, 2022

Conversation

timosachsenberg
Copy link
Contributor

@timosachsenberg timosachsenberg commented Dec 22, 2021

Description

supersedes #5489 and adds a button to switch between horizontal and vertical table layout
image

Checklist:

  • Make sure that you are listed in the AUTHORS file
  • Add relevant changes and new features to the CHANGELOG file
  • I have commented my code, particularly in hard-to-understand areas
  • New and existing unit tests pass locally with my changes
  • Updated or added python bindings for changed or new classes. (Tick if no updates were necessary.)

How can I get additional information on failed tests during CI:

If your PR is failing you can check out

Note:

  • Once you opened a PR try to minimize the number of pushes to it as every push will trigger CI (automated builds and test) and is rather heavy on our infrastructure (e.g., if several pushes per day are performed).

Advanced commands (admins / reviewer only):

  • /rebase will try to rebase the PR on the current develop branch.
  • /reformat (experimental) applies the clang-format style changes as additional commit
  • setting the label NoJenkins will skip tests for this PR on jenkins (saves resources e.g., on edits that do not affect tests)

dhanmoni and others added 30 commits June 24, 2021 15:50
…end to JS instead of looping through data each time we click on sequence, some debug messages removed
…essions if we have multiple of them; code cleanup
.gitignore Outdated Show resolved Hide resolved
@@ -1488,6 +1501,10 @@ namespace OpenMS
{
if (!ws_.currentSubWindow())
{
if (activeSubwindowID_ < (Size) ws_.subWindowList().size())
Copy link
Contributor

Choose a reason for hiding this comment

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

i'm not sure what this is doing...
if the subwindow is currently empty, why return the "old" one?
What happens if the window was closed?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it had something to do with focus.
If the plot area is not focussed, you get a nullptr for currentSubwindow.
But I think some other code depends on getting information from the currently visible (but not active)
spectra plot.
Not sure if I explained that well.

'Content-Type': 'application/json'
}
})
if (!response.ok) {
Copy link
Contributor

Choose a reason for hiding this comment

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

what if ebi website is down?

Then it throws an error. Ok.
But what does that mean for the interface? Is it a messagebox or does it close the app?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it leaves the "browser" window half loaded without the sequence and throws an error in the "website log" (i.e. in the "Chrome tools" or equivalent view)

void SpectraTreeTab::itemSelectionChange_(QTreeWidgetItem* current, QTreeWidgetItem* previous)
{
/* test for previous == 0 is important - without it,
the wrong spectrum will be selected after finishing
the execution of a TOPP tool on the whole data */
if (current == nullptr || previous == nullptr)
// WUT????
if (current == nullptr)
Copy link
Contributor

Choose a reason for hiding this comment

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

has this been verified?
The test for previous was there for a reason?!

Copy link
Contributor

Choose a reason for hiding this comment

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

Not really, but this cannot be the solution to whatever problem this is trying to solve.
With this, you cannot ever set a selection if nothing was selected previously.

Copy link
Contributor

Choose a reason for hiding this comment

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

The problem was, if i remember correctly, that TOPPView crashed.
Hence the extra check.
So now it crashes again, given the right circumstances, but we can set a selection?
Seems like this needs some investigation...

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes true, I think whatever made it crash should probably be fixed instead of restricting other functions just to be safe.

@timosachsenberg can you quickly check? You have it built already.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure what exactly?

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry on phone

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Didn't crash now but still a lot of strange stuff happening when e.g., switching between ID and spectra view, running tools on them etc. :) also not sure how reproducible that crash was (but I am pretty sure that there was a crash as @cbielow pointed out)

Copy link
Contributor

Choose a reason for hiding this comment

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

Still? Or worse? 😆

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hehe no still :) the usual strange stuff in TOPPView

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok yes, I remember still having issues as well.

j["accession_num"] = accession_num;
j["protein_sequence_data"] = pro_seq;
j["peptides_data"] = pep_data;
backend_.m_json_data_obj_ = j;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

can this be a move? or not necessary because "QJsonObject is an implicitly shared class, and shares the data with the document it has been created from as long as it is not being modified."

@jpfeuffer jpfeuffer merged commit 88689f5 into develop Jan 7, 2022
@jpfeuffer jpfeuffer deleted the dhanmoni_gsoc21_toppview branch January 7, 2022 21:29
@timosachsenberg
Copy link
Contributor Author

Thanks!

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.

None yet

4 participants