import jalview.datamodel.SequenceI;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemeProperty;
-import jalview.schemes.ResidueProperties;
import jalview.schemes.UserColourScheme;
import java.io.BufferedReader;
}
else
{
- graphGroup_refs.put(key, new Object[]
- { refSeq, refGroup });
+ graphGroup_refs.put(key, new Object[] { refSeq, refGroup });
graphGroup.put(key, row.label);
}
}
text.append(properties.get(key));
}
// TODO: output alignment visualization settings here if required
- // iterate through one or more views, defining, marking columns and rows as visible/hidden, and emmitting view properties.
- // View specific annotation is
+ // iterate through one or more views, defining, marking columns and rows
+ // as visible/hidden, and emmitting view properties.
+ // View specific annotation is
}
return text.toString();
String refSeqId = null;
public boolean annotateAlignmentView(AlignViewportI viewport,
- String file, String protocol)
+ String file, DataSourceType protocol)
{
ColumnSelection colSel = viewport.getColumnSelection();
if (colSel == null)
}
boolean rslt = readAnnotationFile(viewport.getAlignment(), colSel,
file, protocol);
- if (rslt
- && (colSel.hasSelectedColumns() || colSel.hasHiddenColumns()))
+ if (rslt && (colSel.hasSelectedColumns() || colSel.hasHiddenColumns()))
{
viewport.setColumnSelection(colSel);
}
return rslt;
}
+
public boolean readAnnotationFile(AlignmentI al, String file,
- String protocol)
+ DataSourceType sourceType)
{
- return readAnnotationFile(al, null, file, protocol);
+ return readAnnotationFile(al, null, file, sourceType);
}
public boolean readAnnotationFile(AlignmentI al, ColumnSelection colSel,
- String file, String protocol)
+ String file, DataSourceType sourceType)
{
BufferedReader in = null;
try
{
- if (protocol.equals(AppletFormatAdapter.FILE))
+ if (sourceType == DataSourceType.FILE)
{
in = new BufferedReader(new FileReader(file));
}
- else if (protocol.equals(AppletFormatAdapter.URL))
+ else if (sourceType == DataSourceType.URL)
{
URL url = new URL(file);
in = new BufferedReader(new InputStreamReader(url.openStream()));
}
- else if (protocol.equals(AppletFormatAdapter.PASTE))
+ else if (sourceType == DataSourceType.PASTE)
{
in = new BufferedReader(new StringReader(file));
}
- else if (protocol.equals(AppletFormatAdapter.CLASSLOADER))
+ else if (sourceType == DataSourceType.CLASSLOADER)
{
java.io.InputStream is = getClass().getResourceAsStream("/" + file);
if (is != null)
private static String GRAPHLINE = "GRAPHLINE", COMBINE = "COMBINE";
public boolean parseAnnotationFrom(AlignmentI al, ColumnSelection colSel,
- BufferedReader in)
- throws Exception
+ BufferedReader in) throws Exception
{
nlinesread = 0;
ArrayList<Object[]> combineAnnotation_calls = new ArrayList<Object[]>();
else if (token.equalsIgnoreCase(COMBINE))
{
// keep a record of current state and resolve groupRef at end
- combineAnnotation_calls.add(new Object[]
- { st, refSeq, groupRef });
+ combineAnnotation_calls
+ .add(new Object[] { st, refSeq, groupRef });
modified = true;
continue;
}
else if (token.equalsIgnoreCase(GRAPHLINE))
{
// resolve at end
- deferredAnnotation_calls.add(new Object[]
- { GRAPHLINE, st, refSeq, groupRef });
+ deferredAnnotation_calls.add(new Object[] { GRAPHLINE, st,
+ refSeq, groupRef });
modified = true;
continue;
}
(SequenceI) _deferred_args[2], // refSeq
(_deferred_args[3] == null) ? null : groupRefLookup
.get(_deferred_args[3]) // the reference
- // group, or null
+ // group, or null
);
}
}
(SequenceI) _combine_args[1], // refSeq
(_combine_args[2] == null) ? null : groupRefLookup
.get(_combine_args[2]) // the reference group,
- // or null
+ // or null
);
}
}
private void parseHideCols(ColumnSelection colSel, String nextToken)
{
- StringTokenizer inval = new StringTokenizer(nextToken,",");
+ StringTokenizer inval = new StringTokenizer(nextToken, ",");
while (inval.hasMoreTokens())
{
String range = inval.nextToken().trim();
}
}
if (hasSymbols
- && (token.equals("H") || token.equals("E")
- || token.equals("S") || token.equals(" ")))
+ && (token.length() == 1 && "()<>[]{}AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
+ .contains(token)))
{
// Either this character represents a helix or sheet
// or an integer which can be displayed
else if (key.equalsIgnoreCase("consThreshold"))
{
sg.cs.setConservationInc(Integer.parseInt(value));
- Conservation c = new Conservation("Group",
- ResidueProperties.propHash, 3, sg.getSequences(null),
+ Conservation c = new Conservation("Group", sg.getSequences(null),
sg.getStartRes(), sg.getEndRes() + 1);
c.calculate();
*/
public String printCSVAnnotations(AlignmentAnnotation[] annotations)
{
+ if (annotations == null)
+ {
+ return "";
+ }
StringBuffer sp = new StringBuffer();
for (int i = 0; i < annotations.length; i++)
{