private void setModels(Collection<Model> models) { // Ensure Signature reference is set ("this.models = models" won't do) for (Model m : models) { addModel(m); } }
/** * Add record details to the signatures object. Could involve adding a new signature and model to the existing * signatures object, or just adding a new model to an existing signature. * * @param release Signature library release details * @param accession Signature accession, if NULL then this method does nothing * @param name Model Id * @param description Signature and model names * @param length Model HMM length */ private void processRecord(SignatureLibraryRelease release, String accession, String name, String description, Integer length) { if (accession != null) { Model model = new Model(name, description, null, length); if (signatures.containsKey(accession)) { Signature signature = signatures.get(accession); signature.addModel(model); } else { Signature signature = new Signature(accession, description, null, null, null, release, new HashSet<>()); signature.addModel(model); signatures.put(accession, signature); } } }
/** * Add record details to the signatures object. Could involve adding a new signature and model to the existing * signatures object, or just adding a new model to an existing signature. * * @param release Signature library release details * @param accession Signature accession, if NULL then this method does nothing * @param name Model Id * @param description Signature and model names */ private void processRecord(SignatureLibraryRelease release, String accession, String name, String description) { if (accession != null) { Model model = new Model(name, description, null, null); if (signatures.containsKey(accession)) { Signature signature = signatures.get(accession); signature.addModel(model); } else { Signature signature = new Signature(accession, description, null, null, null, release, new HashSet<Model>()); signature.addModel(model); signatures.put(accession, signature); } } }
public static Collection<Signature> createSignatures(Collection<CathDomainListRecord> records) { Map<String, Signature> map = new HashMap<String, Signature>(); for (CathDomainListRecord record : records) { String ac = createSignatureAccession(record); Signature signature; if (map.containsKey(ac)) { signature = map.get(ac); } else { signature = new Signature(ac); map.put(ac, signature); } signature.addModel(new Model(record.getDomainName())); } return map.values(); }
public static Collection<Signature> createSignatures(Collection<CathDomainListRecord> records) { Map<String, Signature> map = new HashMap<String, Signature>(); for (CathDomainListRecord record : records) { String ac = createSignatureAccession(record); Signature signature; if (map.containsKey(ac)) { signature = map.get(ac); } else { signature = new Signature(ac); map.put(ac, signature); } signature.addModel(new Model(record.getDomainName())); } return map.values(); }
/** * Method to parse a model file and return a SignatureLibraryRelease. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final Map<String, String> records = parseFileToMap(); // Create signatures final Map<String, Signature> signatureMap = new HashMap<String, Signature>(); for (String modelAc : records.keySet()) { String signatureAc = records.get(modelAc); Signature signature; if (signatureMap.containsKey(signatureAc)) { signature = signatureMap.get(signatureAc); } else { signature = new Signature(signatureAc); signatureMap.put(signatureAc, signature); } signature.addModel(new Model(modelAc)); } // Create release return new SignatureLibraryRelease(library, releaseVersion, new HashSet<Signature>(signatureMap.values())); }
/** * Method to parse a model file and return a SignatureLibraryRelease. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final Map<String, String> records = parseFileToMap(); // Create signatures final Map<String, Signature> signatureMap = new HashMap<>(); for (String modelData : records.keySet()) { String[] model = modelData.split("#"); if (model.length != 2) { throw new IllegalStateException("Model data key not in expected 'modelAc#hmmLength' format: " + modelData); } String modelAc = model[0]; int hmmLength = Integer.parseInt(model[1]); String signatureAc = records.get(modelData); Signature signature; if (signatureMap.containsKey(signatureAc)) { signature = signatureMap.get(signatureAc); } else { signature = new Signature(signatureAc); signatureMap.put(signatureAc, signature); } signature.addModel(new Model(modelAc, null, null, hmmLength)); } // Create release return new SignatureLibraryRelease(library, releaseVersion, new HashSet<>(signatureMap.values())); }