JAL-1260 v2 patch from David Roldán-Martínez
[jalview.git] / src / jalview / io / xdb / genbank / GenBankVersion.java
diff --git a/src/jalview/io/xdb/genbank/GenBankVersion.java b/src/jalview/io/xdb/genbank/GenBankVersion.java
new file mode 100644 (file)
index 0000000..85a2fd1
--- /dev/null
@@ -0,0 +1,89 @@
+package jalview.io.xdb.genbank;
+
+/**
+ * <p>A nucleotide sequence identification number that represents a single,
+ * specific sequence in the GenBank database. This identification number uses
+ * the accession.version format implemented by GenBank/EMBL/DDBJ in
+ * February 1999.</p>
+ * <p>If there is any change to the sequence data (even a single base), the
+ * version number will be increased, e.g., U12345.1 → U12345.2, but the
+ * accession portion will remain stable.</p>
+ * <p>The accession.version system of sequence identifiers runs parallel to
+ * the GI number system, i.e., when any change is made to a sequence, it
+ * receives a new GI number AND an increase to its version number.</p>
+ * <p>For more information, see section 1.3.2 of the GenBank 111.0 release
+ * notes, and section 3.4.7 of the current GenBank release notes.</p>
+ * <p>A Sequence Revision History tool is available to track the various GI
+ * numbers, version numbers, and update dates for sequences that appeared in
+ * a specific GenBank record (more information and example).</p>
+ * <p>More details about sequence identification numbers and the difference
+ * between GI number and version are provided in Sequence Identifiers:
+ * A Historical Note.</p>
+ * <p>Entrez Search Field: use the default setting of "All Fields"</p>
+ * <h1>GI</h1>
+ * <p>"GenInfo Identifier" sequence identification number, in this case, for
+ * the nucleotide sequence. If a sequence changes in any way, a new GI number
+ * will be assigned.</p>
+ * <p>A separate GI number is also assigned to each protein translation within
+ * a nucleotide sequence record, and a new GI is assigned if the protein
+ * translation changes in any way (see below).</p>
+ * <p>GI sequence identifiers run parallel to the new accession.version system
+ * of sequence identifiers. For more information, see the description of Version,
+ * above, and section 3.4.7 of the current GenBank release notes.</p>
+ * <p>A Sequence Revision History tool is available to track the various GI
+ * numbers, version numbers, and update dates for sequences that appeared in a
+ * specific GenBank record (more information and example).</p>
+ * <p>More details about sequence identification numbers and the difference
+ * between GI number and version are provided in Sequence Identifiers: A
+ * Historical Note.</p>
+ * <p>Entrez Search Field: use the default setting of "All Fields"</p>
+ * @author Dieval Guizelini
+ * @see Entry
+ */
+public class GenBankVersion {
+    private String version = "";
+    private String gi = "";
+
+    public GenBankVersion() {
+    }
+
+
+    /**
+     * @return the version
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * @param version the version to set
+     */
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+    /**
+     * @return the gi
+     */
+    public String getGI() {
+        return gi;
+    }
+
+    /**
+     * @param gi the gi to set
+     */
+    public void setGI(String gi) {
+        this.gi = gi;
+    }
+
+
+    /**
+     * Version section in GenBank File Format is text with two fields (version and GI).
+     *
+     * @return  version+" "+gi
+     */
+    @Override
+    public String toString() {
+        return String.format("%s %s",version,gi);
+    }
+}