Skip to content
This repository has been archived by the owner on Dec 5, 2024. It is now read-only.

Commit

Permalink
Dev (#180)
Browse files Browse the repository at this point in the history
* Speed up motif generation (#71)

* fix travis runs (#79)

* ignore protein active sites with 2 or less residues (#76)

* Add alt locations to residues (#74)

* Add alt locations to residues

* Backend rmsd (#78)

* Add alt locations to residues

* Add rmsd calculation to backend

* File receive endpoint (#81)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Throw a 404 message if a motif is not found with a PDB id (#85)

* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be included in alignments
* Throw a 404 message if a motif is not found with a particular id

* Cors config (#87)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Enable CORS for dev profile

* Swagger UI & InvalidPdbIdException (#86)

* Add swagger to the Alignment controller
* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be incldued in alignments
* Throw a 404 message if a motif is not found with a particular ID
* Query the PDB with Optionals so that an alignment request with multiple ids does not return a 500 on one failure; Return 404 if all ids fail
* Add the exception to the ExceptionHandler instead of addressing in controller; Remove unused import in AlignmentService
* Update to refer to exception directly
* ApiIgnore the update motifs tasks, doesn't need to be publicly listed; Rename get methods so they aren't used by Swagger; Add api documentation docket to application
* Finished merging - Fixed imports;  Switch to Uppercase in PdbQueryResponse so that we don't have to use structure object for information we just touched
* Add Swagger annotations to other controllers; Remove /error from Swagger UI
* Remove todo because this is done now

* Add precision factor (#90)

* Add unknown ec number (#89)

* Add unknown ec number
* Include "unknown" ec number motifs in database query results even when there is one included for the filter

* Add EC Class to the response for an alignment (#92)

* Add cartesian product to alignment (#88)

* Add cartesian product to alignment
* Re-add precisionFactor to alignActiveSites (interior private method)
* Update src/main/java/org/moltimate/moltimatebackend/service/AlignmentService.java

Co-Authored-By: jmiller656 <[email protected]>

* Fix bug where we are not using the motif structure (#95)

* Fix bug where we are not using the motif structure and as a result RMSD and at a higher level motif search fails

* Deploment changes (#94)

* =Make Deployment Fixes

* Make precision factor a double instead of an int (#96)

* Make precision factor a double instead of an int
Use l2Norm when adjusting the error margin to get more accurate results

* Include @jmiller's comment explaining some of the math
Move 2d to a variable and include comment there

* Add a moltimate banner (#93)

* Motif testing (#91)

* Alignment Service updated to give access to "alignActiveSites" through a list of structures
Created InvalidFileException to address the cases where a structure file is uploaded and we are not able to parse it
Added InvalidFileException to ExceptionHandler
* Moved check if 0 structures returned by the PDB to inside the PdbQueryResponse so that the check doesn't need to be replicated
* Query the PDB for Homologues and perform alignments to test a motif
* Improved random to utilize the list of all PDB ids so that we do not have to query as many fake ids.
* Put a max on number of random entries that can be compared

* Add cors for prod (#98)

* Cache money (#99)

* Add cache

* Make an endpoint that is a pass-through for the pdb to get the list of all current pdb ids (#102)

* Add motif creation/decoding (#103)

* Add motif creation/decoding

* CresteMotifFile method with structure

* Rename variable

* Refactor method to remove duplicate code

* Update Motif Testing & Speed up alignments (#106)

* Replacing streams with loops
* Move Caching to the production profile instead of application-wide
* Remove several objects which are updated but not referenced
* Make the stream parallel inline instead of inside of an additional function, to streamline how stack frames are opened
* Update MotifTestService to reflect changes in AlignmentService
* Adjust logging of results to report on entries in the results map, not the results map overall
* Return the first entry only if the size is exactly 1 (prevents index out of bounds)

* Custom Structures (#107)

* When getting a structure from a file we can not guarantee that they will provide it in the .motif format

* Form data update - motif maker (#108)

* Since we are taking in strings from form-data now we cannot go directly to residues
Expand createMotifFile to use custom structure if one is provided

* Create a FailedAlignment dto and MotifTestResponse to make the response more complete
Group the request/responses in subfolder as dto folder was getting crowded

* Revert "Create a FailedAlignment dto and MotifTestResponse to make the response more complete"

This reverts commit e6c30b47e314cc2105437284037c9aa8b8a1364d.

* Clean up active site parsing logic (#110)

* Improve Response Formats (#111)

* Improve the response objects to have more consistent keys so that parsing them is easier
* Update MotifRepository: Ignore case at JPA level instead of at the top level
* Change max and min distance (which had been the same number) to the name Levenstein distance

* make variable names uniform so that logic in the frontend can share functionality across search and test (#113)

* Cache monet (#114)

* Embedded frontend for deployment to streamline deployment
* Stop using `@Cacheable` so that we have better control over the cached information
  * Use ben-manes.caffeine to achieve caching
  * Limit the size of the cache to a particular number of objects
* Moved Healthcheck to `\healthcheck` so that the frontend can be put on `\`

* Minor Caching & Style updates (#115)

* Update cache population so that writes do not compete (now if one attempts a get while the other is processing it will wait and return the value computed by the other process)
* Favicon changed to .png so that it is unique against spring's favicon
* Favicon reference added to index.html

* Add database for alignments (#116)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fix cache (#125)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fixes #117

* Not sure how old cache snuck back

* Bring db back

* Removed unused functions: extractCustomMotifsFromFiles & addFailedPdbId
Use all arguments constructor in clone methods
Remove unused DB call

* Update Frontend to commit 566a4589275cbdc7a772bc8774c2518cd17856a9
Add a log statement that filtering is occurring

* Faster align (#126)

* Add database for alignments

* Hide unnecessary JSON values

* Fixes #117

* Use newer Biojava calls, cache structures

* Add constant for unknown EC number

* Fix database insert (#128)

* Fixes database insert and cache log message

* Fixes #127

* Restructure/rename directories and files (#118)

* Bump POM version to 1.0.0

* mysql application yml (#129)

* MOL-10: Adding development CI (#130)

Added a deploy path for travis-ci to build the dev branch and
deploy a new version to GCloud AppEngine without overwriting
the master instance.
Fixed version line for dependency in pom.xml

* Moving app.yaml back to toplevel (#133)

* Wrote tests for all testable nontrivial paths for the Util package. (#132)

* Mol 3 controller tests (#131)

* Wrote tests for all testable paths for the Controller package.

* Made constructors package private and removed import.

* Added tests for Csa and Promol Active Site Parsers (#135)

* Added tests for Ec Number Validator. (#134)

* MOL-10: CI Pipeline (#136)

Enable proper CI pipeline to deploy any changes made to the dev or master branches of the repository. While the changes may be small, they reflect a vast increase in understanding of travis-CI and Google Cloud Platform.

* Added tests for Service classes. (#137)

* Added model classes to represent a Ligand PDBQT file. Added a static parse function to create a Ligand object from the text of a PDBQT file, and added a toString to rebuild original file's text. Added tests for parsing and toString. (#138)

* Both Active Site parsers now pull from the local resources, rather than directly from github. Test motif files were failing due to messed up line endings when pulling from dev, switched from /r/n to just /n. (#139)

* Merge MOL-35 into dev (#140)

* Created controller and service classes for ligand docking. Renamed Ligand model class to PDBQT so it can be used for proteins and docked files. Wrote some basic tests for new endpoint.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Merge MOL-4 into dev (#141)

* Added a Motif Test case (not currently functioning)

* Completed Motif tests. Added residue tests.

* Added an endpoint to allow export of ligand docking information to a csv file. (#142)

* MOL-36: Front-End integration at build time (#143)

* MOL-36: Front-End integration at build time

Implementing the front-end automated integration, whereby we pull
the latest front-end code from GCS rather than having it checked
into github.

* fixed resource location

* front-end inclusion via maven

* profile test

* dp v1

* switch to dpl v2 on travis-ci

* Added demo development mvn profile, for cloud connection with dev frontend

* Fixed springboot profile for dev deploy

* Set phase for front-end inclusion

* Remove demo branch from deploy config

* Merge MOL 19 and 37 into dev (#144)

* Implemented the integration between the server and the Docker deployments for docking. Implemented some test endpoints to mock docker containers.

* Updated implementation to work with final version of API's.

* # Conflicts:
#	src/main/java/org/moltimate/moltimatebackend/controller/DockingController.java
#	src/main/java/org/moltimate/moltimatebackend/service/DockingService.java

* Merged dev into branch. Removed unneeded test endpoints.

* Reverted test packages to only be in test step.

* Fix spelling of ligand

* Removed duplicate method

* Removed duplicate method

* MOL-15: Added LigandService and LigandController, changes to DockingS… (#145)

* MOL-15: Added LigandService and LigandController, changes to DockingService

Added LigandService and LigandController to accomodate api requests
for ligands associated with a given EC.
Modified DockingService and DockingRequest to allow for LigandID
in place of a Ligand file, which will be used by LigandService
to get the file
Added DockingUtils to encapsulate some shared file functionality

* Removed unused imports, changed return type of fetchLigand

* Added Ligand service to API readme

* MOL-62: Added Macromolecule by ID for docking (#146)

Added macromoleculeID field to Docking Request, and added
fetchMacromolecule method to DockingService for getting the pdb file.
Also changed LigandService.fetchLigand to take only the ligandID, not
the whole request object.

* MOL-65: updateMotifs fix (#147)

Updated biojava and spring dependencies to prevent arbitrary failures
Added retryable getEcNumber method to LigandService to avoid 429
errors on retrieving pdb information
Enabled Spring retryable in dev and prod profiles

* MOL-71: Environment Variable control of container IP addresses (#149)

* MOL-71: Environment Variable control of container IP addresses

Added env variable specification to application.properties
Added env_variables.yaml to transfer env variables to appengine
Added set-env-variables.sh to populate env_variables.yaml from
build environment env variables

* Merge MOL-64 into Dev (#148)

* Cleaned up branch from MOL-64-Docking-Endpoint branch.
Made changes to DockingService to support new workflow.
Updated README.

* Added handling for when ligand/macromolecule file dis omitted

* Changed name of storage_hash parameter to jobId

* Changed name of jobId parameter to babelJobId

* Removed Print statements

* Updates to readme

* Fixes some issues with centering the docked ligand. (#150)

* bump guava version, re CVE-2018-10237 (#151)

* Molt 124 refresh ligand library (#152)

* Added API call to RCSB search to get all pdb ids in an ec class

* Add parsing of the results

* Remove dependencies

* test fix

* Fix typo

* Mol 152 update apis (#153)

* update getting ec class methods

* Get EC Class catching proper errors

* Adding request to get ligands

So far have not found an api call that can get ligands of an ec class or ligands of multiple pdb ids. This implementation gets ligands for each pdb. however some don't seem to have ligands so throwing a null pointer

* Ligand Service null pointer fixed, returns proper list conversion

* Updated the pdbXML client to take in the new apis and use json

Co-authored-by: jbz6587 <[email protected]>

* Mol-116 (#155)

* Atom replacement for PDB, SDF, CIF

* Passing protein file to OpenBabel

* Mol 139 (#157)

* update getting ec class methods

* Get EC Class catching proper errors

* Adding request to get ligands

So far have not found an api call that can get ligands of an ec class or ligands of multiple pdb ids. This implementation gets ligands for each pdb. however some don't seem to have ligands so throwing a null pointer

* Ligand Service null pointer fixed, returns proper list conversion

* docking pdb is shown on the front end as well as docking information

* fix merge mistake

Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: jbz6587 <[email protected]>

* Future prod (#164)

* Dev (#154)

* Speed up motif generation (#71)

* fix travis runs (#79)

* ignore protein active sites with 2 or less residues (#76)

* Add alt locations to residues (#74)

* Add alt locations to residues

* Backend rmsd (#78)

* Add alt locations to residues

* Add rmsd calculation to backend

* File receive endpoint (#81)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Throw a 404 message if a motif is not found with a PDB id (#85)

* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be included in alignments
* Throw a 404 message if a motif is not found with a particular id

* Cors config (#87)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Enable CORS for dev profile

* Swagger UI & InvalidPdbIdException (#86)

* Add swagger to the Alignment controller
* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be incldued in alignments
* Throw a 404 message if a motif is not found with a particular ID
* Query the PDB with Optionals so that an alignment request with multiple ids does not return a 500 on one failure; Return 404 if all ids fail
* Add the exception to the ExceptionHandler instead of addressing in controller; Remove unused import in AlignmentService
* Update to refer to exception directly
* ApiIgnore the update motifs tasks, doesn't need to be publicly listed; Rename get methods so they aren't used by Swagger; Add api documentation docket to application
* Finished merging - Fixed imports;  Switch to Uppercase in PdbQueryResponse so that we don't have to use structure object for information we just touched
* Add Swagger annotations to other controllers; Remove /error from Swagger UI
* Remove todo because this is done now

* Add precision factor (#90)

* Add unknown ec number (#89)

* Add unknown ec number
* Include "unknown" ec number motifs in database query results even when there is one included for the filter

* Add EC Class to the response for an alignment (#92)

* Add cartesian product to alignment (#88)

* Add cartesian product to alignment
* Re-add precisionFactor to alignActiveSites (interior private method)
* Update src/main/java/org/moltimate/moltimatebackend/service/AlignmentService.java

Co-Authored-By: jmiller656 <[email protected]>

* Fix bug where we are not using the motif structure (#95)

* Fix bug where we are not using the motif structure and as a result RMSD and at a higher level motif search fails

* Deploment changes (#94)

* =Make Deployment Fixes

* Make precision factor a double instead of an int (#96)

* Make precision factor a double instead of an int
Use l2Norm when adjusting the error margin to get more accurate results

* Include @jmiller's comment explaining some of the math
Move 2d to a variable and include comment there

* Add a moltimate banner (#93)

* Motif testing (#91)

* Alignment Service updated to give access to "alignActiveSites" through a list of structures
Created InvalidFileException to address the cases where a structure file is uploaded and we are not able to parse it
Added InvalidFileException to ExceptionHandler
* Moved check if 0 structures returned by the PDB to inside the PdbQueryResponse so that the check doesn't need to be replicated
* Query the PDB for Homologues and perform alignments to test a motif
* Improved random to utilize the list of all PDB ids so that we do not have to query as many fake ids.
* Put a max on number of random entries that can be compared

* Add cors for prod (#98)

* Cache money (#99)

* Add cache

* Make an endpoint that is a pass-through for the pdb to get the list of all current pdb ids (#102)

* Add motif creation/decoding (#103)

* Add motif creation/decoding

* CresteMotifFile method with structure

* Rename variable

* Refactor method to remove duplicate code

* Update Motif Testing & Speed up alignments (#106)

* Replacing streams with loops
* Move Caching to the production profile instead of application-wide
* Remove several objects which are updated but not referenced
* Make the stream parallel inline instead of inside of an additional function, to streamline how stack frames are opened
* Update MotifTestService to reflect changes in AlignmentService
* Adjust logging of results to report on entries in the results map, not the results map overall
* Return the first entry only if the size is exactly 1 (prevents index out of bounds)

* Custom Structures (#107)

* When getting a structure from a file we can not guarantee that they will provide it in the .motif format

* Form data update - motif maker (#108)

* Since we are taking in strings from form-data now we cannot go directly to residues
Expand createMotifFile to use custom structure if one is provided

* Create a FailedAlignment dto and MotifTestResponse to make the response more complete
Group the request/responses in subfolder as dto folder was getting crowded

* Revert "Create a FailedAlignment dto and MotifTestResponse to make the response more complete"

This reverts commit e6c30b47e314cc2105437284037c9aa8b8a1364d.

* Clean up active site parsing logic (#110)

* Improve Response Formats (#111)

* Improve the response objects to have more consistent keys so that parsing them is easier
* Update MotifRepository: Ignore case at JPA level instead of at the top level
* Change max and min distance (which had been the same number) to the name Levenstein distance

* make variable names uniform so that logic in the frontend can share functionality across search and test (#113)

* Cache monet (#114)

* Embedded frontend for deployment to streamline deployment
* Stop using `@Cacheable` so that we have better control over the cached information
  * Use ben-manes.caffeine to achieve caching
  * Limit the size of the cache to a particular number of objects
* Moved Healthcheck to `\healthcheck` so that the frontend can be put on `\`

* Minor Caching & Style updates (#115)

* Update cache population so that writes do not compete (now if one attempts a get while the other is processing it will wait and return the value computed by the other process)
* Favicon changed to .png so that it is unique against spring's favicon
* Favicon reference added to index.html

* Add database for alignments (#116)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fix cache (#125)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fixes #117

* Not sure how old cache snuck back

* Bring db back

* Removed unused functions: extractCustomMotifsFromFiles & addFailedPdbId
Use all arguments constructor in clone methods
Remove unused DB call

* Update Frontend to commit 566a4589275cbdc7a772bc8774c2518cd17856a9
Add a log statement that filtering is occurring

* Faster align (#126)

* Add database for alignments

* Hide unnecessary JSON values

* Fixes #117

* Use newer Biojava calls, cache structures

* Add constant for unknown EC number

* Fix database insert (#128)

* Fixes database insert and cache log message

* Fixes #127

* Restructure/rename directories and files (#118)

* Bump POM version to 1.0.0

* mysql application yml (#129)

* MOL-10: Adding development CI (#130)

Added a deploy path for travis-ci to build the dev branch and
deploy a new version to GCloud AppEngine without overwriting
the master instance.
Fixed version line for dependency in pom.xml

* Moving app.yaml back to toplevel (#133)

* Wrote tests for all testable nontrivial paths for the Util package. (#132)

* Mol 3 controller tests (#131)

* Wrote tests for all testable paths for the Controller package.

* Made constructors package private and removed import.

* Added tests for Csa and Promol Active Site Parsers (#135)

* Added tests for Ec Number Validator. (#134)

* MOL-10: CI Pipeline (#136)

Enable proper CI pipeline to deploy any changes made to the dev or master branches of the repository. While the changes may be small, they reflect a vast increase in understanding of travis-CI and Google Cloud Platform.

* Added tests for Service classes. (#137)

* Added model classes to represent a Ligand PDBQT file. Added a static parse function to create a Ligand object from the text of a PDBQT file, and added a toString to rebuild original file's text. Added tests for parsing and toString. (#138)

* Both Active Site parsers now pull from the local resources, rather than directly from github. Test motif files were failing due to messed up line endings when pulling from dev, switched from /r/n to just /n. (#139)

* Merge MOL-35 into dev (#140)

* Created controller and service classes for ligand docking. Renamed Ligand model class to PDBQT so it can be used for proteins and docked files. Wrote some basic tests for new endpoint.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Merge MOL-4 into dev (#141)

* Added a Motif Test case (not currently functioning)

* Completed Motif tests. Added residue tests.

* Added an endpoint to allow export of ligand docking information to a csv file. (#142)

* MOL-36: Front-End integration at build time (#143)

* MOL-36: Front-End integration at build time

Implementing the front-end automated integration, whereby we pull
the latest front-end code from GCS rather than having it checked
into github.

* fixed resource location

* front-end inclusion via maven

* profile test

* dp v1

* switch to dpl v2 on travis-ci

* Added demo development mvn profile, for cloud connection with dev frontend

* Fixed springboot profile for dev deploy

* Set phase for front-end inclusion

* Remove demo branch from deploy config

* Merge MOL 19 and 37 into dev (#144)

* Implemented the integration between the server and the Docker deployments for docking. Implemented some test endpoints to mock docker containers.

* Updated implementation to work with final version of API's.

* # Conflicts:
#	src/main/java/org/moltimate/moltimatebackend/controller/DockingController.java
#	src/main/java/org/moltimate/moltimatebackend/service/DockingService.java

* Merged dev into branch. Removed unneeded test endpoints.

* Reverted test packages to only be in test step.

* Fix spelling of ligand

* Removed duplicate method

* Removed duplicate method

* MOL-15: Added LigandService and LigandController, changes to DockingS… (#145)

* MOL-15: Added LigandService and LigandController, changes to DockingService

Added LigandService and LigandController to accomodate api requests
for ligands associated with a given EC.
Modified DockingService and DockingRequest to allow for LigandID
in place of a Ligand file, which will be used by LigandService
to get the file
Added DockingUtils to encapsulate some shared file functionality

* Removed unused imports, changed return type of fetchLigand

* Added Ligand service to API readme

* MOL-62: Added Macromolecule by ID for docking (#146)

Added macromoleculeID field to Docking Request, and added
fetchMacromolecule method to DockingService for getting the pdb file.
Also changed LigandService.fetchLigand to take only the ligandID, not
the whole request object.

* MOL-65: updateMotifs fix (#147)

Updated biojava and spring dependencies to prevent arbitrary failures
Added retryable getEcNumber method to LigandService to avoid 429
errors on retrieving pdb information
Enabled Spring retryable in dev and prod profiles

* MOL-71: Environment Variable control of container IP addresses (#149)

* MOL-71: Environment Variable control of container IP addresses

Added env variable specification to application.properties
Added env_variables.yaml to transfer env variables to appengine
Added set-env-variables.sh to populate env_variables.yaml from
build environment env variables

* Merge MOL-64 into Dev (#148)

* Cleaned up branch from MOL-64-Docking-Endpoint branch.
Made changes to DockingService to support new workflow.
Updated README.

* Added handling for when ligand/macromolecule file dis omitted

* Changed name of storage_hash parameter to jobId

* Changed name of jobId parameter to babelJobId

* Removed Print statements

* Updates to readme

* Fixes some issues with centering the docked ligand. (#150)

* bump guava version, re CVE-2018-10237 (#151)

* Molt 124 refresh ligand library (#152)

* Added API call to RCSB search to get all pdb ids in an ec class

* Add parsing of the results

* Remove dependencies

* test fix

* Fix typo

Co-authored-by: Steve Teplica <[email protected]>
Co-authored-by: Josh Miller <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: blackpan2 <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: kdm5498 <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>

* Test motifs (#158)

* Added tests for motif files

* Testing MotifTestRequest

* add testing for residue parsing

* adding testing for the queryresponse data

* Finish testing for QueryResponseData

* Testing for MotifAlignmentResponse

* added tests, remove unnecessary debug logs

* Added unit tests for alignments (#160)

* No ticket removing gcp dependencies (#162)

* Removing dependencies for jetty server.
Commenting out some GCP code that will be removed.

* Removing cloud dependencies. WGET as well as prod.yaml GCP dependencies are still in place.

* Adding TODOs for what still needs to be done for deployment

* Changing from WAR to JAR file packaging. Removing WAR plugin.

* Commenting out test file because it is causing build fails.

* Adding a last TODO

Co-authored-by: mev5063 <[email protected]>

* Mol 199 aws deployment (#163)

* Removing dependencies for jetty server.
Commenting out some GCP code that will be removed.

* Removing cloud dependencies. WGET as well as prod.yaml GCP dependencies are still in place.

* Adding TODOs for what still needs to be done for deployment

* Changing from WAR to JAR file packaging. Removing WAR plugin.

* Commenting out test file because it is causing build fails.

* Adding a last TODO

* Changing port number to match NGINX default.

* Adding files for each environment.
Adding a bash script to determine which config to use.
Adding a config file to kick off command, command is not in the file yet.

* Adding env config file that represents prod deployment.
Adding health config that holds the health URL for dev and prod.

* Setting config files

* Adding script

* Having health check return 200

* Using the correct health check option setting. (health check url => health check path)

* Setting dev ec2 instance to small

* Adding RDS to prod config. (commented out until tested)

* Adding parameters to general config file for: front-end S3 bucket and Active spring profile.
Bucket is commented out until tested.

* changing to correct spring-boot parameter name

* Making parameter names alphanumeric

* Removing spring profile active. useless as a parameter

* putting up any changes made in process of figuring out timeouts. Changes will not stay

* Fill the database post deployment (@PostConstruct)

* Removing nginx command that was not working.

* Adding TODO for autodock and open babel URls

* Updating dev and prod data source options.

* Adding NGINX config, adding a note that it does not work.

* Updating the prod and dev configs, not to be used because they cause issue with missing load balancer

* Removing unused files

* Removing unused dependencies from POM.
Adding mysql driver to pom

* Setting health endpoint

* Removing additional my-sql from pom.
Removing unused configs.

* Removing env variables

* Removing comments

* Changing origins for dev and prod

* Removing post construct annotation

Co-authored-by: mev5063 <[email protected]>
Co-authored-by: mvittozzi <[email protected]>

Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: Steve Teplica <[email protected]>
Co-authored-by: Josh Miller <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: blackpan2 <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: kdm5498 <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: Alex Piazza <[email protected]>
Co-authored-by: mev5063 <[email protected]>
Co-authored-by: mvittozzi <[email protected]>

* Add buildspec (#165)

* buildspec added

* change

Co-authored-by: jbz6587 <[email protected]>

* Modifying buildspec file

* Changing health check message. (#166)

Co-authored-by: mvittozzi <[email protected]>

* Changing health check message. (#168)

Co-authored-by: mvittozzi <[email protected]>

* No ticket checking nginx (#169)

* Changing health check message.

* have to put mysql

Co-authored-by: mvittozzi <[email protected]>

* Adding MYSQL and updating frontend url

* No ticket nginx fix (#175)

* Dev To Master (#170)

* Speed up motif generation (#71)

* fix travis runs (#79)

* ignore protein active sites with 2 or less residues (#76)

* Add alt locations to residues (#74)

* Add alt locations to residues

* Backend rmsd (#78)

* Add alt locations to residues

* Add rmsd calculation to backend

* File receive endpoint (#81)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Throw a 404 message if a motif is not found with a PDB id (#85)

* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be included in alignments
* Throw a 404 message if a motif is not found with a particular id

* Cors config (#87)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Enable CORS for dev profile

* Swagger UI & InvalidPdbIdException (#86)

* Add swagger to the Alignment controller
* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be incldued in alignments
* Throw a 404 message if a motif is not found with a particular ID
* Query the PDB with Optionals so that an alignment request with multiple ids does not return a 500 on one failure; Return 404 if all ids fail
* Add the exception to the ExceptionHandler instead of addressing in controller; Remove unused import in AlignmentService
* Update to refer to exception directly
* ApiIgnore the update motifs tasks, doesn't need to be publicly listed; Rename get methods so they aren't used by Swagger; Add api documentation docket to application
* Finished merging - Fixed imports;  Switch to Uppercase in PdbQueryResponse so that we don't have to use structure object for information we just touched
* Add Swagger annotations to other controllers; Remove /error from Swagger UI
* Remove todo because this is done now

* Add precision factor (#90)

* Add unknown ec number (#89)

* Add unknown ec number
* Include "unknown" ec number motifs in database query results even when there is one included for the filter

* Add EC Class to the response for an alignment (#92)

* Add cartesian product to alignment (#88)

* Add cartesian product to alignment
* Re-add precisionFactor to alignActiveSites (interior private method)
* Update src/main/java/org/moltimate/moltimatebackend/service/AlignmentService.java

Co-Authored-By: jmiller656 <[email protected]>

* Fix bug where we are not using the motif structure (#95)

* Fix bug where we are not using the motif structure and as a result RMSD and at a higher level motif search fails

* Deploment changes (#94)

* =Make Deployment Fixes

* Make precision factor a double instead of an int (#96)

* Make precision factor a double instead of an int
Use l2Norm when adjusting the error margin to get more accurate results

* Include @jmiller's comment explaining some of the math
Move 2d to a variable and include comment there

* Add a moltimate banner (#93)

* Motif testing (#91)

* Alignment Service updated to give access to "alignActiveSites" through a list of structures
Created InvalidFileException to address the cases where a structure file is uploaded and we are not able to parse it
Added InvalidFileException to ExceptionHandler
* Moved check if 0 structures returned by the PDB to inside the PdbQueryResponse so that the check doesn't need to be replicated
* Query the PDB for Homologues and perform alignments to test a motif
* Improved random to utilize the list of all PDB ids so that we do not have to query as many fake ids.
* Put a max on number of random entries that can be compared

* Add cors for prod (#98)

* Cache money (#99)

* Add cache

* Make an endpoint that is a pass-through for the pdb to get the list of all current pdb ids (#102)

* Add motif creation/decoding (#103)

* Add motif creation/decoding

* CresteMotifFile method with structure

* Rename variable

* Refactor method to remove duplicate code

* Update Motif Testing & Speed up alignments (#106)

* Replacing streams with loops
* Move Caching to the production profile instead of application-wide
* Remove several objects which are updated but not referenced
* Make the stream parallel inline instead of inside of an additional function, to streamline how stack frames are opened
* Update MotifTestService to reflect changes in AlignmentService
* Adjust logging of results to report on entries in the results map, not the results map overall
* Return the first entry only if the size is exactly 1 (prevents index out of bounds)

* Custom Structures (#107)

* When getting a structure from a file we can not guarantee that they will provide it in the .motif format

* Form data update - motif maker (#108)

* Since we are taking in strings from form-data now we cannot go directly to residues
Expand createMotifFile to use custom structure if one is provided

* Create a FailedAlignment dto and MotifTestResponse to make the response more complete
Group the request/responses in subfolder as dto folder was getting crowded

* Revert "Create a FailedAlignment dto and MotifTestResponse to make the response more complete"

This reverts commit e6c30b47e314cc2105437284037c9aa8b8a1364d.

* Clean up active site parsing logic (#110)

* Improve Response Formats (#111)

* Improve the response objects to have more consistent keys so that parsing them is easier
* Update MotifRepository: Ignore case at JPA level instead of at the top level
* Change max and min distance (which had been the same number) to the name Levenstein distance

* make variable names uniform so that logic in the frontend can share functionality across search and test (#113)

* Cache monet (#114)

* Embedded frontend for deployment to streamline deployment
* Stop using `@Cacheable` so that we have better control over the cached information
  * Use ben-manes.caffeine to achieve caching
  * Limit the size of the cache to a particular number of objects
* Moved Healthcheck to `\healthcheck` so that the frontend can be put on `\`

* Minor Caching & Style updates (#115)

* Update cache population so that writes do not compete (now if one attempts a get while the other is processing it will wait and return the value computed by the other process)
* Favicon changed to .png so that it is unique against spring's favicon
* Favicon reference added to index.html

* Add database for alignments (#116)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fix cache (#125)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fixes #117

* Not sure how old cache snuck back

* Bring db back

* Removed unused functions: extractCustomMotifsFromFiles & addFailedPdbId
Use all arguments constructor in clone methods
Remove unused DB call

* Update Frontend to commit 566a4589275cbdc7a772bc8774c2518cd17856a9
Add a log statement that filtering is occurring

* Faster align (#126)

* Add database for alignments

* Hide unnecessary JSON values

* Fixes #117

* Use newer Biojava calls, cache structures

* Add constant for unknown EC number

* Fix database insert (#128)

* Fixes database insert and cache log message

* Fixes #127

* Restructure/rename directories and files (#118)

* Bump POM version to 1.0.0

* mysql application yml (#129)

* MOL-10: Adding development CI (#130)

Added a deploy path for travis-ci to build the dev branch and
deploy a new version to GCloud AppEngine without overwriting
the master instance.
Fixed version line for dependency in pom.xml

* Moving app.yaml back to toplevel (#133)

* Wrote tests for all testable nontrivial paths for the Util package. (#132)

* Mol 3 controller tests (#131)

* Wrote tests for all testable paths for the Controller package.

* Made constructors package private and removed import.

* Added tests for Csa and Promol Active Site Parsers (#135)

* Added tests for Ec Number Validator. (#134)

* MOL-10: CI Pipeline (#136)

Enable proper CI pipeline to deploy any changes made to the dev or master branches of the repository. While the changes may be small, they reflect a vast increase in understanding of travis-CI and Google Cloud Platform.

* Added tests for Service classes. (#137)

* Added model classes to represent a Ligand PDBQT file. Added a static parse function to create a Ligand object from the text of a PDBQT file, and added a toString to rebuild original file's text. Added tests for parsing and toString. (#138)

* Both Active Site parsers now pull from the local resources, rather than directly from github. Test motif files were failing due to messed up line endings when pulling from dev, switched from /r/n to just /n. (#139)

* Merge MOL-35 into dev (#140)

* Created controller and service classes for ligand docking. Renamed Ligand model class to PDBQT so it can be used for proteins and docked files. Wrote some basic tests for new endpoint.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Merge MOL-4 into dev (#141)

* Added a Motif Test case (not currently functioning)

* Completed Motif tests. Added residue tests.

* Added an endpoint to allow export of ligand docking information to a csv file. (#142)

* MOL-36: Front-End integration at build time (#143)

* MOL-36: Front-End integration at build time

Implementing the front-end automated integration, whereby we pull
the latest front-end code from GCS rather than having it checked
into github.

* fixed resource location

* front-end inclusion via maven

* profile test

* dp v1

* switch to dpl v2 on travis-ci

* Added demo development mvn profile, for cloud connection with dev frontend

* Fixed springboot profile for dev deploy

* Set phase for front-end inclusion

* Remove demo branch from deploy config

* Merge MOL 19 and 37 into dev (#144)

* Implemented the integration between the server and the Docker deployments for docking. Implemented some test endpoints to mock docker containers.

* Updated implementation to work with final version of API's.

* # Conflicts:
#	src/main/java/org/moltimate/moltimatebackend/controller/DockingController.java
#	src/main/java/org/moltimate/moltimatebackend/service/DockingService.java

* Merged dev into branch. Removed unneeded test endpoints.

* Reverted test packages to only be in test step.

* Fix spelling of ligand

* Removed duplicate method

* Removed duplicate method

* MOL-15: Added LigandService and LigandController, changes to DockingS… (#145)

* MOL-15: Added LigandService and LigandController, changes to DockingService

Added LigandService and LigandController to accomodate api requests
for ligands associated with a given EC.
Modified DockingService and DockingRequest to allow for LigandID
in place of a Ligand file, which will be used by LigandService
to get the file
Added DockingUtils to encapsulate some shared file functionality

* Removed unused imports, changed return type of fetchLigand

* Added Ligand service to API readme

* MOL-62: Added Macromolecule by ID for docking (#146)

Added macromoleculeID field to Docking Request, and added
fetchMacromolecule method to DockingService for getting the pdb file.
Also changed LigandService.fetchLigand to take only the ligandID, not
the whole request object.

* MOL-65: updateMotifs fix (#147)

Updated biojava and spring dependencies to prevent arbitrary failures
Added retryable getEcNumber method to LigandService to avoid 429
errors on retrieving pdb information
Enabled Spring retryable in dev and prod profiles

* MOL-71: Environment Variable control of container IP addresses (#149)

* MOL-71: Environment Variable control of container IP addresses

Added env variable specification to application.properties
Added env_variables.yaml to transfer env variables to appengine
Added set-env-variables.sh to populate env_variables.yaml from
build environment env variables

* Merge MOL-64 into Dev (#148)

* Cleaned up branch from MOL-64-Docking-Endpoint branch.
Made changes to DockingService to support new workflow.
Updated README.

* Added handling for when ligand/macromolecule file dis omitted

* Changed name of storage_hash parameter to jobId

* Changed name of jobId parameter to babelJobId

* Removed Print statements

* Updates to readme

* Fixes some issues with centering the docked ligand. (#150)

* bump guava version, re CVE-2018-10237 (#151)

* Molt 124 refresh ligand library (#152)

* Added API call to RCSB search to get all pdb ids in an ec class

* Add parsing of the results

* Remove dependencies

* test fix

* Fix typo

* Mol 152 update apis (#153)

* update getting ec class methods

* Get EC Class catching proper errors

* Adding request to get ligands

So far have not found an api call that can get ligands of an ec class or ligands of multiple pdb ids. This implementation gets ligands for each pdb. however some don't seem to have ligands so throwing a null pointer

* Ligand Service null pointer fixed, returns proper list conversion

* Updated the pdbXML client to take in the new apis and use json

Co-authored-by: jbz6587 <[email protected]>

* Mol-116 (#155)

* Atom replacement for PDB, SDF, CIF

* Passing protein file to OpenBabel

* Mol 139 (#157)

* update getting ec class methods

* Get EC Class catching proper errors

* Adding request to get ligands

So far have not found an api call that can get ligands of an ec class or ligands of multiple pdb ids. This implementation gets ligands for each pdb. however some don't seem to have ligands so throwing a null pointer

* Ligand Service null pointer fixed, returns proper list conversion

* docking pdb is shown on the front end as well as docking information

* fix merge mistake

Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: jbz6587 <[email protected]>

* Future prod (#164)

* Dev (#154)

* Speed up motif generation (#71)

* fix travis runs (#79)

* ignore protein active sites with 2 or less residues (#76)

* Add alt locations to residues (#74)

* Add alt locations to residues

* Backend rmsd (#78)

* Add alt locations to residues

* Add rmsd calculation to backend

* File receive endpoint (#81)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Throw a 404 message if a motif is not found with a PDB id (#85)

* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be included in alignments
* Throw a 404 message if a motif is not found with a particular id

* Cors config (#87)

* Change active site align endpoint to accept custom motifs

* Prepare custom motifs to be incldued in alignments

* Enable CORS for dev profile

* Swagger UI & InvalidPdbIdException (#86)

* Add swagger to the Alignment controller
* Change active site align endpoint to accept custom motifs
* Prepare custom motifs to be incldued in alignments
* Throw a 404 message if a motif is not found with a particular ID
* Query the PDB with Optionals so that an alignment request with multiple ids does not return a 500 on one failure; Return 404 if all ids fail
* Add the exception to the ExceptionHandler instead of addressing in controller; Remove unused import in AlignmentService
* Update to refer to exception directly
* ApiIgnore the update motifs tasks, doesn't need to be publicly listed; Rename get methods so they aren't used by Swagger; Add api documentation docket to application
* Finished merging - Fixed imports;  Switch to Uppercase in PdbQueryResponse so that we don't have to use structure object for information we just touched
* Add Swagger annotations to other controllers; Remove /error from Swagger UI
* Remove todo because this is done now

* Add precision factor (#90)

* Add unknown ec number (#89)

* Add unknown ec number
* Include "unknown" ec number motifs in database query results even when there is one included for the filter

* Add EC Class to the response for an alignment (#92)

* Add cartesian product to alignment (#88)

* Add cartesian product to alignment
* Re-add precisionFactor to alignActiveSites (interior private method)
* Update src/main/java/org/moltimate/moltimatebackend/service/AlignmentService.java

Co-Authored-By: jmiller656 <[email protected]>

* Fix bug where we are not using the motif structure (#95)

* Fix bug where we are not using the motif structure and as a result RMSD and at a higher level motif search fails

* Deploment changes (#94)

* =Make Deployment Fixes

* Make precision factor a double instead of an int (#96)

* Make precision factor a double instead of an int
Use l2Norm when adjusting the error margin to get more accurate results

* Include @jmiller's comment explaining some of the math
Move 2d to a variable and include comment there

* Add a moltimate banner (#93)

* Motif testing (#91)

* Alignment Service updated to give access to "alignActiveSites" through a list of structures
Created InvalidFileException to address the cases where a structure file is uploaded and we are not able to parse it
Added InvalidFileException to ExceptionHandler
* Moved check if 0 structures returned by the PDB to inside the PdbQueryResponse so that the check doesn't need to be replicated
* Query the PDB for Homologues and perform alignments to test a motif
* Improved random to utilize the list of all PDB ids so that we do not have to query as many fake ids.
* Put a max on number of random entries that can be compared

* Add cors for prod (#98)

* Cache money (#99)

* Add cache

* Make an endpoint that is a pass-through for the pdb to get the list of all current pdb ids (#102)

* Add motif creation/decoding (#103)

* Add motif creation/decoding

* CresteMotifFile method with structure

* Rename variable

* Refactor method to remove duplicate code

* Update Motif Testing & Speed up alignments (#106)

* Replacing streams with loops
* Move Caching to the production profile instead of application-wide
* Remove several objects which are updated but not referenced
* Make the stream parallel inline instead of inside of an additional function, to streamline how stack frames are opened
* Update MotifTestService to reflect changes in AlignmentService
* Adjust logging of results to report on entries in the results map, not the results map overall
* Return the first entry only if the size is exactly 1 (prevents index out of bounds)

* Custom Structures (#107)

* When getting a structure from a file we can not guarantee that they will provide it in the .motif format

* Form data update - motif maker (#108)

* Since we are taking in strings from form-data now we cannot go directly to residues
Expand createMotifFile to use custom structure if one is provided

* Create a FailedAlignment dto and MotifTestResponse to make the response more complete
Group the request/responses in subfolder as dto folder was getting crowded

* Revert "Create a FailedAlignment dto and MotifTestResponse to make the response more complete"

This reverts commit e6c30b47e314cc2105437284037c9aa8b8a1364d.

* Clean up active site parsing logic (#110)

* Improve Response Formats (#111)

* Improve the response objects to have more consistent keys so that parsing them is easier
* Update MotifRepository: Ignore case at JPA level instead of at the top level
* Change max and min distance (which had been the same number) to the name Levenstein distance

* make variable names uniform so that logic in the frontend can share functionality across search and test (#113)

* Cache monet (#114)

* Embedded frontend for deployment to streamline deployment
* Stop using `@Cacheable` so that we have better control over the cached information
  * Use ben-manes.caffeine to achieve caching
  * Limit the size of the cache to a particular number of objects
* Moved Healthcheck to `\healthcheck` so that the frontend can be put on `\`

* Minor Caching & Style updates (#115)

* Update cache population so that writes do not compete (now if one attempts a get while the other is processing it will wait and return the value computed by the other process)
* Favicon changed to .png so that it is unique against spring's favicon
* Favicon reference added to index.html

* Add database for alignments (#116)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fix cache (#125)

* Add database for alignments

* Review comments

* Update pom.xml

Co-Authored-By: jmiller656 <[email protected]>

* Hide unnecessary JSON values

* Fixes #117

* Not sure how old cache snuck back

* Bring db back

* Removed unused functions: extractCustomMotifsFromFiles & addFailedPdbId
Use all arguments constructor in clone methods
Remove unused DB call

* Update Frontend to commit 566a4589275cbdc7a772bc8774c2518cd17856a9
Add a log statement that filtering is occurring

* Faster align (#126)

* Add database for alignments

* Hide unnecessary JSON values

* Fixes #117

* Use newer Biojava calls, cache structures

* Add constant for unknown EC number

* Fix database insert (#128)

* Fixes database insert and cache log message

* Fixes #127

* Restructure/rename directories and files (#118)

* Bump POM version to 1.0.0

* mysql application yml (#129)

* MOL-10: Adding development CI (#130)

Added a deploy path for travis-ci to build the dev branch and
deploy a new version to GCloud AppEngine without overwriting
the master instance.
Fixed version line for dependency in pom.xml

* Moving app.yaml back to toplevel (#133)

* Wrote tests for all testable nontrivial paths for the Util package. (#132)

* Mol 3 controller tests (#131)

* Wrote tests for all testable paths for the Controller package.

* Made constructors package private and removed import.

* Added tests for Csa and Promol Active Site Parsers (#135)

* Added tests for Ec Number Validator. (#134)

* MOL-10: CI Pipeline (#136)

Enable proper CI pipeline to deploy any changes made to the dev or master branches of the repository. While the changes may be small, they reflect a vast increase in understanding of travis-CI and Google Cloud Platform.

* Added tests for Service classes. (#137)

* Added model classes to represent a Ligand PDBQT file. Added a static parse function to create a Ligand object from the text of a PDBQT file, and added a toString to rebuild original file's text. Added tests for parsing and toString. (#138)

* Both Active Site parsers now pull from the local resources, rather than directly from github. Test motif files were failing due to messed up line endings when pulling from dev, switched from /r/n to just /n. (#139)

* Merge MOL-35 into dev (#140)

* Created controller and service classes for ligand docking. Renamed Ligand model class to PDBQT so it can be used for proteins and docked files. Wrote some basic tests for new endpoint.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Removed tests until implementation is complete.

* Merge MOL-4 into dev (#141)

* Added a Motif Test case (not currently functioning)

* Completed Motif tests. Added residue tests.

* Added an endpoint to allow export of ligand docking information to a csv file. (#142)

* MOL-36: Front-End integration at build time (#143)

* MOL-36: Front-End integration at build time

Implementing the front-end automated integration, whereby we pull
the latest front-end code from GCS rather than having it checked
into github.

* fixed resource location

* front-end inclusion via maven

* profile test

* dp v1

* switch to dpl v2 on travis-ci

* Added demo development mvn profile, for cloud connection with dev frontend

* Fixed springboot profile for dev deploy

* Set phase for front-end inclusion

* Remove demo branch from deploy config

* Merge MOL 19 and 37 into dev (#144)

* Implemented the integration between the server and the Docker deployments for docking. Implemented some test endpoints to mock docker containers.

* Updated implementation to work with final version of API's.

* # Conflicts:
#	src/main/java/org/moltimate/moltimatebackend/controller/DockingController.java
#	src/main/java/org/moltimate/moltimatebackend/service/DockingService.java

* Merged dev into branch. Removed unneeded test endpoints.

* Reverted test packages to only be in test step.

* Fix spelling of ligand

* Removed duplicate method

* Removed duplicate method

* MOL-15: Added LigandService and LigandController, changes to DockingS… (#145)

* MOL-15: Added LigandService and LigandController, changes to DockingService

Added LigandService and LigandController to accomodate api requests
for ligands associated with a given EC.
Modified DockingService and DockingRequest to allow for LigandID
in place of a Ligand file, which will be used by LigandService
to get the file
Added DockingUtils to encapsulate some shared file functionality

* Removed unused imports, changed return type of fetchLigand

* Added Ligand service to API readme

* MOL-62: Added Macromolecule by ID for docking (#146)

Added macromoleculeID field to Docking Request, and added
fetchMacromolecule method to DockingService for getting the pdb file.
Also changed LigandService.fetchLigand to take only the ligandID, not
the whole request object.

* MOL-65: updateMotifs fix (#147)

Updated biojava and spring dependencies to prevent arbitrary failures
Added retryable getEcNumber method to LigandService to avoid 429
errors on retrieving pdb information
Enabled Spring retryable in dev and prod profiles

* MOL-71: Environment Variable control of container IP addresses (#149)

* MOL-71: Environment Variable control of container IP addresses

Added env variable specification to application.properties
Added env_variables.yaml to transfer env variables to appengine
Added set-env-variables.sh to populate env_variables.yaml from
build environment env variables

* Merge MOL-64 into Dev (#148)

* Cleaned up branch from MOL-64-Docking-Endpoint branch.
Made changes to DockingService to support new workflow.
Updated README.

* Added handling for when ligand/macromolecule file dis omitted

* Changed name of storage_hash parameter to jobId

* Changed name of jobId parameter to babelJobId

* Removed Print statements

* Updates to readme

* Fixes some issues with centering the docked ligand. (#150)

* bump guava version, re CVE-2018-10237 (#151)

* Molt 124 refresh ligand library (#152)

* Added API call to RCSB search to get all pdb ids in an ec class

* Add parsing of the results

* Remove dependencies

* test fix

* Fix typo

Co-authored-by: Steve Teplica <[email protected]>
Co-authored-by: Josh Miller <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: blackpan2 <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: kdm5498 <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>

* Test motifs (#158)

* Added tests for motif files

* Testing MotifTestRequest

* add testing for residue parsing

* adding testing for the queryresponse data

* Finish testing for QueryResponseData

* Testing for MotifAlignmentResponse

* added tests, remove unnecessary debug logs

* Added unit tests for alignments (#160)

* No ticket removing gcp dependencies (#162)

* Removing dependencies for jetty server.
Commenting out some GCP code that will be removed.

* Removing cloud dependencies. WGET as well as prod.yaml GCP dependencies are still in place.

* Adding TODOs for what still needs to be done for deployment

* Changing from WAR to JAR file packaging. Removing WAR plugin.

* Commenting out test file because it is causing build fails.

* Adding a last TODO

Co-authored-by: mev5063 <[email protected]>

* Mol 199 aws deployment (#163)

* Removing dependencies for jetty server.
Commenting out some GCP code that will be removed.

* Removing cloud dependencies. WGET as well as prod.yaml GCP dependencies are still in place.

* Adding TODOs for what still needs to be done for deployment

* Changing from WAR to JAR file packaging. Removing WAR plugin.

* Commenting out test file because it is causing build fails.

* Adding a last TODO

* Changing port number to match NGINX default.

* Adding files for each environment.
Adding a bash script to determine which config to use.
Adding a config file to kick off command, command is not in the file yet.

* Adding env config file that represents prod deployment.
Adding health config that holds the health URL for dev and prod.

* Setting config files

* Adding script

* Having health check return 200

* Using the correct health check option setting. (health check url => health check path)

* Setting dev ec2 instance to small

* Adding RDS to prod config. (commented out until tested)

* Adding parameters to general config file for: front-end S3 bucket and Active spring profile.
Bucket is commented out until tested.

* changing to correct spring-boot parameter name

* Making parameter names alphanumeric

* Removing spring profile active. useless as a parameter

* putting up any changes made in process of figuring out timeouts. Changes will not stay

* Fill the database post deployment (@PostConstruct)

* Removing nginx command that was not working.

* Adding TODO for autodock and open babel URls

* Updating dev and prod data source options.

* Adding NGINX config, adding a note that it does not work.

* Updating the prod and dev configs, not to be used because they cause issue with missing load balancer

* Removing unused files

* Removing unused dependencies from POM.
Adding mysql driver to pom

* Setting health endpoint

* Removing additional my-sql from pom.
Removing unused configs.

* Removing env variables

* Removing comments

* Changing origins for dev and prod

* Removing post construct annotation

Co-authored-by: mev5063 <[email protected]>
Co-authored-by: mvittozzi <[email protected]>

Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: Steve Teplica <[email protected]>
Co-authored-by: Josh Miller <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: blackpan2 <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: kdm5498 <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: Alex Piazza <[email protected]>
Co-authored-by: mev5063 <[email protected]>
Co-authored-by: mvittozzi <[email protected]>

* Add buildspec (#165)

* buildspec added

* change

Co-authored-by: jbz6587 <[email protected]>

* Modifying buildspec file

* Changing health check message. (#166)

Co-authored-by: mvittozzi <[email protected]>

* Changing health check message. (#168)

Co-authored-by: mvittozzi <[email protected]>

* No ticket checking nginx (#169)

* Changing health check message.

* have to put mysql

Co-authored-by: mvittozzi <[email protected]>

Co-authored-by: Steve Teplica <[email protected]>
Co-authored-by: Josh Miller <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: blackpan2 <[email protected]>
Co-authored-by: George Herde <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: kdm5498 <[email protected]>
Co-authored-by: Ada Phillips <[email protected]>
Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: jbz6587 <[email protected]>
Co-authored-by: Alex Piazza <[email protected]>
Co-authored-by: Joe <[email protected]>
Co-authored-by: Melissa Gould <[email protected]>
Co-authored-by: mev5063 <[email protected]>
Co-authored-by: mvittozzi <[email protected]>

* Updating frontend url (#172)

Co-authored-by: mvittozzi <[email protected]>

* Dev (#173)

* Speed up motif generation (#71)

* fix travis runs (#79)

* ignore protein active sites with 2 or less residues (#76)

* Add alt locations to residues (#74)

* Add alt locations to residues

* Backend rmsd (#78)

* Add alt loca…
  • Loading branch information
16 people authored Feb 22, 2021
1 parent 9c1953c commit 8d5f585
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 4 deletions.
7 changes: 7 additions & 0 deletions .ebextensions/health.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
option_settings:
- namespace: aws:elasticbeanstalk:environment:process:default
option_name: HealthCheckPath
value: /healthcheck
- namespace: aws:elasticbeanstalk:environment
option_name: EnvironmentType
value: SingleInstance
6 changes: 6 additions & 0 deletions .platform/nginx/conf.d/custom.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
client_header_timeout 420;
client_body_timeout 420;
send_timeout 420;
proxy_connect_timeout 420;
proxy_read_timeout 420;
proxy_send_timeout 420;
10 changes: 6 additions & 4 deletions buildspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ version: 0.2
phases:
build:
commands:
- mvn test
- mvn install -DskipTests=true -B -V
- mv target/*.jar moltimate-backend-1.0.0.jar
- mvn test
- mvn install -DskipTests=true -B -V
- mv target/*.jar moltimate-backend-1.0.0.jar
artifacts:
files:
- moltimate-backend-1.0.0.jar
- moltimate-backend-1.0.0.jar
- .ebextensions/*
- .platform/**/*
68 changes: 68 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,74 @@
</executions>
</plugin>

<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>get-frontend</id>
<phase>initialize</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://moltimate-artifacts.s3.us-east-1.amazonaws.com/frontend/${frontend.branch}/dist.tar.gz</url>
<unpack>true</unpack>
<skipCache>true</skipCache>
<outputDirectory>src/main/resources/static</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<configuration>
<skipITs>true</skipITs>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>get-frontend</id>
<phase>initialize</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://moltimate-artifacts.s3.us-east-1.amazonaws.com/frontend/${frontend.branch}/dist.tar.gz</url>
<unpack>true</unpack>
<skipCache>true</skipCache>
<outputDirectory>src/main/resources/static</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<configuration>
<skipITs>true</skipITs>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
Expand Down

0 comments on commit 8d5f585

Please sign in to comment.