diff --git a/exomiser-core/pom.xml b/exomiser-core/pom.xml
index 54ea8b457..608d34a43 100644
--- a/exomiser-core/pom.xml
+++ b/exomiser-core/pom.xml
@@ -36,6 +36,11 @@
18.2.0
+
+ com.github.p2gx.boqa
+ boqa-core
+ 0.1.0-SNAPSHOT
+
de.charite.compbio
diff --git a/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/BoqaPriority.java b/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/BoqaPriority.java
new file mode 100644
index 000000000..1b2759aa5
--- /dev/null
+++ b/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/BoqaPriority.java
@@ -0,0 +1,64 @@
+package org.monarchinitiative.exomiser.core.prioritisers;
+
+import com.github.p2gx.boqa.core.DiseaseData;
+import org.monarchinitiative.exomiser.core.model.Gene;
+import org.monarchinitiative.exomiser.core.prioritisers.service.PriorityService;
+
+import java.nio.file.Path;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Stream;
+
+public class BoqaPriority implements Prioritiser {
+
+ public static class ExomiserDiseaseData implements DiseaseData {
+ private final PriorityService priorityService;
+
+ public ExomiserDiseaseData(PriorityService priorityService) {
+ this.priorityService = priorityService;
+ }
+
+ @Override
+ public int size() {
+ return 0;
+ }
+
+ @Override
+ public Set getDiseaseIds() {
+ return Set.of();
+ }
+
+ @Override
+ public Set getIncludedDiseaseFeatures(String diseaseTermId) {
+ return new HashSet<>(this.priorityService.getHpoIdsForDiseaseId(diseaseTermId));
+ }
+
+ @Override
+ public Set getDiseaseGeneIds(String s) {
+ return Set.of();
+ }
+
+ @Override
+ public Set getDiseaseGeneSymbols(String s) {
+ return Set.of();
+ }
+ }
+
+
+
+
+ public BoqaPriority(PriorityService priorityService, Path hpOboPath){
+ DiseaseData diseaseData = new ExomiserDiseaseData(priorityService);
+ }
+
+ @Override
+ public Stream prioritise(List hpoIds, List genes) {
+ return Stream.empty();
+ }
+
+ @Override
+ public PriorityType priorityType() {
+ return PriorityType.BOQA_PRIORITY;
+ }
+}
diff --git a/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/BoqaPriorityResult.java b/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/BoqaPriorityResult.java
new file mode 100644
index 000000000..9e7699719
--- /dev/null
+++ b/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/BoqaPriorityResult.java
@@ -0,0 +1,23 @@
+package org.monarchinitiative.exomiser.core.prioritisers;
+
+public record BoqaPriorityResult() implements PriorityResult{
+ @Override
+ public int geneId() {
+ return 0;
+ }
+
+ @Override
+ public String geneSymbol() {
+ return "";
+ }
+
+ @Override
+ public double score() {
+ return 0;
+ }
+
+ @Override
+ public PriorityType priorityType() {
+ return null;
+ }
+}
diff --git a/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/PriorityType.java b/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/PriorityType.java
index 9b2800922..f4f41f9df 100644
--- a/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/PriorityType.java
+++ b/exomiser-core/src/main/java/org/monarchinitiative/exomiser/core/prioritisers/PriorityType.java
@@ -36,6 +36,8 @@ public enum PriorityType {
PHIVE_PRIORITY,
//Prioritises against OMIM data
OMIM_PRIORITY,
+ // Bayesian Ontology Query Algorithm
+ BOQA_PRIORITY,
//None - for when you don't want to run any prioritisation
NONE