use of org.edamontology.edammap.core.mapping.MatchAverageStats in project edammap by edamontology.
the class Report method writeMatches.
private static void writeMatches(ScoreArgs scoreArgs, Writer writer, Map<EdamUri, Concept> concepts, Query query, List<Publication> publications, MappingTest mapping) throws IOException {
for (Branch branch : Branch.values()) {
List<MatchTest> matches = mapping.getMatches(branch);
if (matches.isEmpty())
continue;
writer.write("\t\t<div class=\"branch " + branch + "\">\n");
writer.write("\t\t\t<h3>" + branch + "</h3>\n");
for (MatchTest matchTest : matches) {
Match match = matchTest.getMatch();
writer.write("\t\t\t<div class=\"match " + matchTest.getTest().name() + "\">\n");
writer.write("\t\t\t\t<div class=\"match-div\">\n");
writeConcept(writer, concepts, match);
writeQueryMatch(writer, query, publications, match.getQueryMatch(), true);
writer.write("\t\t\t\t\t<div class=\"type\">" + match.getConceptMatch().getType() + "</div>\n");
writeScore(scoreArgs, writer, branch, match);
writer.write("\t\t\t\t</div>\n");
List<MatchAverageStats> matchAverageStats = match.getMatchAverageStats();
if (matchAverageStats != null && !matchAverageStats.isEmpty()) {
// TODO
Concept concept = concepts.get(match.getEdamUri());
writer.write("\t\t\t\t<div class=\"details-div\">\n");
writer.write("\t\t\t\t\t<div class=\"details\" tabindex=\"0\"></div>\n");
writer.write("\t\t\t\t\t<div class=\"details-box\" tabindex=\"0\">\n");
for (MatchAverageStats mas : matchAverageStats) {
writer.write("\t\t\t\t\t\t<div><div>");
writeQueryMatch(writer, query, publications, mas.getQueryMatch(), false);
writer.write("<br>" + percent(mas.getQueryMatch().getScore()) + "</div><div>");
ConceptMatchType conceptType = mas.getConceptMatch().getType();
writer.write("<span>" + conceptType + "</span>");
if (conceptType != ConceptMatchType.definition && conceptType != ConceptMatchType.comment && conceptType != ConceptMatchType.none) {
writer.write("<br>" + conceptMatchString(concept, mas.getConceptMatch()));
}
writer.write("<br>" + percent(mas.getConceptMatch().getScore()) + "</div><div>");
writer.write("<span>" + percent(mas.getScore()) + "</span></div></div>\n");
}
writer.write("\t\t\t\t\t</div>\n");
writer.write("\t\t\t\t</div>\n");
}
writer.write("\t\t\t</div>\n");
}
writer.write("\t\t</div>\n");
}
}
Aggregations