ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/cmview/branches/CMView-jung/cmview/View.java
(Generate patch)
# Line 20 | Line 20
20   import java.awt.image.BufferedImage;
21   import javax.imageio.*;
22  
23 + import actionTools.Getter;
24 + import actionTools.GetterError;
25 +
26   import cmview.datasources.*;
27   import cmview.sadpAdapter.SADPDialog;
28   import cmview.sadpAdapter.SADPDialogDoneNotifier;
# Line 1116 | Line 1119
1119                          if (secondModel == SECOND_MODEL && mod == null){
1120                                  this.showNoContactMapWarning();
1121                          } else{
1122 <                                LoadDialog dialog = new LoadDialog(this, "Load from graph database", new LoadAction(secondModel) {
1123 <                                        public void doit(Object o, String f, String ac, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1124 <                                                View view = (View) o;
1125 <                                                view.doLoadFromGraphDb(db, gid, secondModel);
1126 <                                        }
1127 <                                }, null, null, null, null, null, null, null, Start.DEFAULT_GRAPH_DB, "");
1128 <                                actLoadDialog = dialog;
1129 <                                dialog.showIt();
1122 >                                LoadDialog dialog;
1123 >                                try {
1124 >                                        dialog = new LoadDialog(this, "Load from graph database", new LoadAction(secondModel) {
1125 >                                                public void doit(Object o, String f, String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1126 >                                                        View view = (View) o;
1127 >                                                        view.doLoadFromGraphDb(db, gid, secondModel);
1128 >                                                }
1129 >                                        }, null, null, null, null, null, null, null, null, Start.DEFAULT_GRAPH_DB, "");
1130 >                                        
1131 >                                        actLoadDialog = dialog;
1132 >                                        dialog.showIt();
1133 >                                        
1134 >                                } catch (LoadDialogConstructionError e) {
1135 >                                        System.err.println("Failed to load the load-dialog.");
1136 >                                }
1137                          }
1138                  }
1139          }
# Line 1153 | Line 1163
1163                          if (secondModel == SECOND_MODEL && mod == null){
1164                                  this.showNoContactMapWarning();
1165                          } else{
1166 <                                LoadDialog dialog = new LoadDialog(this, "Load from Pdbase", new LoadAction(secondModel) {
1167 <                                        public void doit(Object o, String f, String ac, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1168 <                                                View view = (View) o;
1169 <                                                view.doLoadFromPdbase(ac, cc, ct, dist, minss, maxss, db, secondModel);
1170 <                                        }
1171 <                                }, null, "", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", Start.DEFAULT_PDB_DB, null);
1172 <                                actLoadDialog = dialog;
1173 <                                dialog.showIt();
1166 >                                try {
1167 >                                        LoadDialog dialog = new LoadDialog(this, "Load from Pdbase", new LoadAction(secondModel) {
1168 >                                                public void doit(Object o, String f, String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1169 >                                                        View view = (View) o;
1170 >                                                        view.doLoadFromPdbase(ac, modelSerial, cc, ct, dist, minss, maxss, db, secondModel);
1171 >                                                }
1172 >                                        }, null, "", "1", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", Start.DEFAULT_PDB_DB, null);
1173 >                                        dialog.setChainCodeGetter(new Getter(dialog) {
1174 >                                                public Object get() throws GetterError {
1175 >                                                        LoadDialog dialog = (LoadDialog) getObject();
1176 >                                                        String pdbCode    = dialog.getSelectedAc();
1177 >                                                        String db         = dialog.getSelectedDb();
1178 >                                                        try {
1179 >                                                                PdbaseModel mod = new PdbaseModel(pdbCode,"",0.0,1,1,db);
1180 >                                                                return mod.getChains();
1181 >                                                        } catch (PdbCodeNotFoundError e) {
1182 >                                                                throw new GetterError("Failed to read chains from pdbase:" + e.getMessage());
1183 >                                                        } catch (SQLException e) {
1184 >                                                                throw new GetterError("Failed to read chains from pdbase:" + e.getMessage());
1185 >                                                        }
1186 >                                                }
1187 >                                        });
1188 >                                        dialog.setModelsGetter(new Getter(dialog) {
1189 >                                                public Object get() throws GetterError {
1190 >                                                        LoadDialog dialog = (LoadDialog) getObject();
1191 >                                                        String pdbCode    = dialog.getSelectedAc();
1192 >                                                        String db         = dialog.getSelectedDb();
1193 >                                                        try {
1194 >                                                                PdbaseModel mod = new PdbaseModel(pdbCode,"",0.0,1,1,db);
1195 >                                                                return mod.getModels();
1196 >                                                        } catch (PdbCodeNotFoundError e) {
1197 >                                                                throw new GetterError("Failed to read models from pdbase:" + e.getMessage());
1198 >                                                        } catch (SQLException e) {
1199 >                                                                throw new GetterError("Failed to read models from pdbase:" + e.getMessage());
1200 >                                                        }
1201 >                                                }                              
1202 >                                        });
1203 >                                        actLoadDialog = dialog;
1204 >                                        dialog.showIt();
1205 >                                } catch (LoadDialogConstructionError e) {
1206 >                                        System.err.println("Failed to load the load-dialog.");
1207 >                                }
1208                          }
1209                  }
1210          }
1211  
1212 <        public void doLoadFromPdbase(String ac, String cc, String ct, double dist, int minss, int maxss, String db, boolean secondModel) {
1212 >        public void doLoadFromPdbase(String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, boolean secondModel) {
1213                  System.out.println("Loading from Pdbase");
1214                  System.out.println("PDB code:\t" + ac);
1215 +                System.out.println("Model serial:\t" + modelSerial);
1216                  System.out.println("Chain code:\t" + cc);
1217                  System.out.println("Contact type:\t" + ct);
1218                  System.out.println("Dist. cutoff:\t" + dist);  
# Line 1175 | Line 1220
1220                  System.out.println("Max. Seq. Sep.:\t" + (maxss==-1?"none":maxss));
1221                  System.out.println("Database:\t" + db);
1222                  try{
1223 <                        Model mod = new PdbaseModel(ac, cc, ct, dist, minss, maxss, db);
1223 >                        Model mod = new PdbaseModel(ac, ct, dist, minss, maxss, db);
1224 >                        mod.load(cc, modelSerial);
1225                          if(secondModel) {
1226                                  //handleLoadSecondModel(mod);
1227                                  mod2 = mod;
# Line 1185 | Line 1231
1231                          }
1232                  } catch(ModelConstructionError e) {
1233                          showLoadError(e.getMessage());
1234 +                } catch (PdbCodeNotFoundError e) {      
1235 +                        showLoadError(e.getMessage());
1236 +                } catch (SQLException e) {
1237 +                        showLoadError(e.getMessage());
1238                  }
1239          }
1240  
# Line 1195 | Line 1245
1245                          if (secondModel == SECOND_MODEL && mod == null){
1246                                  this.showNoContactMapWarning();
1247                          } else{
1248 <                                LoadDialog dialog = new LoadDialog(this, "Load from MSD", new LoadAction(secondModel) {
1249 <                                        public void doit(Object o, String f, String ac, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1250 <                                                View view = (View) o;
1251 <                                                view.doLoadFromMsd(ac, cc, ct, dist, minss, maxss, db, secondModel);
1252 <                                        }
1253 <                                }, null, "", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", Start.DEFAULT_MSDSD_DB, null);
1254 <                                actLoadDialog = dialog;
1255 <                                dialog.showIt();
1248 >                                try {
1249 >                                        LoadDialog dialog = new LoadDialog(this, "Load from MSD", new LoadAction(secondModel) {
1250 >                                                public void doit(Object o, String f, String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1251 >                                                        View view = (View) o;
1252 >                                                        view.doLoadFromMsd(ac, modelSerial, cc, ct, dist, minss, maxss, db, secondModel);
1253 >                                                }
1254 >                                        }, null, "", "1", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", Start.DEFAULT_MSDSD_DB, null);
1255 >                                        dialog.setChainCodeGetter(new Getter(dialog) {
1256 >                                                public Object get() throws GetterError {
1257 >                                                        LoadDialog dialog = (LoadDialog) getObject();
1258 >                                                        String pdbCode    = dialog.getSelectedAc();
1259 >                                                        String db         = dialog.getSelectedDb();
1260 >                                                        MsdsdModel mod    = new MsdsdModel(pdbCode,"",0.0,1,1,db);
1261 >                                                        return mod.getChains();
1262 >                                                }
1263 >                                        });
1264 >                                        dialog.setModelsGetter(new Getter(dialog) {
1265 >                                                public Object get() throws GetterError {
1266 >                                                        LoadDialog dialog = (LoadDialog) getObject();
1267 >                                                        String pdbCode    = dialog.getSelectedAc();
1268 >                                                        String db         = dialog.getSelectedDb();
1269 >                                                        MsdsdModel mod    = new MsdsdModel(pdbCode,"",0.0,1,1,db);
1270 >                                                        return mod.getModels();
1271 >                                                }                              
1272 >                                        });
1273 >                                        actLoadDialog = dialog;
1274 >                                        dialog.showIt();
1275 >                                } catch (LoadDialogConstructionError e) {
1276 >                                        System.err.println("Failed to load load-dialog.");
1277 >                                }
1278                          }
1279                  }
1280          }
1281  
1282 <        public void doLoadFromMsd(String ac, String cc, String ct, double dist, int minss, int maxss, String db, boolean secondModel) {
1282 >        public void doLoadFromMsd(String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, boolean secondModel) {
1283                  System.out.println("Loading from MSD");
1284                  System.out.println("PDB code:\t" + ac);
1285 +                System.out.println("Model index:\t" + modelSerial);
1286                  System.out.println("Chain code:\t" + cc);
1287                  System.out.println("Contact type:\t" + ct);
1288                  System.out.println("Dist. cutoff:\t" + dist);  
# Line 1217 | Line 1290
1290                  System.out.println("Max. Seq. Sep.:\t" + (maxss==-1?"none":maxss));
1291                  System.out.println("Database:\t" + db);
1292                  try {
1293 <                        Model mod = new MsdsdModel(ac, cc, ct, dist, minss, maxss, db);
1293 >                        Model mod = new MsdsdModel(ac, ct, dist, minss, maxss, db);
1294 >                        mod.load(cc, modelSerial);
1295                          if(secondModel) {
1296                                  //handleLoadSecondModel(mod);
1297                                  mod2 = mod;
# Line 1235 | Line 1309
1309                  if (secondModel == SECOND_MODEL && mod == null){
1310                          this.showNoContactMapWarning();
1311                  } else{
1312 <                        LoadDialog dialog = new LoadDialog(this, "Load from Pdb file", new LoadAction(secondModel) {
1313 <                                public void doit(Object o, String f, String ac, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1314 <                                        View view = (View) o;
1315 <                                        view.doLoadFromPdbFile(f, cc, ct, dist, minss, maxss, secondModel);
1316 <                                }
1317 <                        }, "", null, "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", null, null);
1318 <                        actLoadDialog = dialog;
1319 <                        dialog.showIt();
1312 >                        try {
1313 >                                LoadDialog dialog = new LoadDialog(this, "Load from Pdb file", new LoadAction(secondModel) {
1314 >                                        public void doit(Object o, String f, String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1315 >                                                View view = (View) o;
1316 >                                                view.doLoadFromPdbFile(f, modelSerial, cc, ct, dist, minss, maxss, secondModel);
1317 >                                        }
1318 >                                }, "", null, "1", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", null, null);
1319 >                                dialog.setChainCodeGetter(new Getter(dialog) {
1320 >                                        public Object get() throws GetterError {
1321 >                                                LoadDialog dialog = (LoadDialog) getObject();
1322 >                                                String pdbFilename    = dialog.getSelectedFileName();
1323 >                                                try {
1324 >                                                        PdbFileModel mod = new PdbFileModel(pdbFilename,"",0.0,1,1);
1325 >                                                        return mod.getChains();
1326 >                                                } catch (ModelConstructionError e) {
1327 >                                                        throw new GetterError("Failed to read chains from ftp:"+e.getMessage());
1328 >                                                }
1329 >                                        }
1330 >                                });
1331 >                                dialog.setModelsGetter(new Getter(dialog) {
1332 >                                        public Object get() throws GetterError {
1333 >                                                LoadDialog dialog = (LoadDialog) getObject();
1334 >                                                String pdbFilename    = dialog.getSelectedFileName();
1335 >                                                try {
1336 >                                                        PdbFileModel mod = new PdbFileModel(pdbFilename,"",0.0,1,1);
1337 >                                                        return mod.getModels();
1338 >                                                } catch (ModelConstructionError e) {
1339 >                                                        throw new GetterError("Failed to read models from ftp:"+e.getMessage());
1340 >                                                }
1341 >                                        }
1342 >                                });
1343 >                                actLoadDialog = dialog;
1344 >                                dialog.showIt();
1345 >                        } catch (LoadDialogConstructionError e1) {
1346 >                                System.err.println("Failed to load the load-dialog.");
1347 >                        }
1348                  }
1349          }
1350  
1351 <        public void doLoadFromPdbFile(String f, String cc, String ct, double dist, int minss, int maxss, boolean secondModel) {
1351 >        public void doLoadFromPdbFile(String f, int modelSerial, String cc, String ct, double dist, int minss, int maxss, boolean secondModel) {
1352                  System.out.println("Loading from Pdb file");
1353                  System.out.println("Filename:\t" + f);
1354 +                System.out.println("Model serial:\t" + modelSerial);
1355                  System.out.println("Chain code:\t" + cc);
1356                  System.out.println("Contact type:\t" + ct);
1357                  System.out.println("Dist. cutoff:\t" + dist);  
1358                  System.out.println("Min. Seq. Sep.:\t" + (minss==-1?"none":minss));
1359                  System.out.println("Max. Seq. Sep.:\t" + (maxss==-1?"none":maxss));
1360                  try {
1361 <                        Model mod = new PdbFileModel(f, cc, ct, dist, minss, maxss);
1361 >                        Model mod = new PdbFileModel(f, ct, dist, minss, maxss);
1362 >                        mod.load(cc, modelSerial);
1363                          if(secondModel) {
1364                                  //handleLoadSecondModel(mod);
1365                                  mod2 = mod;
# Line 1273 | Line 1377
1377                  if (secondModel == SECOND_MODEL && mod == null){
1378                          this.showNoContactMapWarning();
1379                  } else{
1380 <                        LoadDialog dialog = new LoadDialog(this, "Load from Contact map file", new LoadAction(secondModel) {
1381 <                                public void doit(Object o, String f, String ac, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1382 <                                        View view = (View) o;
1383 <                                        view.doLoadFromCmFile(f, secondModel);
1384 <                                }
1385 <                        }, "", null, null, null, null, null, null, null, null);
1386 <                        actLoadDialog = dialog;
1387 <                        dialog.showIt();                  
1380 >                        try {
1381 >                                LoadDialog dialog = new LoadDialog(this, "Load from Contact map file", new LoadAction(secondModel) {
1382 >                                        public void doit(Object o, String f, String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1383 >                                                View view = (View) o;
1384 >                                                view.doLoadFromCmFile(f, secondModel);
1385 >                                        }
1386 >                                }, "", null, null, null, null, null, null, null, null, null);
1387 >                                actLoadDialog = dialog;
1388 >                                dialog.showIt();
1389 >                        } catch (LoadDialogConstructionError e) {
1390 >                                System.err.println("Failed to load the load-dialog.");
1391 >                        }
1392                  }
1393          }
1394  
# Line 1301 | Line 1409
1409          }
1410  
1411          private void handleLoadFromFtp(boolean secondModel) {
1412 <                LoadDialog dialog = new LoadDialog(this, "Load from online PDB", new LoadAction(secondModel) {
1413 <                        public void doit(Object o, String f, String ac, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1414 <                                View view = (View) o;
1415 <                                view.doLoadFromFtp(ac, cc, ct, dist, minss, maxss, secondModel);
1412 >                if (secondModel == SECOND_MODEL && mod == null){
1413 >                        this.showNoContactMapWarning();
1414 >                } else{
1415 >                        try {
1416 >                                LoadDialog dialog = new LoadDialog(this, "Load from online PDB", new LoadAction(secondModel) {
1417 >                                        public void doit(Object o, String f, String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, String db, int gid) {
1418 >                                                View view = (View) o;
1419 >                                                view.doLoadFromFtp(ac, modelSerial, cc, ct, dist, minss, maxss, secondModel);
1420 >                                        }
1421 >                                }, null, "", "1", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", null, null);
1422 >
1423 >                                actLoadDialog = dialog;
1424 >                                dialog.showIt();
1425 >                        } catch (LoadDialogConstructionError e) {
1426 >                                // TODO Auto-generated catch block
1427 >                                e.printStackTrace();
1428                          }
1429 <                }, null, "", "", Start.DEFAULT_CONTACT_TYPE, String.valueOf(Start.DEFAULT_DISTANCE_CUTOFF), "", "", null, null);
1430 <                actLoadDialog = dialog;
1311 <                dialog.showIt();
1429 >
1430 >                }
1431          }
1432  
1433 <        public void doLoadFromFtp(String ac, String cc, String ct, double dist, int minss, int maxss, boolean secondModel) {
1433 >        public void doLoadFromFtp(String ac, int modelSerial, String cc, String ct, double dist, int minss, int maxss, boolean secondModel) {
1434                  System.out.println("Loading from online PDB");
1435                  System.out.println("PDB code:\t" + ac);
1436 +                System.out.println("Model serial:\t" + modelSerial);
1437                  System.out.println("Chain code:\t" + cc);
1438                  System.out.println("Contact type:\t" + ct);
1439                  System.out.println("Dist. cutoff:\t" + dist);  
1440                  System.out.println("Min. Seq. Sep.:\t" + (minss==-1?"none":minss));
1441                  System.out.println("Max. Seq. Sep.:\t" + (maxss==-1?"none":maxss));    
1442                  try{
1443 <                        Model mod = new PdbFtpModel(ac, cc, ct, dist, minss, maxss);
1443 >                        Model mod = new PdbFtpModel(ac, ct, dist, minss, maxss);
1444 >                        mod.load(cc, modelSerial);
1445                          if(secondModel) {
1446                                  //handleLoadSecondModel(mod);
1447                                  mod2 = mod;
# Line 1330 | Line 1451
1451                          }
1452                  } catch(ModelConstructionError e) {
1453                          showLoadError(e.getMessage());
1454 +                } catch (IOException e) {
1455 +                        System.err.println("Failed to load structure from ftp:" + e.getMessage());
1456                  }
1457          }
1458  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines