public Object clone() throws CloneNotSupportedException { final Set<Hmmer3Location> clonedLocations = new HashSet<Hmmer3Location>(this.getLocations().size()); for (Hmmer3Location location : this.getLocations()) { clonedLocations.add((Hmmer3Location) location.clone()); } return new Hmmer3Match(this.getSignature(), this.getScore(), this.getEvalue(), clonedLocations); }
private String getSeqEvalue(Match match, Location location) { //get the seevalue String seqEvalue = null; if (match instanceof PantherMatch) { seqEvalue = Double.toString(((PantherMatch) match).getEvalue()); } else if (match instanceof Hmmer3Match) { seqEvalue = Double.toString(((Hmmer3Match) match).getEvalue()); } else if (match instanceof Hmmer2Match) { seqEvalue = Double.toString(((Hmmer2Match) match).getEvalue()); } else if (match instanceof Hmmer3MatchWithSites) { seqEvalue = Double.toString(((Hmmer3MatchWithSites) match).getEvalue()); } else if (location instanceof RPSBlastMatch.RPSBlastLocation) { seqEvalue = Double.toString(((RPSBlastMatch.RPSBlastLocation) location).getEvalue()); } else if (location instanceof BlastProDomMatch.BlastProDomLocation) { seqEvalue = Double.toString(((BlastProDomMatch.BlastProDomLocation) location).getEvalue()); } else if (match instanceof FingerPrintsMatch) { seqEvalue = Double.toString(((FingerPrintsMatch) match).getEvalue()); } else if (match instanceof SuperFamilyHmmer3Match) { seqEvalue = Double.toString(((SuperFamilyHmmer3Match) match).getEvalue()); } return seqEvalue; } private String getScore(Location location){
private String getSeqScore(Match match, Location location){ String seqScore = null; if (match instanceof PantherMatch) { seqScore = Double.toString( ((PantherMatch) match).getScore()); } else if (match instanceof Hmmer3Match) { seqScore = Double.toString( ((Hmmer3Match) match).getScore()); } else if (match instanceof Hmmer2Match) { seqScore = Double.toString(((Hmmer2Match) match).getScore()); } else if (match instanceof Hmmer3MatchWithSites) { seqScore = Double.toString(((Hmmer3MatchWithSites) match).getScore()); } else if (location instanceof RPSBlastMatch.RPSBlastLocation) { seqScore = Double.toString(((RPSBlastMatch.RPSBlastLocation) location).getScore()); } else if (location instanceof BlastProDomMatch.BlastProDomLocation) { seqScore = Double.toString(((BlastProDomMatch.BlastProDomLocation) location).getScore()); } else if (location instanceof FingerPrintsMatch.FingerPrintsLocation) { seqScore = Double.toString( ((FingerPrintsMatch.FingerPrintsLocation) location).getScore()); } else if (location instanceof ProfileScanMatch.ProfileScanLocation) { seqScore = Double.toString( ((ProfileScanMatch.ProfileScanLocation) location).getScore()); } else if (location instanceof TMHMMMatch.TMHMMLocation) { seqScore = Double.toString( ((TMHMMMatch.TMHMMLocation) location).getScore()); } else if (location instanceof SignalPMatch.SignalPLocation) { seqScore = Double.toString( ((SignalPMatch.SignalPLocation) location).getScore()); } return seqScore; }
matchLocationCount += match.getLocations().size();
private static Hmmer3Match getMatch(Signature signature, String modelId, Map<String, Set<Hmmer3RawMatch>> matchesByModel) { Set<Hmmer3Match.Hmmer3Location> locations = new HashSet<Hmmer3Match.Hmmer3Location>(); double score = 0, evalue = 0; for (Hmmer3RawMatch m : matchesByModel.get(modelId)) { // Score and evalue should be the same (repeated for each location) score = m.getScore(); evalue = m.getEvalue(); locations.add(getLocation(m)); } return new Hmmer3Match(signature, score, evalue, locations); }