This is the new GWAS Curation Back End Microservice created to provide features for supporting the curation of GWAS metadata and summary statistics files searchable and downloadable from the NHGRI-EBI GWAS Catalog. It provides secure endpoints for accessing the GWAS databases in order to change, edit, annotate and curate user submitted metadata and summary statistics. This software runs alongside other components of the GWAS Deposition Microservices system such as the Template service and GWAS Deposition Service e.t.c as shown below:
graph LR
AG[API Gateway] --> IS(Ingest Service)
AG --> DS(Deposition Service)
AG --> AS(Audit Service)
AG --> TS(Template Service)
AG --> SS(Summary Stat Service)
IS --> DB(Mongo Database)
DS --> DB
AS --> DB
TS --> DB
SS --> DB
DU[Deposition UI] --> AG
DX[Curation UI] --> AG
- Ingest Microservice
- Deposition Microservice
- Audit Microservice
- Template Microservice
- Summary Stat Microservice
- Curation UI
- Deposition UI
Before you begin, ensure you have met the following requirements:
- You have a MacOSX/Linux/Windows machine.
- You have Java 8 installed.
-
Install Java and JDK8
-
Clone the application from https://github.com/EBISPOT/gwas-curation-service.git
-
Run
mvn clean install
to build the application and generate executable jar -
The application uses default profile as
local
-
You need to supply 2 program arguments
Program Argument Possible Values Implication auth-enable
true or false Enable or Disable Authentication mongo-server
mongodb-url:port Mongo Database URL -
Run
java -jar gwas-curation-service.jar --auth-enable=false --mongo-server=mongodb-url:port
to launch app using default local application
- After step 2 above
- Go to Run > Edit Configurations
- A dialog box will appear.
- Insert in the VM Options text field: -Dmongo-server={mongo-db-server-url} -Dauth-enable={true or false} -Dftp-user=... -Dftp-pass=... -Dftp-link=...
- Insert in the Environment Variable text Field: DB_USER={mongo-database-user} DB_PASSWORD={mongo-database-password}
- Access the app on url: http://localhost:{server:port}/{server:servlet:context-path}/v1 as specified in the application-local.yaml property file e.g http://localhost:8081/gwas/depo-curation/api/v1/
Submitting changes to the data follows this workfow:
- Create a branch with using issue number and brief issue description using kebab-case, eg.
git checkout -b 'iss-3-curation-edit-file'
- Do the work to fix the issue or add a new feature and commit message as appropriate
- Summarize the change in less than 50 characters
- Because: - Explain the reasons you made this change
- Make a new bullet for each reason - Each line should be under 72 characters
- Explain exactly what was done in this commit with more depth than the 50 character subject line. Remember to wrap at 72 characters!
- Push local changes to the remote feature branch
- Create a Pull Request to merge the updates in the feature branch into
develop
branch - Once the changes are merged into
develop
branch, the Gitlab plan will automatically deploy these changes to the Kubernetes sandbox environment where User Acceptance Testing can be done - When the UAT is completed successfully, the updates in
develop
can be merged intomaster
, either through a Pull Request or using git merge from your local repo
- Check the contribution section here
If something goes wrong, please check the logs.