/** * This private method is responsible for retrieving OR persisting (as appropriate) * a SignatureLibraryRelease method for the version of MobiDB being handled by this * DAO. * * @return the retrieved / persisted SignatureLibraryRelease object. */ private SignatureLibraryRelease loadMobiDBRelease() { final SignatureLibraryRelease release; final Query releaseQuery = entityManager.createQuery("select r from SignatureLibraryRelease r where r.version = :coilsVersion and r.library = :coilsSignatureLibrary"); releaseQuery.setParameter("coilsVersion", mobidbReleaseVersion); releaseQuery.setParameter("coilsSignatureLibrary", SignatureLibrary.MOBIDB_LITE); @SuppressWarnings("unchecked") List<SignatureLibraryRelease> releaseList = releaseQuery.getResultList(); if (releaseList.size() == 1 && releaseList.get(0) != null) { release = releaseList.get(0); } else if (releaseList.size() > 1) { throw new IllegalStateException("There is more than one SignatureLibraryRelease record for version " + mobidbReleaseVersion + " of MobiDB in the databases."); } else { release = new SignatureLibraryRelease(SignatureLibrary.MOBIDB_LITE, mobidbReleaseVersion); entityManager.persist(release); } return release; }
/** * This private method is responsible for retrieving OR persisting (as appropriate) * a SignatureLibraryRelease method for the version of Phobius being handled by this * DAO. * * @return the retrieved / persisted SignatureLibraryRelease object. */ private SignatureLibraryRelease loadPhobiusRelease() { final SignatureLibraryRelease release; final Query releaseQuery = entityManager.createQuery("select r from SignatureLibraryRelease r where r.version = :phobiusVersion and r.library = :phobiusSignatureLibrary"); releaseQuery.setParameter("phobiusVersion", phobiusVersion); releaseQuery.setParameter("phobiusSignatureLibrary", SignatureLibrary.PHOBIUS); @SuppressWarnings("unchecked") List<SignatureLibraryRelease> releaseList = releaseQuery.getResultList(); if (releaseList.size() == 1 && releaseList.get(0) != null) { release = releaseList.get(0); } else if (releaseList.size() > 1) { throw new IllegalStateException("There is more than one SignatureLibraryRelease record for version " + phobiusVersion + " of Phobius in the databases."); } else { release = new SignatureLibraryRelease(SignatureLibrary.PHOBIUS, phobiusVersion); entityManager.persist(release); } return release; }
/** * This private method is responsible for retrieving OR persisting (as appropriate) * a SignatureLibraryRelease method for the version of Coils being handled by this * DAO. * * @return the retrieved / persisted SignatureLibraryRelease object. */ private SignatureLibraryRelease loadCoilsRelease() { final SignatureLibraryRelease release; final Query releaseQuery = entityManager.createQuery("select r from SignatureLibraryRelease r where r.version = :coilsVersion and r.library = :coilsSignatureLibrary"); releaseQuery.setParameter("coilsVersion", coilsReleaseVersion); releaseQuery.setParameter("coilsSignatureLibrary", SignatureLibrary.COILS); @SuppressWarnings("unchecked") List<SignatureLibraryRelease> releaseList = releaseQuery.getResultList(); if (releaseList.size() == 1 && releaseList.get(0) != null) { release = releaseList.get(0); } else if (releaseList.size() > 1) { throw new IllegalStateException("There is more than one SignatureLibraryRelease record for version " + coilsReleaseVersion + " of Coils in the databases."); } else { release = new SignatureLibraryRelease(SignatureLibrary.COILS, coilsReleaseVersion); entityManager.persist(release); } return release; }
@XmlElement(name = "signature-library-release") private SignatureLibraryRelease getSignatureLibraryReleaseShallow() { if (this.signatureLibraryRelease == null) { return null; } return new SignatureLibraryRelease(this.signatureLibraryRelease.getLibrary(), this.signatureLibraryRelease.getVersion()); }
/** * 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())); }
/** * 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())); }
/** * This private method is responsible for retrieving OR persisting (as appropriate) * a SignatureLibraryRelease method for the version of TMHMM being handled by this * DAO. * * @return the retrieved / persisted SignatureLibraryRelease object. */ private SignatureLibraryRelease loadTMHMMRelease() { SignatureLibraryRelease release = null; final Query releaseQuery = entityManager.createQuery("select r from SignatureLibraryRelease r where r.version = :version and r.library = :signatureLibrary"); releaseQuery.setParameter("version", signatureLibraryRelease.getVersion()); releaseQuery.setParameter("signatureLibrary", signatureLibraryRelease.getLibrary()); @SuppressWarnings("unchecked") List<SignatureLibraryRelease> releaseList = releaseQuery.getResultList(); if (releaseList.size() == 1 && releaseList.get(0) != null) { release = releaseList.get(0); } else if (releaseList.size() > 1) { throw new IllegalStateException("There is more than one SignatureLibraryRelease record for version " + signatureLibraryRelease.getVersion() + " of TMHMM in the databases."); } else { entityManager.persist(new SignatureLibraryRelease(signatureLibraryRelease.getLibrary(), signatureLibraryRelease.getVersion())); } return release; }
@Transactional public SignatureLibraryRelease parse() throws IOException { LOGGER.debug("Starting to parse cddid.tbl file."); SignatureLibraryRelease release = new SignatureLibraryRelease(library, releaseVersion);
public SignatureLibraryRelease parse() throws IOException { LOGGER.debug("Starting to parse hmm file."); SignatureLibraryRelease release = new SignatureLibraryRelease(library, releaseVersion);
/** * Method to parse a model file and return a SignatureLibraryRelease. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { LOGGER.debug("Starting to parse hmm file."); SignatureLibraryRelease release = new SignatureLibraryRelease(library, releaseVersion); for (Resource modelFile : modelFiles) { if (modelFile.exists() && modelFile.getFile() != null) { Map<String, String> familyIdFamilyNameMap = readInPantherFamilyNames(modelFile); if (LOGGER.isDebugEnabled()) { LOGGER.debug("number of panther families: " + familyIdFamilyNameMap.keySet().size()); } Map<String, List<String>> pantherParentChildMap = getPantherParentChildMap(familyIdFamilyNameMap.keySet()); for (String parent : pantherParentChildMap.keySet()) { String signatureAcc = parent; String signatureName = familyIdFamilyNameMap.get(signatureAcc); release.addSignature(createSignature(signatureAcc, signatureName, release)); List<String> children = pantherParentChildMap.get(parent); for (String childSignatureAcc : children) { String childSignatureName = familyIdFamilyNameMap.get(childSignatureAcc); release.addSignature(createSignature(childSignatureAcc, childSignatureName, release)); } } } } return release; }
SignatureLibraryRelease release = new SignatureLibraryRelease(library, releaseVersion);
/** * This is rather badly named as there is nothing to parse... * <p/> * however, the point is that it returns a SignatureLibraryRelease for Coils, * containing one big fat Signature called "Coil". * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); final Signature.Builder builder = new Signature.Builder(COILS_SIGNATURE_NAME); final Signature signature = builder.name(COILS_SIGNATURE_NAME).signatureLibraryRelease(release).build(); release.addSignature(signature); return release; } }
/** * This is rather badly named as there is nothing to parse... * <p/> * however, the point is that it returns a SignatureLibraryRelease for Coils, * containing one big fat Signature called "Coil". * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); final Model model = new Model(COILS_SIGNATURE_NAME, COILS_SIGNATURE_NAME, null); final Signature.Builder builder = new Signature.Builder(COILS_SIGNATURE_NAME); final Signature signature = builder.name(COILS_SIGNATURE_NAME) .signatureLibraryRelease(release) .model(model) .build(); release.addSignature(signature); return release; } }
/** * Returns a SignatureLibraryRelease for TMHMM * containing the signatures defined in the {@link uk.ac.ebi.interpro.scan.model.TMHMMSignature} enum. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); for (final TMHMMSignature type : TMHMMSignature.values()) { final Signature.Builder builder = new Signature.Builder(type.getAccession()); final Signature signature = builder .description(type.getDescription()) .signatureLibraryRelease(release) .build(); release.addSignature(signature); } return release; } }
/** * This is rather badly named as there is nothing to parse... * <p/> * however, the point is that it returns a SignatureLibraryRelease for MOBIDB, * containing one big fat Signature called "mobidb-lite". * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); final Model model = new Model(MOBIDB_SIGNATURE_ACCESSION, MOBIDB_SIGNATURE_NAME, MOBIDB_SIGNATURE_DESC); final Signature.Builder builder = new Signature.Builder(MOBIDB_SIGNATURE_ACCESSION); final Signature signature = builder.name(MOBIDB_SIGNATURE_NAME) .description(MOBIDB_SIGNATURE_DESC) .model(model) .signatureLibraryRelease(release).build(); release.addSignature(signature); return release; } }
/** * This is rather badly named as there is nothing to parse... * <p/> * however, the point is that it returns a SignatureLibraryRelease for Phobius, * containing the signatures defined in the PhobiusFeatureType enum. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); for (final PhobiusFeatureType type : PhobiusFeatureType.values()) { final Signature.Builder builder = new Signature.Builder(type.getAccession()); final Signature signature = builder .name(type.getName()) .description(type.getDescription()) .signatureLibraryRelease(release) .build(); release.addSignature(signature); } return release; } }
/** * Returns a SignatureLibraryRelease for TMHMM * containing the signatures defined in the {@link uk.ac.ebi.interpro.scan.model.TMHMMSignature} enum. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); for (final TMHMMSignature type : TMHMMSignature.values()) { final Model model = new Model(type.getAccession(), type.getShortDesc(), type.getDescription()); final Signature.Builder builder = new Signature.Builder(type.getAccession()); final Signature signature = builder .description(type.getDescription()) .model(model) .signatureLibraryRelease(release) .build(); release.addSignature(signature); } return release; } }
/** * This is rather badly named as there is nothing to parse... * <p/> * However, the point is that it returns a SignatureLibraryRelease for SignalP, * containing two Signature objects called "SignalP-TM" and "SignalP-noTM". * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); final Model model1 = new Model(SIGNALP_SIGNATURE_NAME1, SIGNALP_SIGNATURE_NAME1, null, null); final Signature.Builder builder1 = new Signature.Builder(SIGNALP_SIGNATURE_NAME1); final Signature signature1 = builder1.name(SIGNALP_SIGNATURE_NAME1).model(model1).signatureLibraryRelease(release).build(); release.addSignature(signature1); final Model model2 = new Model(SIGNALP_SIGNATURE_NAME2, SIGNALP_SIGNATURE_NAME2, null, null); final Signature.Builder builder2 = new Signature.Builder(SIGNALP_SIGNATURE_NAME2); final Signature signature2 = builder2.name(SIGNALP_SIGNATURE_NAME2).model(model2).signatureLibraryRelease(release).build(); release.addSignature(signature2); return release; }
/** * This is rather badly named as there is nothing to parse... * <p/> * However, the point is that it returns a SignatureLibraryRelease for SignalP, * containing two Signature objects called "SignalP-TM" and "SignalP-noTM". * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); final Model model1 = new Model(SIGNALP_SIGNATURE_NAME1, SIGNALP_SIGNATURE_NAME1, null); final Signature.Builder builder1 = new Signature.Builder(SIGNALP_SIGNATURE_NAME1); final Signature signature1 = builder1.name(SIGNALP_SIGNATURE_NAME1).model(model1).signatureLibraryRelease(release).build(); release.addSignature(signature1); final Model model2 = new Model(SIGNALP_SIGNATURE_NAME2, SIGNALP_SIGNATURE_NAME2, null); final Signature.Builder builder2 = new Signature.Builder(SIGNALP_SIGNATURE_NAME2); final Signature signature2 = builder2.name(SIGNALP_SIGNATURE_NAME2).model(model2).signatureLibraryRelease(release).build(); release.addSignature(signature2); return release; }
/** * This is rather badly named as there is nothing to parse... * <p/> * however, the point is that it returns a SignatureLibraryRelease for Phobius, * containing the signatures defined in the PhobiusFeatureType enum. * * @return a complete SignatureLibraryRelease object */ @Override public SignatureLibraryRelease parse() throws IOException { final SignatureLibraryRelease release = new SignatureLibraryRelease( this.getSignatureLibrary(), this.getReleaseVersionNumber()); for (final PhobiusFeatureType type : PhobiusFeatureType.values()) { final Model model = new Model(type.getAccession(), type.getName(), type.getDescription()); final Signature.Builder builder = new Signature.Builder(type.getAccession()); final Signature signature = builder .name(type.getName()) .model(model) .description(type.getDescription()) .signatureLibraryRelease(release) .build(); release.addSignature(signature); } return release; } }