X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FUniprot.java;h=c311ea9e2d685ec997be71934814627c5bb58ea4;hb=10cb8ffc129d24c1a4bc506199d2e144ec99c038;hp=274ad3248e81f57142e07e2a956d93d2cbd7377c;hpb=11f6e7a63cc627f5dffb0dd382343bd99d15121c;p=jalview.git diff --git a/src/jalview/ws/dbsources/Uniprot.java b/src/jalview/ws/dbsources/Uniprot.java index 274ad32..c311ea9 100644 --- a/src/jalview/ws/dbsources/Uniprot.java +++ b/src/jalview/ws/dbsources/Uniprot.java @@ -316,25 +316,43 @@ public class Uniprot extends DbSourceProxyImpl int p = 0; for (String var : variants) { - // TODO proper HGVC nomenclature for delins structural variations + // TODO proper HGVS nomenclature for delins structural variations + // http://varnomen.hgvs.org/recommendations/protein/variant/delins/ + // for now we are pragmatic - any orig/variant sequence longer than + // three characters is shown with single-character notation rather than + // three-letter notation sb.append("p."); - for (int c = 0, clen = orig.length(); c < clen; c++) + if (orig.length() < 4) { - char origchar = orig.charAt(c); - String orig3 = ResidueProperties.aa2Triplet.get("" + origchar); - sb.append(orig3 == null ? origchar - : StringUtils.toSentenceCase(orig3)); + for (int c = 0, clen = orig.length(); c < clen; c++) + { + char origchar = orig.charAt(c); + String orig3 = ResidueProperties.aa2Triplet.get("" + origchar); + sb.append(orig3 == null ? origchar + : StringUtils.toSentenceCase(orig3)); + } + } + else + { + sb.append(orig); } sb.append(Integer.toString(uf.getPosition())); - for (int c = 0, clen = var.length(); c < clen; c++) + if (var.length() < 4) { - char varchar = var.charAt(c); - String var3 = ResidueProperties.aa2Triplet.get("" + varchar); - - sb.append(var3 != null ? StringUtils.toSentenceCase(var3) - : "" + varchar); + for (int c = 0, clen = var.length(); c < clen; c++) + { + char varchar = var.charAt(c); + String var3 = ResidueProperties.aa2Triplet.get("" + varchar); + + sb.append(var3 != null ? StringUtils.toSentenceCase(var3) + : "" + varchar); + } + } + else + { + sb.append(var); } if (++p != variants.size()) {