import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.io.FileParse;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
hitseq.addAlignmentAnnotation(eval);
alipp.createSequenceMapping(hitseq, hitseq.getStart(), false);
hitseq.addAlignmentAnnotation(alipp);
+ String arch;
hitseq.addSequenceFeature(new SequenceFeature(
"Pfam Domain Architecture", (hmmrhit.get("archindex"))
- + " "
- + (String) hmmrhit.get("arch"), 0, 0, Integer
- .valueOf((String) hmmrhit.get("archScore")),
+ + " " + (arch = (String) hmmrhit.get("arch")), 0,
+ 0, Integer.valueOf((String) hmmrhit.get("archScore")),
"HMMER3"));
+ addArchGroup(hitseq, arch);
alipp.setScore(Double.valueOf("" + dhit.get("bitscore")));
alipp.adjustForAlignment();
resultAl.addAnnotation(pval);
System.err.println("Warn - multiple matches for json hit " + sname
+ "/" + alisqfrom + "-" + alisqto);
}
+ // look for other sequences represented by this hit and create
+ }
+ }
+
+ Map<String, SequenceGroup> groups = new HashMap<String, SequenceGroup>();
+
+ private void addArchGroup(SequenceI seqToAdd, String groupNam)
+ {
+ SequenceGroup sg = groups.get(groupNam);
+ if (sg == null)
+ {
+ sg = new SequenceGroup();
+ sg.setName(groupNam);
+ sg.addSequence(seqToAdd, false);
+ sg.setStartRes(0);
+ sg.setEndRes(resultAl.getWidth() - 1);
+ groups.put(groupNam, sg);
+ resultAl.addGroup(sg);
+ }
+ else
+ {
+ sg.addSequence(seqToAdd, false);
}
}