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; }
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; }
private boolean hasValidDOIPrimaryRef( 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.DOI_MI_REF.equals(primaryRef.getDbAc())) || (primaryRef.getDbAc() == null && !CvDatabase.DOI.equals(primaryRef.getDb().toLowerCase())) ) { return false; } return true; }
private boolean hasValidPrimaryRef( 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()) && !CvDatabase.DOI_MI_REF.equals(primaryRef.getDbAc())) || (primaryRef.getDbAc() == null && !CvDatabase.PUBMED.equals(primaryRef.getDb().toLowerCase()) && !CvDatabase.DOI.equals(primaryRef.getDb().toLowerCase())) ) { return false; } return true; }
/** * 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; }
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); } }
if ( dbRef.getRefTypeAc() != null && dbRef.getRefTypeAc().equals( CvXrefQualifier.IDENTITY_MI_REF ) ) {
protected boolean containsRole(Collection<ExperimentalRole> experimentalRoles, String[] rolesToFind) { if (experimentalRoles != null) { for (ExperimentalRole expRole : experimentalRoles) { if (expRole.getXref() != null && expRole.getXref().getPrimaryRef()!=null) { String ac = expRole.getXref().getPrimaryRef().getRefTypeAc(); for (String roleToFind : rolesToFind) { if (roleToFind.equals(ac)) { return true; } } } } } return false; } }
private void xref(DbReference psiref, Set<Xref> bpXrefs) { // process ref type String refType = (psiref.hasRefType()) ? psiref.getRefType() : null; String refTypeAc = (psiref.hasRefTypeAc()) ? psiref.getRefTypeAc() : null; String psiDBRefId = psiref.getId(); String psiDBRefDb = psiref.getDb(); // If multiple ids given with comma separated values, then split them. for (String dbRefId : psiDBRefId.split(",")) { Xref bpXref = null; // Let's not make UnificationXrefs. RelationshipXref is more safe. // Often, a gene or omim ID (can be another species') is a protein's xref id with 'identity' type... if(!"pubmed".equalsIgnoreCase(psiDBRefDb)) { bpXref = relationshipXref(psiDBRefDb, dbRefId, refType, refTypeAc); } else { //TODO shall we skip PublicationXref here (IntAct puts the same PSIMI paper pmid everywhere...)? bpXref = publicationXref(psiDBRefDb, dbRefId); } if (bpXref != null) bpXrefs.add(bpXref); } }
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); }
public psidev.psi.mi.xml254.jaxb.DbReference 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.xml254.jaxb.DbReference jDbReference = new psidev.psi.mi.xml254.jaxb.DbReference(); // 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 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; } }
if (ref1.getRefTypeAc() != null && ref2.getRefTypeAc() == null){ return false; else if (ref1.getRefTypeAc() == null && ref2.getRefTypeAc() != null){ return false; else if (ref1.getRefTypeAc() != null && ref2.getRefTypeAc() != null && !ref1.getRefTypeAc().equalsIgnoreCase(ref2.getRefTypeAc())) { return false;
String refTypeAc = psiObject.getRefTypeAc();