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

Update webapp dependencies #100

Merged
merged 24 commits into from
Jul 1, 2024
Merged

Update webapp dependencies #100

merged 24 commits into from
Jul 1, 2024

Conversation

Dialpuri
Copy link
Collaborator

@Dialpuri Dialpuri commented Jun 15, 2024

What's Changed

  • Updated to gemmi 0.6.5 from 0.5.8
  • Added temporary fix for Firefox
  • Updated clipper-gemmi version
  • Moved from sajson to simdjson
  • Remove gemmi from the file reading in privateer-bind.cpp

Testing

This is a large pull request which changes a lot of the backend, the following must be tested on Chrome and Firefox at the minimum but also Safari preferably.

  • Search a CIF only (7nyd) file - should work on Chrome and fail on Firefox
  • Search a PDB file (5fji) - should work on both
  • Upload PDB file - should work on both
  • Upload CIF file - should display error message on FireFox and work on Chrome
  • Quick tests on database and stats page

Dialpuri and others added 8 commits June 15, 2024 09:10
Added a new include gemmi/polyheur.hpp to privateer-bind.cpp to enhance polyheuristic functionality. Also fixed an issue in privateer-json.h where the sajson library was being included from gemmi package that may lead to 'multiple definition of enum' errors. The correct include path is now used.
In this commit, the arrangement of the files in CMakeLists.txt has been significantly simplified. In gemmi/CMakeLists.txt, the static library gemmi_cpp is changed to a regular library and globbing is used to include header files instead of listing them individually. Similarly, in the main CMakeLists.txt, unnecessary code blocks for testing mode or ccp4srs have been removed and some modifications have been done on setting flags and file paths.
Changed the method of fetching Clipper's source from "bzr checkout" to downloading and extracting a tarball. For Gemmi, updated the version being fetched from 0.5.8 to 0.6.5. These changes reflect more updated and efficient ways of acquiring these sources.
This commit adds the 'detect-browser' package and uses it within the fetchPDBFile function. This change handles a unique situation where Firefox fails to work with CIF files, so for Firefox users, it fetches PDB files instead.
String references were harmonized to single quotation marks (' ') for standardization purposes. This change particularly affects the import statement from 'detect-browser' and the browser name check condition for 'firefox'.
@glycojones
Copy link
Owner

glycojones commented Jun 15, 2024 via email

Dialpuri and others added 16 commits June 16, 2024 11:38
The return types for both fetchPDB and fetchPDBFile methods have been updated. These functions now return a tuple including the file content and its filename extension instead of just the text. This change provides more detailed information about the fetched files.
A 'detect-browser' package has been imported to check the kind of browser the user is employing. Introduced handling for CIF files which are currently unsupported on Firefox. New logic is now in place to handle the behavior for Firefox users to guide them to use an alternate browser.
The function 'read_molecule' in privateer-bind.cpp has been refactored for simplicity and efficiency. It now uses a direct file read operation instead of converting the file content to a character array first. The function also now checks if the molecule's spacegroup is null and performs initialization if required.
Modified the browser check condition for Firefox to include both 'cif' and 'mmcif' file extensions. This is to prevent potential issues since these types of files are currently unsupported on the Firefox browser.
Updated source for checking out libccp4 and mmdb2 packages, replacing lightweight bzr checkout with tarball downloads to improve reliability and performance. Refactored CMakeLists.txt to better handle zlib inclusion, providing a fallback to a third-party source when not found in the system.
The method of including the sajson.h header file has been changed from directly calling it from gemmi to calling it from a third-party location.
This update includes changes in webapp/package-lock.json that reflect the updated puppeteer version and related dependencies. It
@Dialpuri Dialpuri merged commit ecbd434 into webapp Jul 1, 2024
3 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