/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
- * Copyright (C) 2015 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
import jalview.io.gff.GffHelperFactory;
import jalview.io.gff.GffHelperI;
import jalview.schemes.FeatureColour;
-import jalview.schemes.UserColourScheme;
+import jalview.util.ColorUtils;
import jalview.util.MapList;
import jalview.util.ParseHtmlBodyAndLinks;
import jalview.util.StringUtils;
+import java.awt.Color;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
* Constructor which does not parse the file immediately
*
* @param inFile
- * @param type
+ * @param paste
* @throws IOException
*/
- public FeaturesFile(String inFile, String type) throws IOException
+ public FeaturesFile(String inFile, DataSourceType paste)
+ throws IOException
{
- super(false, inFile, type);
+ super(false, inFile, paste);
}
/**
* @param type
* @throws IOException
*/
- public FeaturesFile(boolean parseImmediately, String inFile, String type)
- throws IOException
+ public FeaturesFile(boolean parseImmediately, String inFile,
+ DataSourceType type) throws IOException
{
super(parseImmediately, inFile, type);
}
*/
protected boolean parseJalviewFeature(String line, String[] gffColumns,
AlignmentI alignment, Map<String, FeatureColourI> featureColours,
- boolean removeHTML, boolean relaxedIdMatching, String featureGroup)
+ boolean removeHTML, boolean relaxedIdMatching,
+ String featureGroup)
{
/*
* tokens: description seqid seqIndex start end type [score]
* Perhaps an old style groups file with no colours -
* synthesize a colour from the feature type
*/
- UserColourScheme ucs = new UserColourScheme(ft);
- featureColours.put(ft, new FeatureColour(ucs.findColour('A')));
+ Color colour = ColorUtils.createColourFromName(ft);
+ featureColours.put(ft, new FeatureColour(colour));
}
- SequenceFeature sf = new SequenceFeature(ft, desc, "", startPos,
- endPos, featureGroup);
+ SequenceFeature sf = new SequenceFeature(ft, desc, "", startPos, endPos,
+ featureGroup);
if (gffColumns.length > 6)
{
float score = Float.NaN;
for (int j = 0; j < features.length; j++)
{
isnonpos = features[j].begin == 0 && features[j].end == 0;
- if ((!nonpos && isnonpos)
- || (!isnonpos && visOnly && !visible
- .containsKey(features[j].type)))
+ if ((!nonpos && isnonpos) || (!isnonpos && visOnly
+ && !visible.containsKey(features[j].type)))
{
continue;
}
{
isnonpos = sequenceFeature.begin == 0
&& sequenceFeature.end == 0;
- if ((!nonpos && isnonpos)
- || (!isnonpos && visOnly && !visible
- .containsKey(sequenceFeature.type)))
+ if ((!nonpos && isnonpos) || (!isnonpos && visOnly
+ && !visible.containsKey(sequenceFeature.type)))
{
// skip if feature is nonpos and we ignore them or if we only
// output visible and it isn't non-pos and it's not visible
continue;
}
- if (group != null
- && (sequenceFeature.featureGroup == null || !sequenceFeature.featureGroup
- .equals(group)))
+ if (group != null && (sequenceFeature.featureGroup == null
+ || !sequenceFeature.featureGroup.equals(group)))
{
continue;
}
}
else
{
- if (sequenceFeature.links != null
- && sequenceFeature.getDescription().indexOf("<html>") == -1)
+ if (sequenceFeature.links != null && sequenceFeature
+ .getDescription().indexOf("<html>") == -1)
{
out.append("<html>");
}
if (sequenceFeature.description.indexOf(href) == -1)
{
- out.append(" <a href=\"" + href + "\">" + label
- + "</a>");
+ out.append(
+ " <a href=\"" + href + "\">" + label + "</a>");
}
}
- if (sequenceFeature.getDescription().indexOf("</html>") == -1)
+ if (sequenceFeature.getDescription()
+ .indexOf("</html>") == -1)
{
out.append("</html>");
}
dataset = new Alignment(new SequenceI[] {});
}
- boolean parseResult = parse(dataset, null, false, true);
+ Map<String, FeatureColourI> featureColours = new HashMap<String, FeatureColourI>();
+ boolean parseResult = parse(dataset, featureColours, false, true);
if (!parseResult)
{
// pass error up somehow
* @return error message
*/
@Override
- public String print()
+ public String print(SequenceI[] sqs, boolean jvsuffix)
{
- return "Use printGffFormat() or printJalviewFormat()";
+ System.out.println("Use printGffFormat() or printJalviewFormat()");
+ return null;
}
/**
fromCount = Integer.parseInt(tokens[2]);
} catch (NumberFormatException nfe)
{
- throw new IOException("Invalid number in Align field: "
- + nfe.getMessage());
+ throw new IOException(
+ "Invalid number in Align field: " + nfe.getMessage());
}
/*
* @param newseqs
* @throws IOException
*/
- protected void processGffPragma(String line,
- Map<String, String> gffProps, AlignmentI align,
- List<SequenceI> newseqs) throws IOException
+ protected void processGffPragma(String line, Map<String, String> gffProps,
+ AlignmentI align, List<SequenceI> newseqs) throws IOException
{
line = line.trim();
if ("###".equals(line))