public void buildOntology(Map<String, T> id2Terms, Map<String, T> name2Terms) { // 1. convert and index all terms (note: at this stage we don't handle the hierarchy) for ( Iterator iterator = ontBean.getTerms().iterator(); iterator.hasNext(); ) { Term term = ( Term ) iterator.next(); // convert term into a OboTerm T ontologyTerm = createNewTerm(term); final Collection<TermSynonym> synonyms = term.getSynonyms(); if( synonyms != null ) { for ( TermSynonym synonym : synonyms ) { ontologyTerm.getSynonyms().add(AliasUtils.createAlias(Alias.SYNONYM, Alias.SYNONYM_MI, synonym.getSynonym())); } } id2Terms.put(term.getIdentifier(), ontologyTerm); name2Terms.put(term.getName(), ontologyTerm); } }
/*** * This method will copy properties of cv term source in cv term target and will override all the other properties of Target cv term. * @param source : the cv term source to copy from * @param target : the cv term target to copy to */ public static void copyAndOverrideCvTermProperties(CvTerm source, CvTerm target){ if (source != null && target != null){ target.setShortName(source.getShortName()); target.setFullName(source.getFullName()); // copy collections target.getAnnotations().clear(); target.getAnnotations().addAll(source.getAnnotations()); target.getXrefs().clear(); target.getXrefs().addAll(source.getXrefs()); target.getIdentifiers().clear(); target.getIdentifiers().addAll(source.getIdentifiers()); target.getSynonyms().clear(); target.getSynonyms().addAll(source.getSynonyms()); } }
protected void processSynonyms(Term term, T ontologyTerm) { Collection<TermSynonym> synonyms = term.getSynonyms(); if (synonyms != null){ for (TermSynonym synonym : synonyms){ Term synonymType = synonym.getSynonymType(); //PSI-MOD-label for MOD if (synonymType != null){ if (SHORTLABEL_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || MOD_SHORTLABEL_IDENTIFIER.equalsIgnoreCase(synonymType.getName())){ ontologyTerm.setShortName(synonym.getSynonym()); } else if (ALIAS_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || MOD_ALIAS_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || RESID_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || RESID_MISNOMER_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || RESID_NAME_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || RESID_SYSTEMATIC_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || UNIPROT_FEATURE_IDENTIFIER.equalsIgnoreCase(synonymType.getName()) || EXACT_KEY.equalsIgnoreCase(synonymType.getName())){ ontologyTerm.getSynonyms().add(AliasUtils.createAlias(Alias.SYNONYM, Alias.SYNONYM_MI, synonym.getSynonym())); } } } } }