package org.nextprot.api.tasks.annotcat; import org.nextprot.api.commons.constants.AnnotationCategoryStringWriter; import org.nextprot.api.commons.constants.AnnotationCategory; /** * Export tree as graph dot format (http://www.graphviz.org/content/dot-language). * * Created by fnikitin on 17/06/15. */ class AnnotationCategoryStringWriterDot extends AnnotationCategoryStringWriter { //dot -Teps annotations.dot -o annotations.ps; pstopdf annotations.ps annotations.pdf AnnotationCategoryStringWriterDot(String graphName) { super(graphName); } @Override protected void writeEdge(AnnotationCategory parent, AnnotationCategory child, StringBuilder sb) { sb.append("\t"); sb.append(parent.getApiTypeName()); sb.append(" -- "); sb.append(child.getApiTypeName()).append(" ;\n"); } @Override protected String getHeader() { StringBuilder header = new StringBuilder(); header.append("graph ").append(getName()).append(" {\n"); header.append("\tnodesep=0.1; ranksep=0.5; ratio=compress; size=\"7.5,10\"; center=true; node [style=\"rounded,filled\", width=0, height=0, shape=box, fillcolor=\"#E5E5E5\", concentrate=true]\n"); return header.toString(); } @Override protected String getFooter() { return "}"; } }