package jalview.io.gff; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import java.io.IOException; import java.util.List; /** * An interface to described common functionality of different flavours of GFF * * @author gmcarstairs * */ public interface GffHelperI { final String RENAME_TOKEN = "$RENAME_TO$"; /** * Process one GFF feature line * * @param seq * the sequence with which this feature is associated * @param gffColumns * the GFF column data * @param align * the alignment we are adding GFF to * @param newseqs * any new sequences referenced by the GFF * @param relaxedIdMatching * if true, match word tokens in sequence names * @return a SequenceFeature if one should be created, else null * @throws IOException */ SequenceFeature processGff(SequenceI seq, String[] gffColumns, AlignmentI align, List newseqs, boolean relaxedIdMatching) throws IOException; // java 8 will allow static methods in interfaces: // static boolean recognises(String [] columns); }