diff --git a/gepi/README.md b/gepi/README.md index d947fec9..a447c132 100644 --- a/gepi/README.md +++ b/gepi/README.md @@ -4,6 +4,12 @@ The core of GePI is a web application for the user-friendly retrieval of descriptions of biomolecular interactions from the scientific literature, [PubMed](https://pubmed.ncbi.nlm.nih.gov/) (PM) and the [PubMed Central](https://www.ncbi.nlm.nih.gov/pmc/) (PMC) [open access subset](https://www.ncbi.nlm.nih.gov/pmc/tools/openftlist/). To this end, [JCoRe](https://github.com/JULIELab/jcore-base) pipeline components are used to form a number of [UIMA](https://uima.apache.org/) pipelines for the processing of PM and PMC in order to extract the interactions. +## Reference for this work + +GePI is described in + +Erik Faessler, Udo Hahn, Sascha Schäuble, GePI: large-scale text mining, customized retrieval and flexible filtering of gene/protein interactions, *Nucleic Acids Research*, Volume 51, Issue W1, 5 July 2023, Pages W237–W242, https://doi.org/10.1093/nar/gkad445 + ## Overview of databases and processes to create a GePI instance from scratch A complete, running GePI web application requires the following databases, resources, pipelines and tools to be available. @@ -18,9 +24,8 @@ Resources: * PubMed and PMC XML files. [UIMA pipelines](#automatic-extraction-of-interactions-from-the-literature): -* interaction extraction NLP pipeline (does not require gene concept data from the Neo4j database), -* indexing pipeline that sends extracted information in -to ElasticSearch for indexing (requires gene concept data from the Neo4j database and can thus be only run successfully after the concept database has been built). +* interaction extraction NLP pipeline, +* extraction indexing pipeline for indexing into ElasticSearch. Tools: * the CoStoSys executable JAR to import PubMed/PMC XML files into the PostgreSQL database, @@ -67,8 +72,8 @@ The `production` stage expects that the complete GePI project has been built in Run the following commands to create a `development` container: ```bash -DOCKER_BUILDKIT=1 docker build -t gepi-dev:1.0.1 --target development . -docker run -dp 8080:8080 -v {/path/to/gepi/directory}:/var/gepi/dev -e GEPI_CONFIGURATION= --name gepi-dev gepi-dev:1.0.1 +DOCKER_BUILDKIT=1 docker build -t gepi-dev:1.0.2 --target development . +docker run -dp 8080:8080 -v {/path/to/gepi/directory}:/var/gepi/dev -e GEPI_CONFIGURATION= --name gepi-dev gepi-dev:1.0.2 ``` The first command builds an image of the `development` stage. This will also build the `dependencies` stage where all the Java dependencies of the GePI application are downloaded and cached. This will take a while on the first execution but should be faster afterwards thanks to caching. @@ -86,8 +91,8 @@ To run the `production` container, run ```bash mvn clean package --projects gepi-webapp --also-make -DOCKER_BUILDKIT=1 docker build -t gepi:1.0.1 --target production . -docker run -dp 8080:8080 --name gepi gepi:1.0.1 +DOCKER_BUILDKIT=1 docker build -t gepi:1.0.2 --target production . +docker run -dp 8080:8080 --name gepi gepi:1.0.2 ``` These commands @@ -116,7 +121,7 @@ gepi.neo4j.bolt.url=bolt://: A production environment has a few requirements that are of lesser importance during development. This section explains requirements and solutions that may come up during GePI deployment with the Docker container. While detailed explanations come below, the full Docker `run` command we use for deployment looks like the following: ``` -docker run -dp 80:8080 -p 443:8443 -v /host/path/to/certificate.p12:/var/lib/jetty/etc/keystore.p12 -v /host/path/to/configuration.properties:/gepi-webapp-configuration.properties --add-host=host.docker.internal:host-gateway --name gepi -e GEPI_CONFIGURATION=/gepi-webapp-configuration.properties gepi:1.0.1 jetty.sslContext.keyStorePassword= +docker run -dp 80:8080 -p 443:8443 -v /host/path/to/certificate.p12:/var/lib/jetty/etc/keystore.p12 -v /host/path/to/configuration.properties:/gepi-webapp-configuration.properties --add-host=host.docker.internal:host-gateway --name gepi -e GEPI_CONFIGURATION=/gepi-webapp-configuration.properties gepi:1.0.2 jetty.sslContext.keyStorePassword= ``` Alternatively, the `docker-compose-webapp.yml` file can be used with a few additions. diff --git a/gepi/docker-compose-webapp.yml b/gepi/docker-compose-webapp.yml index 3b0992ab..470c1719 100644 --- a/gepi/docker-compose-webapp.yml +++ b/gepi/docker-compose-webapp.yml @@ -1,7 +1,7 @@ version: "3.2" services: gepi: - image: gepi:1.0.1 + image: gepi:1.0.2 container_name: gepi ports: - 0.0.0.0:80:8080 diff --git a/gepi/docker-compose-with-es.yml b/gepi/docker-compose-with-es.yml index e78d9d86..c709b085 100644 --- a/gepi/docker-compose-with-es.yml +++ b/gepi/docker-compose-with-es.yml @@ -1,6 +1,6 @@ services: gepi: - image: gepi:1.0.1 + image: gepi:1.0.2 container_name: gepi ports: - 0.0.0.0:80:8080 diff --git a/gepi/gepi-concept-database/pom.xml b/gepi/gepi-concept-database/pom.xml index fe17f4e4..c158edc7 100644 --- a/gepi/gepi-concept-database/pom.xml +++ b/gepi/gepi-concept-database/pom.xml @@ -4,7 +4,7 @@ de.julielab gepi - 1.0.1 + 1.0.2 ../pom.xml gepi-concept-database diff --git a/gepi/gepi-core/pom.xml b/gepi/gepi-core/pom.xml index 18cb76af..d23325d6 100644 --- a/gepi/gepi-core/pom.xml +++ b/gepi/gepi-core/pom.xml @@ -7,7 +7,7 @@ de.julielab gepi - 1.0.1 + 1.0.2 ../pom.xml diff --git a/gepi/gepi-indexing/gepi-indexing-base/component.meta b/gepi/gepi-indexing/gepi-indexing-base/component.meta index 886e35bc..6f0eac15 100644 --- a/gepi/gepi-indexing/gepi-indexing-base/component.meta +++ b/gepi/gepi-indexing/gepi-indexing-base/component.meta @@ -18,7 +18,7 @@ "maven-artifact": { "artifactId": "gepi-indexing-base", "groupId": "de.julielab", - "version": "1.0.1" + "version": "1.0.2" }, "name": "GePi Indexing Base" } diff --git a/gepi/gepi-indexing/gepi-indexing-base/pom.xml b/gepi/gepi-indexing/gepi-indexing-base/pom.xml index 97f22f4c..97f7ef26 100644 --- a/gepi/gepi-indexing/gepi-indexing-base/pom.xml +++ b/gepi/gepi-indexing/gepi-indexing-base/pom.xml @@ -5,7 +5,7 @@ gepi-indexing de.julielab - 1.0.1 + 1.0.2 4.0.0 diff --git a/gepi/gepi-indexing/gepi-indexing-debug/pom.xml b/gepi/gepi-indexing/gepi-indexing-debug/pom.xml index e015dc9e..b2667f90 100644 --- a/gepi/gepi-indexing/gepi-indexing-debug/pom.xml +++ b/gepi/gepi-indexing/gepi-indexing-debug/pom.xml @@ -5,7 +5,7 @@ gepi-indexing de.julielab - 1.0.1 + 1.0.2 ../pom.xml 4.0.0 @@ -15,7 +15,7 @@ de.julielab gepi-indexing-base - 1.0.1 + 1.0.2 \ No newline at end of file diff --git a/gepi/gepi-indexing/gepi-indexing-pmc/pom.xml b/gepi/gepi-indexing/gepi-indexing-pmc/pom.xml index ddb8cf27..f35e294e 100644 --- a/gepi/gepi-indexing/gepi-indexing-pmc/pom.xml +++ b/gepi/gepi-indexing/gepi-indexing-pmc/pom.xml @@ -5,7 +5,7 @@ gepi-indexing de.julielab - 1.0.1 + 1.0.2 ../pom.xml 4.0.0 @@ -15,7 +15,7 @@ de.julielab gepi-indexing-base - 1.0.1 + 1.0.2 diff --git a/gepi/gepi-indexing/gepi-indexing-pubmed/pom.xml b/gepi/gepi-indexing/gepi-indexing-pubmed/pom.xml index 092398a9..1c1150a2 100644 --- a/gepi/gepi-indexing/gepi-indexing-pubmed/pom.xml +++ b/gepi/gepi-indexing/gepi-indexing-pubmed/pom.xml @@ -5,7 +5,7 @@ gepi-indexing de.julielab - 1.0.1 + 1.0.2 ../pom.xml 4.0.0 @@ -15,7 +15,7 @@ de.julielab gepi-indexing-base - 1.0.1 + 1.0.2 diff --git a/gepi/gepi-indexing/gepi-indexing-testdata/pom.xml b/gepi/gepi-indexing/gepi-indexing-testdata/pom.xml index c2fd2914..27e6b9f1 100644 --- a/gepi/gepi-indexing/gepi-indexing-testdata/pom.xml +++ b/gepi/gepi-indexing/gepi-indexing-testdata/pom.xml @@ -5,7 +5,7 @@ gepi-indexing de.julielab - 1.0.1 + 1.0.2 ../pom.xml 4.0.0 @@ -15,7 +15,7 @@ de.julielab gepi-indexing-base - 1.0.1 + 1.0.2 diff --git a/gepi/gepi-indexing/pom.xml b/gepi/gepi-indexing/pom.xml index 6e3a70cc..66e1599f 100644 --- a/gepi/gepi-indexing/pom.xml +++ b/gepi/gepi-indexing/pom.xml @@ -5,7 +5,7 @@ gepi de.julielab - 1.0.1 + 1.0.2 ../pom.xml pom diff --git a/gepi/gepi-test-data/pom.xml b/gepi/gepi-test-data/pom.xml index 0ce725d1..08328a28 100644 --- a/gepi/gepi-test-data/pom.xml +++ b/gepi/gepi-test-data/pom.xml @@ -5,7 +5,7 @@ gepi de.julielab - 1.0.1 + 1.0.2 ../pom.xml 4.0.0 diff --git a/gepi/gepi-webapp/pom.xml b/gepi/gepi-webapp/pom.xml index f6eec86d..b45868c0 100644 --- a/gepi/gepi-webapp/pom.xml +++ b/gepi/gepi-webapp/pom.xml @@ -224,7 +224,7 @@ of testing facilities designed for use with TestNG (http://testng.org/), so it's de.julielab gepi - 1.0.1 + 1.0.2 ../pom.xml diff --git a/gepi/gepi-webapp/src/main/java/de/julielab/gepi/webapp/services/AppModule.java b/gepi/gepi-webapp/src/main/java/de/julielab/gepi/webapp/services/AppModule.java index 35847bda..57eea59a 100644 --- a/gepi/gepi-webapp/src/main/java/de/julielab/gepi/webapp/services/AppModule.java +++ b/gepi/gepi-webapp/src/main/java/de/julielab/gepi/webapp/services/AppModule.java @@ -64,7 +64,7 @@ public static void contributeFactoryDefaults( // The application version is primarily useful as it appears in // any exception reports (HTML or textual). - configuration.override(SymbolConstants.APPLICATION_VERSION, "1.0.1"); + configuration.override(SymbolConstants.APPLICATION_VERSION, "1.0.2"); // Avoid Ajax-requests waiting for each other. This would make asynchronous lading of // dashboard elements impossible configuration.override(SymbolConstants.SESSION_LOCKING_ENABLED, false); diff --git a/gepi/gepi-webapp/src/main/resources/de/julielab/gepi/webapp/components/Layout.tml b/gepi/gepi-webapp/src/main/resources/de/julielab/gepi/webapp/components/Layout.tml index 484f324b..f5d29419 100644 --- a/gepi/gepi-webapp/src/main/resources/de/julielab/gepi/webapp/components/Layout.tml +++ b/gepi/gepi-webapp/src/main/resources/de/julielab/gepi/webapp/components/Layout.tml @@ -39,7 +39,7 @@ Reset Session - + GePI Version ${symbol:tapestry.application-version} diff --git a/gepi/pom.xml b/gepi/pom.xml index a919a76b..d63a6a13 100644 --- a/gepi/pom.xml +++ b/gepi/pom.xml @@ -7,7 +7,7 @@ 2.5.0 gepi - 1.0.1 + 1.0.2 GePi The GePi parent project. pom diff --git a/gepi/readme-raw/README.md b/gepi/readme-raw/README.md index 8297a41f..3ce830a6 100644 --- a/gepi/readme-raw/README.md +++ b/gepi/readme-raw/README.md @@ -159,5 +159,5 @@ Update the new version number in the following places: * set `PRODUCTION_MODE` to true for releases * the Docker image version in the `docker-compose.yml` * the DB version in `gene-database.xml` in the `gepi-concept-database` module -* in execute `python ../../jcore-misc/jcore-scripts/createMetaDescriptors.py -c -i -r manual -v 1.0 gepi-indexing/gepi-indexing-base` given that `jcore-misc` has been cloned to the same directory as GePI +* execute `python ../../jcore-misc/jcore-scripts/createMetaDescriptors.py -c -i -r manual -v 1.0 gepi-indexing/gepi-indexing-base` given that `jcore-misc` has been cloned to the same base directory as GePI * this updates the description file for the use with the JCoRe pipeline builder \ No newline at end of file