/** @return */ private void readHits() { pbar.setProgressMode(ProgressBar.PROGRESSABLE_MODE, true); pbar.setMessage("Extracting hits"); pbar.setMaxVal(maxHits); BufferedReader reader = null; int val = 0; RADSProtein p = null; proteins = new TreeSet<RADSProtein>(); try { reader = read(results.getXdomUrl()); String line = null; while ((line = reader.readLine()) != null) { if (line.substring(0, 1).equals(">")) { if ((maxHits != -1) && (val >= maxHits)) break; String[] fields = line.split("\\t"); String pid = fields[0].replace(">", ""); if (p != null) proteins.add(p); p = new RADSProtein(pid, Integer.valueOf(fields[1])); p.setRADSScore(radsScores.get(pid)); if (query.isRampageRun()) p.setRAMPAGEScore(rampageScores.get(pid)); val++; pbar.setCurrentVal(val); } else { String[] fields = line.split("\\t"); RADSDomain d = new RADSDomain(fields[2], Integer.valueOf(fields[0]), Integer.valueOf(fields[1])); if (fields.length == 4) d.addEvalue(Double.valueOf(fields[3])); p.addDomain(d); } } proteins.add(p); val++; pbar.setCurrentVal(val); pbar.finish(true); } catch (MalformedURLException mue) { mue.printStackTrace(); } catch (IOException ioe) { ioe.printStackTrace(); } }