public psidev.psi.mi.xml253.jaxb.DbReferenceType toJaxb( psidev.psi.mi.xml.model.DbReference mDbReference ) { if ( mDbReference == null ) { throw new IllegalArgumentException( "You must give a non null model DbReference." ); } psidev.psi.mi.xml253.jaxb.DbReferenceType jDbReference = new psidev.psi.mi.xml253.jaxb.DbReferenceType(); // Initialise the JAXB object reading the model // 1. set attributes jDbReference.setDb( mDbReference.getDb() ); jDbReference.setDbAc( mDbReference.getDbAc() ); jDbReference.setId( mDbReference.getId() ); jDbReference.setRefType( mDbReference.getRefType() ); jDbReference.setRefTypeAc( mDbReference.getRefTypeAc() ); jDbReference.setSecondary( mDbReference.getSecondary() ); jDbReference.setVersion( mDbReference.getVersion() ); return jDbReference; } }
public static DbReference createDbReference(String primaryId, String dbAc, String dbName, String refTypeAc, String refTypeName) { DbReference dbRef = new DbReference(); dbRef.setId(primaryId); dbRef.setDbAc(dbAc); dbRef.setDb(dbName); dbRef.setRefType(refTypeName); dbRef.setRefTypeAc(refTypeAc); return dbRef; }
private boolean hasValidPubmedPrimaryRef( DbReference primaryRef ) { if ( (primaryRef.getRefTypeAc() != null && !CvXrefQualifier.PRIMARY_REFERENCE_MI_REF.equals(primaryRef.getRefTypeAc())) || (primaryRef.getRefTypeAc() == null && !CvXrefQualifier.PRIMARY_REFERENCE.equals(primaryRef.getRefType().toLowerCase())) || (primaryRef.getDbAc() != null && !CvDatabase.PUBMED_MI_REF.equals(primaryRef.getDbAc())) || (primaryRef.getDbAc() == null && !CvDatabase.PUBMED.equals(primaryRef.getDb().toLowerCase())) ) { return false; } return true; }
public psidev.psi.mi.xml.model.DbReference fromJaxb( psidev.psi.mi.xml253.jaxb.DbReferenceType jDbReference ) { if ( jDbReference == null ) { throw new IllegalArgumentException( "You must give a non null JAXB DbReference." ); } psidev.psi.mi.xml.model.DbReference mDbReference = new psidev.psi.mi.xml.model.DbReference(); // Initialise the model reading the Jaxb object // 1. set attributes mDbReference.setDb( jDbReference.getDb() ); mDbReference.setDbAc( jDbReference.getDbAc() ); mDbReference.setId( jDbReference.getId() ); mDbReference.setRefType( jDbReference.getRefType() ); mDbReference.setRefTypeAc( jDbReference.getRefTypeAc() ); mDbReference.setSecondary( jDbReference.getSecondary() ); mDbReference.setVersion( jDbReference.getVersion() ); return mDbReference; }
private RelationshipXref getInteractorPrimaryRef(psidev.psi.mi.xml.model.Xref psiXref) { if (psiXref==null || psiXref.getPrimaryRef() == null) return null; DbReference psiDBRef = psiXref.getPrimaryRef(); String refType = (psiDBRef.hasRefType()) ? psiDBRef.getRefType() : null; String refTypeAc = (psiDBRef.hasRefType()) ? psiDBRef.getRefTypeAc() : null; return relationshipXref(psiDBRef.getDb(), psiDBRef.getId(), refType, refTypeAc); }
/** * TODO comment this * * @param interactionAc * @param sourceReference * @return primaryReference of these interaction. */ private DbReference getPrimaryRef(CrossReference interactionAc, CrossReference sourceReference) { DbReference primaryRef = null; // set references if (interactionAc != null) { String id = interactionAc.getIdentifier(); String db = interactionAc.getDatabase(); primaryRef = new DbReference(id, db); if (sourceReference != null) { primaryRef.setDbAc(sourceReference.getIdentifier()); } primaryRef.setRefType("identity"); primaryRef.setRefTypeAc("MI:0356"); } return primaryRef; }
protected void fixPubmedReferenceAsIdentityToPrimaryRef(DbReference dbRef) { if (((dbRef.getDbAc() != null && CvDatabase.PUBMED_MI_REF.equals(dbRef.getDbAc())) || (dbRef.getDbAc() == null && CvDatabase.PUBMED.equals(dbRef.getDb().toLowerCase()))) && (( dbRef.getRefTypeAc() != null && CvXrefQualifier.IDENTITY_MI_REF.equals(dbRef.getRefTypeAc())) || ( dbRef.getRefTypeAc() == null && CvXrefQualifier.IDENTITY.equals(dbRef.getRefType().toLowerCase())))) { dbRef.setRefTypeAc(CvXrefQualifier.PRIMARY_REFERENCE_MI_REF); dbRef.setRefType(CvXrefQualifier.PRIMARY_REFERENCE); 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); } }
/** * Checks if an Xref has the given PSI-MI reference * * @param xref * @param psiRef * @return */ public static boolean hasPsiId( Xref xref, String psiRef ) { if ( psiRef == null || "".equals( psiRef.trim() ) ) { throw new IllegalArgumentException( "You must give a non null/empty PSI-MI id." ); } if ( xref == null ) { return false; } List<DbReference> list = getAllDbReferences( xref ); for ( DbReference ref : list ) { if ( PSI_MI.equalsIgnoreCase( ref.getDb() ) || PSI_MI_REF.equalsIgnoreCase( ref.getDbAc() ) ) { if ( psiRef.equalsIgnoreCase( ref.getId() ) ) { log.debug( "Found Xref( psi-mi, " + psiRef + " )" ); return true; } } } return false; }
primaryReferece = new DbReference(primaryId, primaryDatabase); primaryReferece.setDbAc(UNIPROT_MI); primaryReferece.setRefType(IDENTITY); primaryReferece.setRefTypeAc(IDENTITY_REF); } else if (primaryDatabase.equals(CHEBI)) { primaryReferece.setDbAc(CHEBI_MI); primaryReferece.setRefType(IDENTITY); primaryReferece.setRefTypeAc(IDENTITY_REF); } else if (primaryDatabase.equals(INTACT)) { primaryReferece.setDbAc(INTACT_MI); primaryReferece.setRefType(IDENTITY); primaryReferece.setRefTypeAc(IDENTITY_REF); String id = interactorType.getXref().getPrimaryRef().getId(); Names interactorTypeName = new Names(); String xrefPrimaryDB = xmlInteractor.getXref().getPrimaryRef().getDb(); if (xrefPrimaryDB.equals(UNIPROT)) { DbReference dbRef = new DbReference("MI:0326", PSIMI); dbRef.setDbAc(PSIMI_MI); dbRef.setRefType(IDENTITY); dbRef.setRefTypeAc(IDENTITY_REF); interactorTypeXref = new Xref(dbRef); } else if (xrefPrimaryDB.equals(CHEBI)) { DbReference dbRef = new DbReference("MI:0328", PSIMI); dbRef.setDbAc(PSIMI_MI);
private Set<Xref> getXrefs(psidev.psi.mi.xml.model.Xref psiXREF) { // set to return Set<Xref> toReturn = new HashSet<Xref>(); // check args if (psiXREF == null) return toReturn; // create the list of all other psimi xrefs List<DbReference> psiDBRefList = new ArrayList<DbReference>(); DbReference primaryRef = psiXREF.getPrimaryRef(); if(primaryRef != null) { //looks, it should never be null in a valid PSI-MI model if ("identity".equals(primaryRef.getRefType()) || "identical object".equals(primaryRef.getRefType())) { UnificationXref bpXref = unificationXref(primaryRef.getDb(), primaryRef.getId()); toReturn.add(bpXref); } else { psiDBRefList.add(psiXREF.getPrimaryRef()); } } if (psiXREF.hasSecondaryRef()) { psiDBRefList.addAll(psiXREF.getSecondaryRef()); } for (DbReference psiref : psiDBRefList) { if(psiref==null) continue; xref(psiref, toReturn); } return toReturn; }
if ( dbRef.getRefTypeAc() != null && dbRef.getRefTypeAc().equals( CvXrefQualifier.IDENTITY_MI_REF ) ) { if ( (dbRef.getDbAc() != null && dbRef.getDbAc().equals( CvDatabase.PSI_MI_MI_REF )) || (dbRef.getDbAc() == null && dbRef.getDb().equalsIgnoreCase( CvDatabase.PSI_MI)) ) { primary = dbRef; break; if ( (dbRef.getDbAc() != null && dbRef.getDbAc().equals( CvDatabase.UNIPROT_MI_REF )) || (dbRef.getDbAc() == null && dbRef.getDb().equalsIgnoreCase( CvDatabase.UNIPROT )) ) {
/** * Collect DbReference that match the given database criteria. * * @param xref * @param name * @param miRef * @return a non null collection. */ public static Collection<DbReference> searchByType( Xref xref, String name, String miRef ) { if ( name == null && miRef == null ) { throw new IllegalArgumentException( "You must give either a name of an MI reference (or both)." ); } List<DbReference> collected = new ArrayList<DbReference>( 2 ); List<DbReference> xrefs = getAllDbReferences( xref ); for ( DbReference reference : xrefs ) { // Priority to the MI ref is available. if ( miRef != null ) { if ( miRef.equalsIgnoreCase( reference.getRefTypeAc() ) ) { collected.add( reference ); } } else if ( name != null ) { if ( name.equalsIgnoreCase( reference.getRefType() ) ) { collected.add( reference ); } } } return collected; }
private DbReference createSecondaryRef(CrossReference secondaryIdentifier) { String database = secondaryIdentifier.getDatabase(); String id = secondaryIdentifier.getIdentifier(); return new DbReference(id, database); }
private static DbReference getPrimaryReference( Collection<DbReference> dbRefs, String dbAc ) { for ( DbReference dbRef : dbRefs ) { if ( dbRef.getRefTypeAc() != null && dbRef.getRefTypeAc().equals( CvXrefQualifier.PRIMARY_REFERENCE_MI_REF ) ) { if (dbAc != null) { if (dbAc.equals(dbRef.getDbAc())) { return dbRef; } } else { return dbRef; } } } if ( dbAc == null && !dbRefs.isEmpty() ) { return dbRefs.iterator().next(); } return null; }
/** * Collect DbReference that match the given database criteria. * * @param xref * @param name * @param miRef * @return a non null collection. */ public static Collection<DbReference> searchByDatabase( Xref xref, String name, String miRef ) { if ( name == null && miRef == null ) { throw new IllegalArgumentException( "You must give either a name of an MI reference (or both)." ); } List<DbReference> collected = new ArrayList<DbReference>( 2 ); List<DbReference> xrefs = getAllDbReferences( xref ); for ( DbReference reference : xrefs ) { if ( name != null ) { if ( name.equalsIgnoreCase( reference.getDb() ) ) { collected.add( reference ); } } else if ( miRef != null ) { if ( miRef.equalsIgnoreCase( reference.getDbAc() ) ) { collected.add( reference ); } } } return collected; }
if (!ref.hasRefType() ||(ref.hasRefType() && !ref.getRefType().equalsIgnoreCase("identity"))) { CrossReference cr = buildCrossReference(ref); if (!xrefs.contains(cr)) {
public static CvXrefQualifier createCvXrefQualifier(Institution institution, DbReference dbReference) { String xrefType = dbReference.getRefType(); CvXrefQualifier xrefQual = null; if (xrefType != null) { xrefQual = new CvXrefQualifier(institution, xrefType); } return xrefQual; }