diff --git a/owlsim-core/pom.xml b/owlsim-core/pom.xml index 9ae54f4..f2d9372 100644 --- a/owlsim-core/pom.xml +++ b/owlsim-core/pom.xml @@ -1,192 +1,201 @@ - 4.0.0 - - owlsim - org.monarchinitiative.owlsim - 3.0-SNAPSHOT - - owlsim-core - jar - owlsim-core + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + 4.0.0 + + owlsim + org.monarchinitiative.owlsim + 3.0-SNAPSHOT + + owlsim-core + jar + owlsim-core - - 2.11.2 - + + 2.11.2 + - - + + - org.apache.maven.plugins - maven-assembly-plugin - - owlsim - false - false - ${project.parent.basedir}/bin - - jar-with-dependencies - - - - true - org.monarchinitiative.owlsim.compute.runner.RunEngine - - - - - - make-assembly - package - - single - - - + org.apache.maven.plugins + maven-assembly-plugin + + owlsim + false + false + ${project.parent.basedir}/bin + + jar-with-dependencies + + + + true + org.monarchinitiative.owlsim.compute.runner.RunEngine + + + + + + make-assembly + package + + single + + + - org.apache.maven.plugins - maven-failsafe-plugin - 2.18.1 - - - - integration-test - verify - - - + org.apache.maven.plugins + maven-failsafe-plugin + 2.18.1 + + + + integration-test + verify + + + - - - - - - org.apache.jena - jena-core - ${jena.version} - - - org.apache.jena - jena-arq - ${jena.version} - - - net.sourceforge.owlapi - owlapi-apibinding - ${owlapi.version} - - - net.sourceforge.owlapi - owlapi-api - ${owlapi.version} - - - net.sourceforge.owlapi - owlapi-contract - ${owlapi.version} - - - net.sourceforge.owlapi - owlapi-distribution - ${owlapi.version} - - - net.sourceforge.owlapi - owlapi-impl - ${owlapi.version} - - - net.sourceforge.owlapi - owlapi-parsers - ${owlapi.version} - - - net.sourceforge.owlapi - owlapi-tools - ${owlapi.version} - - - log4j - log4j - 1.2.17 - - - mail - javax.mail - - - jms - javax.jms - - - jmxtools - com.sun.jdmk - - - jmxri - com.sun.jmx - - - - - org.apache.ant - ant - 1.8.2 - - - commons-io - commons-io - 2.2 - - - org.semanticweb.elk - elk-owlapi - 0.4.1 - - - com.google.code.gson - gson - 2.2.4 - - - net.sourceforge.owlapi - jfact - 1.0.0 - - - jline - jline - 0.9.93 - - - junit - junit - - - - - org.apache.geronimo.specs - geronimo-javamail_1.4_spec - 1.6 - - - com.googlecode.javaewah - JavaEWAH - 0.7.7 - - - org.apache.commons - commons-math3 - 3.3 - - - commons-validator - commons-validator - 1.4.0 - - + + + + + org.apache.jena + jena-core + ${jena.version} + + + org.apache.jena + jena-arq + ${jena.version} + + + net.sourceforge.owlapi + owlapi-apibinding + ${owlapi.version} + + + net.sourceforge.owlapi + owlapi-api + ${owlapi.version} + + + net.sourceforge.owlapi + owlapi-contract + ${owlapi.version} + + + net.sourceforge.owlapi + owlapi-distribution + ${owlapi.version} + + + net.sourceforge.owlapi + owlapi-impl + ${owlapi.version} + + + net.sourceforge.owlapi + owlapi-parsers + ${owlapi.version} + + + net.sourceforge.owlapi + owlapi-tools + ${owlapi.version} + + + log4j + log4j + 1.2.17 + + + mail + javax.mail + + + jms + javax.jms + + + jmxtools + com.sun.jdmk + + + jmxri + com.sun.jmx + + + + + org.apache.ant + ant + 1.8.2 + + + commons-io + commons-io + 2.2 + + + org.semanticweb.elk + elk-owlapi + 0.4.1 + + + com.google.code.gson + gson + 2.2.4 + + + net.sourceforge.owlapi + jfact + 1.0.0 + + + jline + jline + 0.9.93 + + + junit + junit + + + + + org.apache.geronimo.specs + geronimo-javamail_1.4_spec + 1.6 + + + com.googlecode.javaewah + JavaEWAH + 0.7.7 + + + org.apache.commons + commons-math3 + 3.3 + + + commons-validator + commons-validator + 1.4.0 + + + org.phenopackets + phenopackets-api + 0.0.4 + + + junit + junit + 4.12 + + diff --git a/owlsim-core/src/main/java/org/monarchinitiative/owlsim/io/OWLLoader.java b/owlsim-core/src/main/java/org/monarchinitiative/owlsim/io/OWLLoader.java index 00964bb..97760eb 100644 --- a/owlsim-core/src/main/java/org/monarchinitiative/owlsim/io/OWLLoader.java +++ b/owlsim-core/src/main/java/org/monarchinitiative/owlsim/io/OWLLoader.java @@ -5,10 +5,15 @@ import java.util.List; import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; import org.monarchinitiative.owlsim.kb.BMKnowledgeBase; import org.monarchinitiative.owlsim.kb.impl.BMKnowledgeBaseOWLAPIImpl; +import org.phenopackets.api.PhenoPacket; +import org.phenopackets.api.io.JsonReader; +import org.phenopackets.api.io.YamlReader; +import org.phenopackets.api.model.association.PhenotypeAssociation; +import org.phenopackets.api.model.ontology.OntologyClass; +import org.phenopackets.api.util.ContextUtil; import org.semanticweb.elk.owlapi.ElkReasonerFactory; import org.semanticweb.owlapi.apibinding.OWLManager; import org.semanticweb.owlapi.model.IRI; @@ -20,6 +25,8 @@ import org.semanticweb.owlapi.reasoner.OWLReasoner; import org.semanticweb.owlapi.reasoner.OWLReasonerFactory; +import com.github.jsonldjava.core.Context; +import com.github.jsonldjava.core.JsonLdError; import com.google.common.base.Preconditions; /** @@ -145,7 +152,24 @@ public void loadDataFromTsv(String path) throws OWLOntologyCreationException, IO Preconditions.checkNotNull(owlDataOntology); } - + public void loadDataFromPhenoPacket(String path) throws IOException, JsonLdError { + File f = new File(path); + PhenoPacket packet; + try { + packet = JsonReader.readFile(f); + } catch (IOException e) { + packet = YamlReader.readFile(f); + } + Context context = ContextUtil.getJSONLDContext(packet); + for (PhenotypeAssociation association : packet.getPhenotypeAssociations()) { + String instance = ContextUtil.expandIdentifierAsValue(association.getEntityId(), context); + for (OntologyClass type : association.getPhenotype().getTypes()) { + // PhenoPacket types are not expanded as JSON-LD @type fields + String term = ContextUtil.expandIdentifierAsValue(type.getId(), context); + addInstanceOf(instance, term); + } + } + } private IRI getIRI(String id) { // TODO - use json-ld diff --git a/owlsim-services/pom.xml b/owlsim-services/pom.xml index 3b3380e..d3589e5 100644 --- a/owlsim-services/pom.xml +++ b/owlsim-services/pom.xml @@ -1,104 +1,113 @@ - - 4.0.0 - - org.monarchinitiative.owlsim - owlsim - 3.0-SNAPSHOT - - owlsim-services - owlsim REST services + + 4.0.0 + + org.monarchinitiative.owlsim + owlsim + 3.0-SNAPSHOT + + owlsim-services + owlsim REST services - - - org.monarchinitiative.owlsim - owlsim-core - 3.0-SNAPSHOT - - - slf4j-log4j12 - org.slf4j - - - - - io.dropwizard - dropwizard-core - ${dropwizard.version} - - - io.dropwizard - dropwizard-assets - ${dropwizard.version} - - - io.dropwizard - dropwizard-testing - ${dropwizard.version} - test - - - com.wordnik - swagger-jaxrs_2.10 - 1.3.7 - - - net.sf.dozer - dozer - 5.5.1 - - - slf4j-log4j12 - org.slf4j - - - - + + + org.monarchinitiative.owlsim + owlsim-core + 3.0-SNAPSHOT + + + slf4j-log4j12 + org.slf4j + + + + + io.dropwizard + dropwizard-core + ${dropwizard.version} + + + io.dropwizard + dropwizard-assets + ${dropwizard.version} + + + io.dropwizard + dropwizard-testing + ${dropwizard.version} + test + + + com.wordnik + swagger-jaxrs_2.10 + 1.3.7 + + + net.sf.dozer + dozer + 5.5.1 + + + slf4j-log4j12 + org.slf4j + + + + + junit + junit + 4.12 + test + + - - - - org.apache.maven.plugins - maven-shade-plugin - 1.6 - - true - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - package - - shade - - - - - - org.monarchinitiative.owlsim.services.OwlSimServiceApplication - - - - - - - - org.apache.maven.plugins - maven-deploy-plugin - 2.8.1 - - true - - - - + + + + org.apache.maven.plugins + maven-shade-plugin + 1.6 + + true + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + + package + + shade + + + + + + org.monarchinitiative.owlsim.services.OwlSimServiceApplication + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.1 + + true + + + + - \ No newline at end of file + \ No newline at end of file