import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.DynamicData;
+import jalview.datamodel.DynamicData.DataType;
import jalview.datamodel.GraphLine;
import jalview.datamodel.HiddenSequences;
import jalview.datamodel.PDBEntry;
PDBEntry phyre2PDBEntry = new PDBEntry(modelName, " ",
Type.PDB,
structureModelFile);
- String phyre2ModelDesc = generatePhyre2InfoHTMLTable(
+ List<DynamicData> phyreDD = generatePhyreDynamicDataList(
structModelHeader, structModelData);
- phyre2PDBEntry.setProperty("PHYRE2_MODEL_INFO", phyre2ModelDesc);
+ phyre2PDBEntry.setProperty("DYNAMIC_DATA_PHYRE2", phyreDD);
templateSeq.getDatasetSequence().addPDBId(phyre2PDBEntry);
if (querySequence != null)
{
return added;
}
- static String generatePhyre2InfoHTMLTable(String[] structModelHeader,
- String[] structModelData)
+ static List<DynamicData> generatePhyreDynamicDataList(
+ String[] headerArray,
+ String[] dataArray)
{
- StringBuilder phyre2InfoBuilder = new StringBuilder();
- if (isGenerateStructInfoHtml(structModelHeader, structModelData))
+
+ if (headerArray == null || dataArray == null)
{
- phyre2InfoBuilder.append("<html><table border=\"1\" width=100%>")
- .append("<tr><td colspan=\"2\"><strong>Phyre2 Template Info</strong></td></tr>");
- for (int x = 4; x < structModelData.length; x++)
- {
- phyre2InfoBuilder.append("<tr><td>").append(structModelHeader[x])
- .append("</td><td>").append(structModelData[x])
- .append("</td></tr>");
- }
- phyre2InfoBuilder.append("</table></html>");
+ throw new IllegalArgumentException(
+ "Header or data arrays must not be null");
}
- return phyre2InfoBuilder.toString();
- }
- static boolean isGenerateStructInfoHtml(String[] header, String[] data)
- {
- boolean generate = true;
- if (header == null || data == null)
+ if (headerArray.length != dataArray.length)
{
- return false;
+ throw new IllegalArgumentException(
+ "Header and data arrays must be of same lenght");
}
- if (header.length < 3 || data.length < 3)
+ List<DynamicData> dynamicDataList = new ArrayList<DynamicData>();
+ int x = 0;
+ for (String data : dataArray)
{
- generate = false;
+ // first four column should be hidden;
+ boolean show = (x > 4);
+ dynamicDataList.add(new DynamicData(headerArray[x], data, DataType.S,
+ "PHYRE2", show));
+ x++;
}
- return generate;
+ return dynamicDataList;
}
static String resolveAbsolutePath(String relURI, String _baseUri)