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

Handling large BLAST results #682

Merged
merged 3 commits into from Sep 29, 2023
Merged

Conversation

tadast
Copy link
Collaborator

@tadast tadast commented Sep 27, 2023

Sometimes when the queries are large and the database set is big, the search results can take up hundreds of megs or even gigabytes. Sequenceserver has an elegant way to gradually render and visualise large result sets, but it is browser and user machine-dependent whether the browser will be able to hold that many DOM elements on the page without struggling. Add a gentle user warning notifying them about the risk and allowing them to download raw result files and allowing the user to opt-in to a large result render in the browser.

Also:

  • updates packages-lock.json - npm was complaining it was using the old format.
  • Do a light refactoring to make report generation more explicit v.s. invoking it in the initializer - see commit note for justifications

Just ran npm install and it complained the lockfile format is old
and updated it.
@ghost
Copy link

ghost commented Sep 27, 2023

👇 Click on the image for a new way to code review

Review these changes using an interactive CodeSee Map

Legend

CodeSee Map legend

Browsers might struggle to render large result sets. There's no
reliable way to know, so pick an arbitrary size and warn the user,
giving them a choice of downloading tabular data for local analysis
or attempting to render the large result.
Invoking a method that has side-effects (calculating and assigning values,
generating files etc) as a part of the initializer makes the objects
much harder to test and work with. When working with reports, make
result generation explicit, rather than directly invoking it as soon
as the object is initialized.
@yannickwurm yannickwurm merged commit 165bcdd into wurmlab:master Sep 29, 2023
3 of 5 checks 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.

None yet

2 participants