X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fgff%2FGffHelperI.java;h=387ee60fe2e33cb061b5dc02be476dd5e10ec8fc;hb=efb5cfa00ee832a62dfdf59f5fb847a0e16424d9;hp=3d9dc6f6d0045886e88134f6232b96ed295fedcf;hpb=8f920d337154e092f5f9056ffde3cdf2735eca43;p=jalview.git
diff --git a/src/jalview/io/gff/GffHelperI.java b/src/jalview/io/gff/GffHelperI.java
index 3d9dc6f..387ee60 100644
--- a/src/jalview/io/gff/GffHelperI.java
+++ b/src/jalview/io/gff/GffHelperI.java
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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 .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io.gff;
import jalview.datamodel.AlignmentI;
@@ -15,6 +35,12 @@ import java.util.List;
*/
public interface GffHelperI
{
+ /*
+ * GFF3 spec requires comma, equals, semi-colon, tab, percent characters to be
+ * encoded as %2C, %3D, %3B, %09, %25 respectively within data values
+ * see https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md
+ */
+ final String GFF_ENCODABLE = ",=;\t%";
final String RENAME_TOKEN = "$RENAME_TO$";
@@ -35,9 +61,8 @@ public interface GffHelperI
* @throws IOException
*/
SequenceFeature processGff(SequenceI seq, String[] gffColumns,
- AlignmentI align,
- List newseqs, boolean relaxedIdMatching)
- throws IOException;
+ AlignmentI align, List newseqs,
+ boolean relaxedIdMatching) throws IOException;
// java 8 will allow static methods in interfaces:
// static boolean recognises(String [] columns);