JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / bin / jalview / util / DBRefUtils.js
1 Clazz.declarePackage ("jalview.util");\r
2 Clazz.load (["java.util.HashMap"], "jalview.util.DBRefUtils", ["jalview.datamodel.DBRefEntry", "$.DBRefSource", "$.PDBEntry", "jalview.jsdev.RegExp", "java.util.ArrayList", "$.Hashtable"], function () {\r
3 c$ = Clazz.declareType (jalview.util, "DBRefUtils");\r
4 c$.selectRefs = Clazz.defineMethod (c$, "selectRefs", \r
5 function (dbrefs, sources) {\r
6 if (dbrefs == null) {\r
7 return null;\r
8 }if (sources == null) {\r
9 return dbrefs;\r
10 }var srcs =  new java.util.HashMap ();\r
11 var res =  new java.util.ArrayList ();\r
12 for (var i = 0; i < sources.length; i++) {\r
13 srcs.put ( String.instantialize (sources[i]),  new Integer (i));\r
14 }\r
15 for (var i = 0, j = dbrefs.length; i < j; i++) {\r
16 if (srcs.containsKey (dbrefs[i].getSource ())) {\r
17 res.add (dbrefs[i]);\r
18 }}\r
19 if (res.size () > 0) {\r
20 var reply =  new Array (res.size ());\r
21 return res.toArray (reply);\r
22 }res = null;\r
23 return null;\r
24 }, "~A,~A");\r
25 c$.isDasCoordinateSystem = Clazz.defineMethod (c$, "isDasCoordinateSystem", \r
26 function (string, dBRefEntry) {\r
27 if (string == null || dBRefEntry == null) {\r
28 return false;\r
29 }var coordsys = jalview.util.DBRefUtils.dasCoordinateSystemsLookup.get (string.toLowerCase ());\r
30 return coordsys == null ? false : coordsys.equals (dBRefEntry.getSource ());\r
31 }, "~S,jalview.datamodel.DBRefEntry");\r
32 c$.getCanonicalName = Clazz.defineMethod (c$, "getCanonicalName", \r
33 function (source) {\r
34 if (source == null) {\r
35 return null;\r
36 }var canonical = jalview.util.DBRefUtils.canonicalSourceNameLookup.get (source.toLowerCase ());\r
37 return canonical == null ? source : canonical;\r
38 }, "~S");\r
39 c$.searchRefs = Clazz.defineMethod (c$, "searchRefs", \r
40 function (ref, entry) {\r
41 return jalview.util.DBRefUtils.searchRefs (ref, entry, jalview.util.DBRefUtils.matchDbAndIdAndEitherMapOrEquivalentMapList);\r
42 }, "~A,jalview.datamodel.DBRefEntry");\r
43 c$.searchRefs = Clazz.defineMethod (c$, "searchRefs", \r
44 function (refs, entry, comparator) {\r
45 if (refs == null || entry == null) {\r
46 return null;\r
47 }var rfs =  new java.util.ArrayList ();\r
48 for (var i = 0; i < refs.length; i++) {\r
49 if (comparator.matches (entry, refs[i])) {\r
50 rfs.add (refs[i]);\r
51 }}\r
52 return rfs.size () == 0 ? null : rfs.toArray ( new Array (rfs.size ()));\r
53 }, "~A,jalview.datamodel.DBRefEntry,jalview.util.DBRefUtils.DbRefComp");\r
54 c$.parseToDbRef = Clazz.defineMethod (c$, "parseToDbRef", \r
55 function (seq, dbname, version, acn) {\r
56 var ref = null;\r
57 if (dbname != null) {\r
58 var locsrc = jalview.util.DBRefUtils.getCanonicalName (dbname);\r
59 if (locsrc.equals (jalview.datamodel.DBRefSource.PDB)) {\r
60 var r = jalview.jsdev.RegExp.newRegex (["([0-9][0-9A-Za-z]{3})\\s*(.?)\\s*;\\s*([0-9]+)-([0-9]+)"]);\r
61 if (r.search (acn.trim ())) {\r
62 var pdbid = r.stringMatchedI (1);\r
63 var chaincode = r.stringMatchedI (2);\r
64 if (chaincode == null) {\r
65 chaincode = " ";\r
66 }if (chaincode.equals (" ")) {\r
67 chaincode = "_";\r
68 }ref =  new jalview.datamodel.DBRefEntry (locsrc, version, pdbid + chaincode);\r
69 var pdbr =  new jalview.datamodel.PDBEntry ();\r
70 pdbr.setId (pdbid);\r
71 pdbr.setType (jalview.datamodel.PDBEntry.Type.PDB);\r
72 pdbr.setProperty ( new java.util.Hashtable ());\r
73 pdbr.setChainCode (chaincode);\r
74 seq.addPDBId (pdbr);\r
75 } else {\r
76 System.err.println ("Malformed PDB DR line:" + acn);\r
77 }} else {\r
78 ref =  new jalview.datamodel.DBRefEntry (locsrc, version, acn);\r
79 }}if (ref != null) {\r
80 seq.addDBRef (ref);\r
81 }return ref;\r
82 }, "jalview.datamodel.SequenceI,~S,~S,~S");\r
83 c$.$DBRefUtils$1$ = function () {\r
84 Clazz.pu$h ();\r
85 c$ = Clazz.declareAnonymous (jalview.util, "DBRefUtils$1", null, jalview.util.DBRefUtils.DbRefComp);\r
86 Clazz.defineMethod (c$, "matches", \r
87 function (refa, refb) {\r
88 if (refa.getSource () == null || refb.getSource ().equals (refa.getSource ())) {\r
89 if (refa.getVersion () == null || refb.getVersion ().equals (refa.getVersion ())) {\r
90 if (refa.getAccessionId () == null || refb.getAccessionId ().equals (refa.getAccessionId ())) {\r
91 if (refa.getMap () == null || (refb.getMap () != null && refb.getMap ().equals (refa.getMap ()))) {\r
92 return true;\r
93 }}}}return false;\r
94 }, "jalview.datamodel.DBRefEntry,jalview.datamodel.DBRefEntry");\r
95 c$ = Clazz.p0p ();\r
96 };\r
97 c$.$DBRefUtils$2$ = function () {\r
98 Clazz.pu$h ();\r
99 c$ = Clazz.declareAnonymous (jalview.util, "DBRefUtils$2", null, jalview.util.DBRefUtils.DbRefComp);\r
100 Clazz.defineMethod (c$, "matches", \r
101 function (refa, refb) {\r
102 if ((refa.getSource () == null || refb.getSource () == null) || refb.getSource ().equals (refa.getSource ())) {\r
103 if ((refa.getVersion () == null || refb.getVersion () == null) || refb.getVersion ().equals (refa.getVersion ())) {\r
104 if ((refa.getAccessionId () == null || refb.getAccessionId () == null) || refb.getAccessionId ().equals (refa.getAccessionId ())) {\r
105 if ((refa.getMap () == null || refb.getMap () == null) || (refb.getMap () != null && refb.getMap ().equals (refa.getMap ()))) {\r
106 return true;\r
107 }}}}return false;\r
108 }, "jalview.datamodel.DBRefEntry,jalview.datamodel.DBRefEntry");\r
109 c$ = Clazz.p0p ();\r
110 };\r
111 c$.$DBRefUtils$3$ = function () {\r
112 Clazz.pu$h ();\r
113 c$ = Clazz.declareAnonymous (jalview.util, "DBRefUtils$3", null, jalview.util.DBRefUtils.DbRefComp);\r
114 Clazz.defineMethod (c$, "matches", \r
115 function (refa, refb) {\r
116 if (refa.getSource () != null && refb.getSource () != null && refb.getSource ().equals (refa.getSource ())) {\r
117 if (refa.getAccessionId () != null && refb.getAccessionId () != null || refb.getAccessionId ().equals (refa.getAccessionId ())) {\r
118 if ((refa.getMap () == null || refb.getMap () == null) || (refa.getMap () != null && refb.getMap () != null && refb.getMap ().equals (refa.getMap ()))) {\r
119 return true;\r
120 }}}return false;\r
121 }, "jalview.datamodel.DBRefEntry,jalview.datamodel.DBRefEntry");\r
122 c$ = Clazz.p0p ();\r
123 };\r
124 c$.$DBRefUtils$4$ = function () {\r
125 Clazz.pu$h ();\r
126 c$ = Clazz.declareAnonymous (jalview.util, "DBRefUtils$4", null, jalview.util.DBRefUtils.DbRefComp);\r
127 Clazz.defineMethod (c$, "matches", \r
128 function (refa, refb) {\r
129 if (refa.getSource () != null && refb.getSource () != null && refb.getSource ().equals (refa.getSource ())) {\r
130 if (refa.getAccessionId () != null && refb.getAccessionId () != null || refb.getAccessionId ().equals (refa.getAccessionId ())) {\r
131 if ((refa.getMap () == null && refb.getMap () == null) || (refa.getMap () != null && refb.getMap () != null)) {\r
132 if ((refb.getMap ().getMap () == null && refa.getMap ().getMap () == null) || (refb.getMap ().getMap () != null && refa.getMap ().getMap () != null && refb.getMap ().getMap ().getInverse ().equals (refa.getMap ().getMap ()))) {\r
133 return true;\r
134 }}}}return false;\r
135 }, "jalview.datamodel.DBRefEntry,jalview.datamodel.DBRefEntry");\r
136 c$ = Clazz.p0p ();\r
137 };\r
138 c$.$DBRefUtils$5$ = function () {\r
139 Clazz.pu$h ();\r
140 c$ = Clazz.declareAnonymous (jalview.util, "DBRefUtils$5", null, jalview.util.DBRefUtils.DbRefComp);\r
141 Clazz.defineMethod (c$, "matches", \r
142 function (refa, refb) {\r
143 if (refa.getSource () != null && refb.getSource () != null && refb.getSource ().equals (refa.getSource ())) {\r
144 if (refa.getAccessionId () != null && refb.getAccessionId () != null || refb.getAccessionId ().equals (refa.getAccessionId ())) {\r
145 if (refa.getMap () == null && refb.getMap () == null) {\r
146 return true;\r
147 }if (refa.getMap () != null && refb.getMap () != null && ((refb.getMap ().getMap () == null && refa.getMap ().getMap () == null) || (refb.getMap ().getMap () != null && refa.getMap ().getMap () != null && refb.getMap ().getMap ().equals (refa.getMap ().getMap ())))) {\r
148 return true;\r
149 }}}return false;\r
150 }, "jalview.datamodel.DBRefEntry,jalview.datamodel.DBRefEntry");\r
151 c$ = Clazz.p0p ();\r
152 };\r
153 c$.$DBRefUtils$6$ = function () {\r
154 Clazz.pu$h ();\r
155 c$ = Clazz.declareAnonymous (jalview.util, "DBRefUtils$6", null, jalview.util.DBRefUtils.DbRefComp);\r
156 Clazz.defineMethod (c$, "matches", \r
157 function (refa, refb) {\r
158 if (refa.getSource () != null && refb.getSource () != null && refb.getSource ().equals (refa.getSource ())) {\r
159 if (refa.getAccessionId () != null && refb.getAccessionId () != null && refb.getAccessionId ().equals (refa.getAccessionId ())) {\r
160 if (refa.getMap () == null || refb.getMap () == null) {\r
161 return true;\r
162 }if ((refa.getMap () != null && refb.getMap () != null) && (refb.getMap ().getMap () == null && refa.getMap ().getMap () == null) || (refb.getMap ().getMap () != null && refa.getMap ().getMap () != null && (refb.getMap ().getMap ().equals (refa.getMap ().getMap ())))) {\r
163 return true;\r
164 }}}return false;\r
165 }, "jalview.datamodel.DBRefEntry,jalview.datamodel.DBRefEntry");\r
166 c$ = Clazz.p0p ();\r
167 };\r
168 Clazz.declareInterface (jalview.util.DBRefUtils, "DbRefComp");\r
169 c$.canonicalSourceNameLookup = c$.prototype.canonicalSourceNameLookup =  new java.util.HashMap ();\r
170 c$.dasCoordinateSystemsLookup = c$.prototype.dasCoordinateSystemsLookup =  new java.util.HashMap ();\r
171 {\r
172 jalview.util.DBRefUtils.canonicalSourceNameLookup.put ("uniprotkb/swiss-prot", jalview.datamodel.DBRefSource.UNIPROT);\r
173 jalview.util.DBRefUtils.canonicalSourceNameLookup.put ("uniprotkb/trembl", jalview.datamodel.DBRefSource.UNIPROT);\r
174 jalview.util.DBRefUtils.canonicalSourceNameLookup.put ("pdb", jalview.datamodel.DBRefSource.PDB);\r
175 jalview.util.DBRefUtils.dasCoordinateSystemsLookup.put ("pdbresnum", jalview.datamodel.DBRefSource.PDB);\r
176 jalview.util.DBRefUtils.dasCoordinateSystemsLookup.put ("uniprot", jalview.datamodel.DBRefSource.UNIPROT);\r
177 jalview.util.DBRefUtils.dasCoordinateSystemsLookup.put ("embl", jalview.datamodel.DBRefSource.EMBL);\r
178 }c$.matchNonNullonA = c$.prototype.matchNonNullonA = ((Clazz.isClassDefined ("jalview.util.DBRefUtils$1") ? 0 : jalview.util.DBRefUtils.$DBRefUtils$1$ ()), Clazz.innerTypeInstance (jalview.util.DBRefUtils$1, this, null));\r
179 c$.matchEitherNonNull = c$.prototype.matchEitherNonNull = ((Clazz.isClassDefined ("jalview.util.DBRefUtils$2") ? 0 : jalview.util.DBRefUtils.$DBRefUtils$2$ ()), Clazz.innerTypeInstance (jalview.util.DBRefUtils$2, this, null));\r
180 c$.matchDbAndIdAndEitherMap = c$.prototype.matchDbAndIdAndEitherMap = ((Clazz.isClassDefined ("jalview.util.DBRefUtils$3") ? 0 : jalview.util.DBRefUtils.$DBRefUtils$3$ ()), Clazz.innerTypeInstance (jalview.util.DBRefUtils$3, this, null));\r
181 c$.matchDbAndIdAndComplementaryMapList = c$.prototype.matchDbAndIdAndComplementaryMapList = ((Clazz.isClassDefined ("jalview.util.DBRefUtils$4") ? 0 : jalview.util.DBRefUtils.$DBRefUtils$4$ ()), Clazz.innerTypeInstance (jalview.util.DBRefUtils$4, this, null));\r
182 c$.matchDbAndIdAndEquivalentMapList = c$.prototype.matchDbAndIdAndEquivalentMapList = ((Clazz.isClassDefined ("jalview.util.DBRefUtils$5") ? 0 : jalview.util.DBRefUtils.$DBRefUtils$5$ ()), Clazz.innerTypeInstance (jalview.util.DBRefUtils$5, this, null));\r
183 c$.matchDbAndIdAndEitherMapOrEquivalentMapList = c$.prototype.matchDbAndIdAndEitherMapOrEquivalentMapList = ((Clazz.isClassDefined ("jalview.util.DBRefUtils$6") ? 0 : jalview.util.DBRefUtils.$DBRefUtils$6$ ()), Clazz.innerTypeInstance (jalview.util.DBRefUtils$6, this, null));\r
184 });\r