+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io.packed;
import jalview.datamodel.AlignmentI;
import jalview.io.packed.DataProvider.JvDataType;
import java.io.BufferedReader;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
// deuniquify and construct/merge additional dataset entries if
// necessary.
context.addAlignment(al);
+ context.updateSetModified(true);
rslt.add(al);
deuniquify = true;
}
{
br = new BufferedReader(src.getReader());
}
- new jalview.io.AnnotationFile().parseAnnotationFrom(
- context.getLastAlignment(), br);
+ // TODO: add columnSelection to context
+ if (new jalview.io.AnnotationFile().parseAnnotationFrom(
+ context.getLastAlignment(), null, br))
+ {
+ context.updateSetModified(true);
+ }
+ else
+ {
+ errmsg = "Annotation file contained no data.";
+ }
} catch (Exception e)
{
}
if (dta.getType().equals(JvDataType.FEATURES))
{
- // check the context has a place to store feature rendering definitions, if not, create one.
- if (context.featureColours==null)
+ // check the context has a place to store feature rendering definitions,
+ // if not, create one.
+ if (context.featureColours == null)
{
context.featureColours = new Hashtable();
}
try
{
jalview.io.FeaturesFile ff = new jalview.io.FeaturesFile(src);
- ff.parse(context.getLastAlignment(), context.featureColours,
- false);
+ context.updateSetModified(ff.parse(context.getLastAlignment(),
+ context.featureColours, false, context.relaxedIdMatching));
} catch (Exception e)
{
errmsg = ("Failed to parse the Features file associated with the alignment.");
context.addTreeFromFile(nf);
rslt.add(nf);
+ context.updateSetModified(true);
}
} catch (Exception e)
{
}
}
-
+ if (exerror != null)
+ {
+ if (errmsg != null && errmsg.length() > 0)
+ {
+ throw new IOException(errmsg, exerror);
+ }
+ else
+ {
+ throw new IOException(errmsg, exerror);
+ }
+ }
+ else
+ {
+ if (errmsg != null && errmsg.length() > 0)
+ {
+ throw new IOException(errmsg);
+ }
+ }
}
if (deuniquify)
{
// import with deuniquify info, and compare results to input.
}
+ else
+ {
+ if (context.getLastAlignmentSet().isModified())
+ {
+ System.err
+ .println("Initial alignment set was modified and any associated views should be updated.");
+ }
+ }
}
}