/** * * @param qualifier : the qualifier of the cross reference * @return true if the qualifier is 'identity' */ private boolean isIdentityCrossReference(CvXrefQualifier qualifier){ if (qualifier.getIdentifier() != null){ if (qualifier.getIdentifier().equals(CvXrefQualifier.IDENTITY_MI_REF)){ return true; } } else { if (qualifier.getShortLabel().equals(CvXrefQualifier.IDENTITY)){ return true; } } return false; }
private void prepareQuery(CvDatabase database, CvXrefQualifier qualifier, String primaryId, Query query) { query.setParameter("id", primaryId); query.setParameter("dbMi", (database.getIdentifier() != null ? database.getIdentifier() : CvObjectUtils.getIdentity(database))); query.setParameter("qualifierMi", (qualifier.getIdentifier() != null ? qualifier.getIdentifier() : CvObjectUtils.getIdentity(qualifier))); }
private void prepareQuery(CvDatabase database, CvXrefQualifier qualifier, String primaryId, Query query) { query.setParameter("id", primaryId); query.setParameter("dbMi", (database.getIdentifier() != null ? database.getIdentifier() : CvObjectUtils.getIdentity(database))); query.setParameter("qualifierMi", (qualifier.getIdentifier() != null ? qualifier.getIdentifier() : CvObjectUtils.getIdentity(qualifier))); }
private static Collection<InteractorXref> extractCrossReferencesFrom(Protein protein, String databaseMiRef, String qualifierMiRef) { Collection<InteractorXref> parents = new ArrayList<InteractorXref>(); for (InteractorXref ref : protein.getXrefs()) { if (ref.getCvDatabase().getIdentifier().equals(databaseMiRef)) { if (ref.getCvXrefQualifier().getIdentifier().equals(qualifierMiRef)) { parents.add(ref); } } } return parents; }
private static Collection<InteractorXref> extractCrossReferencesFrom(Protein protein, String databaseMiRef, String qualifierMiRef) { Collection<InteractorXref> parents = new ArrayList<InteractorXref>(); for (InteractorXref ref : protein.getXrefs()) { if (ref.getCvDatabase().getIdentifier().equals(databaseMiRef)) { if (ref.getCvXrefQualifier().getIdentifier().equals(qualifierMiRef)) { parents.add(ref); } } } return parents; }
private CvObjectXref findMatchingIdentityXref(Collection<CvObjectXref> xrefs, String identity){ CvObjectXref identityRef = null; Collection<CvObjectXref> identities = new ArrayList<CvObjectXref>(xrefs.size()); for (CvObjectXref xref : xrefs){ if (xref.getCvXrefQualifier() != null && CvXrefQualifier.IDENTITY_MI_REF.equalsIgnoreCase(xref.getCvXrefQualifier().getIdentifier())){ if (identity.equalsIgnoreCase(xref.getPrimaryId())){ identityRef = xref; break; } } else { identities.add(xref); } } // in case the identity ref is null but we have xrefs matching the identifier, we take the first identity xref if (identityRef == null && !identities.isEmpty()){ identityRef = identities.iterator().next(); } return identityRef; }
/** * Checks if the current protein is a chain * * @param protein the protein to check * @return true if the protein is a chain */ public static boolean isFeatureChain(Protein protein) { Collection<InteractorXref> xrefs = protein.getXrefs(); for (InteractorXref xref : xrefs) { if (xref.getCvXrefQualifier() != null) { String qualifierIdentity = xref.getCvXrefQualifier().getIdentifier(); if (CvXrefQualifier.CHAIN_PARENT_MI_REF.equals(qualifierIdentity)) { return true; } } } return false; }
/** * Gets the first primary reference of an existing experiment without connecting with the database * * @param experiment the experiment * @return the primary reference xref */ public static ExperimentXref getPrimaryReferenceXref(Experiment experiment) { for (ExperimentXref xref : experiment.getXrefs()) { String qualMi = null; if (xref.getCvXrefQualifier() != null) { qualMi = xref.getCvXrefQualifier().getIdentifier(); } if (CvXrefQualifier.PRIMARY_REFERENCE_MI_REF.equals(qualMi)) { return xref; } } return null; }
public static <X extends Xref> X getIdentityXref(AnnotatedObject<X, ?> annotatedObject, String databaseMi) { for (X xref : annotatedObject.getXrefs()) { CvXrefQualifier qualifier = xref.getCvXrefQualifier(); CvDatabase database = xref.getCvDatabase(); String qualMi; String dbMi; if (qualifier != null && database != null && (qualMi = qualifier.getIdentifier()) != null && (dbMi = database.getIdentifier()) != null && qualMi.equals(CvXrefQualifier.IDENTITY_MI_REF) && dbMi.equals(databaseMi)) { return xref; } } return null; }
/** * Checks if the current protein is a splice variant * * @param protein the protein to check * @return true if the protein is a splice variant */ public static boolean isSpliceVariant(Protein protein) { Collection<InteractorXref> xrefs = protein.getXrefs(); for (InteractorXref xref : xrefs) { if (xref.getCvXrefQualifier() != null) { String qualifierIdentity = xref.getCvXrefQualifier().getIdentifier(); if (CvXrefQualifier.ISOFORM_PARENT_MI_REF.equals(qualifierIdentity)) { return true; } } } return false; }
/** * Checks if the current protein is a chain * * @param protein the protein to check * @return true if the protein is a chain */ public static boolean isFeatureChain(Protein protein) { Collection<InteractorXref> xrefs = protein.getXrefs(); for (InteractorXref xref : xrefs) { if (xref.getCvXrefQualifier() != null) { String qualifierIdentity = xref.getCvXrefQualifier().getIdentifier(); if (CvXrefQualifier.CHAIN_PARENT_MI_REF.equals(qualifierIdentity)) { return true; } } } return false; }
/** * Checks if the current protein is a splice variant * * @param protein the protein to check * @return true if the protein is a splice variant */ public static boolean isSpliceVariant(Protein protein) { Collection<InteractorXref> xrefs = protein.getXrefs(); for (InteractorXref xref : xrefs) { if (xref.getCvXrefQualifier() != null) { String qualifierIdentity = xref.getCvXrefQualifier().getIdentifier(); if (CvXrefQualifier.ISOFORM_PARENT_MI_REF.equals(qualifierIdentity)) { return true; } } } return false; }
/** * Gets the first primary reference of an existing experiment without connecting with the database * * @param experiment the experiment * @return the primary reference xref */ public static ExperimentXref getPrimaryReferenceXref(Experiment experiment) { for (ExperimentXref xref : experiment.getXrefs()) { String qualMi = null; if (xref.getCvXrefQualifier() != null) { qualMi = xref.getCvXrefQualifier().getIdentifier(); } if (CvXrefQualifier.PRIMARY_REFERENCE_MI_REF.equals(qualMi)) { return xref; } } return null; }
public static <X extends Xref> X getIdentityXref(AnnotatedObject<X, ?> annotatedObject, String databaseMi) { for (X xref : annotatedObject.getXrefs()) { CvXrefQualifier qualifier = xref.getCvXrefQualifier(); CvDatabase database = xref.getCvDatabase(); String qualMi; String dbMi; if (qualifier != null && database != null && (qualMi = qualifier.getIdentifier()) != null && (dbMi = database.getIdentifier()) != null && qualMi.equals(CvXrefQualifier.IDENTITY_MI_REF) && dbMi.equals(databaseMi)) { return xref; } } return null; }
@PrePersist @PreUpdate public void prepareParentMi() { CvObject parent = (CvObject) getParent(); if (parent == null) { throw new IllegalStateException("Trying to persist or update an cv xref without parent: "+this); } if (CvXrefQualifier.IDENTITY_MI_REF.equals(getCvXrefQualifier().getIdentifier())) { if (CvDatabase.PSI_MI_MI_REF.equals(getCvDatabase().getIdentifier())) { parent.setIdentifier(getPrimaryId()); } else { if (parent.getIdentifier() == null) { parent.setIdentifier(getPrimaryId()); } } } }
protected Xref getImexXref(Interaction interaction) { Collection<? extends Xref> refs; if (isCheckInitializedCollections()){ refs = IntactCore.ensureInitializedXrefs(interaction); } else { refs = interaction.getXrefs(); } for (Xref xref : refs) { if (CvDatabase.IMEX_MI_REF.equals(xref.getCvDatabase().getIdentifier()) && xref.getCvXrefQualifier() != null && CvXrefQualifier.IMEX_PRIMARY_MI_REF.equals(xref.getCvXrefQualifier().getIdentifier())) { return xref; } } return null; }
@PrePersist @PreUpdate public void prepareParentMi() { CvObject parent = (CvObject) getParent(); if (parent == null) { throw new IllegalStateException("Trying to persist or update an cv xref without parent: "+this); } if (CvXrefQualifier.IDENTITY_MI_REF.equals(getCvXrefQualifier().getIdentifier())) { if (CvDatabase.PSI_MI_MI_REF.equals(getCvDatabase().getIdentifier())) { parent.setIdentifier(getPrimaryId()); } else { if (parent.getIdentifier() == null) { parent.setIdentifier(getPrimaryId()); } } } }
protected void fixPubmedReferenceAsIdentityToPrimaryRef(Xref xref) { if (CvDatabase.PUBMED_MI_REF.equals(xref.getCvDatabase().getIdentifier()) && CvXrefQualifier.IDENTITY_MI_REF.equals(xref.getCvXrefQualifier().getIdentifier())) { CvXrefQualifier primaryRef = CvObjectUtils.createCvObject(xref.getOwner(), CvXrefQualifier.class, CvXrefQualifier.PRIMARY_REFERENCE_MI_REF, CvXrefQualifier.PRIMARY_REFERENCE); xref.setCvXrefQualifier(primaryRef); final ConverterMessage converterMessage = new ConverterMessage(MessageLevel.WARN, "Incorrect cross refernece to Pubmed that had qualifier 'identity'. Changed to 'primary-reference", ConverterContext.getInstance().getLocation().getCurrentLocation()); converterMessage.setAutoFixed(true); ConverterContext.getInstance().getReport().getMessages().add(converterMessage); } }
public static <X extends Xref> Collection<X> getIdentityXrefs(AnnotatedObject<X, ?> annotatedObject) { Collection<X> xrefs = new ArrayList<X>(); Collection<X> allXrefs = annotatedObject.getXrefs(); if (!IntactCore.isInitialized(annotatedObject.getXrefs()) && IntactContext.currentInstanceExists()) { EntityManager entityManager = IntactContext.getCurrentInstance().getDaoFactory().getEntityManager(); // set the flush mode to manual to avoid hibernate trying to flush the session when querying the xrefs FlushModeType originalFlushMode = entityManager.getFlushMode(); entityManager.setFlushMode(FlushModeType.COMMIT); Class xrefClass = AnnotatedObjectUtils.getXrefClassType(annotatedObject.getClass()); allXrefs = IntactContext.getCurrentInstance().getDaoFactory().getXrefDao(xrefClass).getByParentAc(annotatedObject.getAc()); entityManager.setFlushMode(originalFlushMode); } for (X xref : allXrefs) { CvXrefQualifier qualifier = xref.getCvXrefQualifier(); String qualifierMi = null; if (qualifier != null && ((qualifierMi = qualifier.getIdentifier()) != null && qualifierMi.equals(CvXrefQualifier.IDENTITY_MI_REF))) { xrefs.add(xref); } } return xrefs; }
public static <X extends Xref> Collection<X> getIdentityXrefs(AnnotatedObject<X, ?> annotatedObject) { Collection<X> xrefs = new ArrayList<X>(); Collection<X> allXrefs = annotatedObject.getXrefs(); if (!IntactCore.isInitialized(annotatedObject.getXrefs()) && IntactContext.currentInstanceExists()) { EntityManager entityManager = IntactContext.getCurrentInstance().getDaoFactory().getEntityManager(); // set the flush mode to manual to avoid hibernate trying to flush the session when querying the xrefs FlushModeType originalFlushMode = entityManager.getFlushMode(); entityManager.setFlushMode(FlushModeType.COMMIT); Class xrefClass = AnnotatedObjectUtils.getXrefClassType(annotatedObject.getClass()); allXrefs = IntactContext.getCurrentInstance().getDaoFactory().getXrefDao(xrefClass).getByParentAc(annotatedObject.getAc()); entityManager.setFlushMode(originalFlushMode); } for (X xref : allXrefs) { CvXrefQualifier qualifier = xref.getCvXrefQualifier(); String qualifierMi = null; if (qualifier != null && ((qualifierMi = qualifier.getIdentifier()) != null && qualifierMi.equals(CvXrefQualifier.IDENTITY_MI_REF))) { xrefs.add(xref); } } return xrefs; }