private void checkOrganism(Collection<ValidatorMessage> messages, Organism o, Object parent, String label ) throws ValidatorException { // run the organism specialized rules Collection<ValidatorMessage> organismMessages = (this.organismRuleWrapper.check(o)); // validate with other rules if any if (!getObjectRules().isEmpty()){ messages.addAll(super.validate(o)); } // add context for (ValidatorMessage message : organismMessages){ ((MiContext)message.getContext()).addAssociatedContext(RuleUtils.buildContext(parent, label)); messages.add(message); } // validate aliases for (Alias alias : o.getAliases()){ checkAlias(messages, alias, o, "organism"); } }
/*** * This method will copy properties of organism source in organism target and will override all the other properties of Target organism. * @param source * @param target */ public static void copyAndOverrideOrganismProperties(Organism source, Organism target){ if (source != null && target != null){ target.setCommonName(source.getCommonName()); target.setScientificName(source.getScientificName()); target.setCellType(source.getCellType()); target.setTissue(source.getTissue()); target.setCompartment(source.getCompartment()); target.setTaxId(source.getTaxId()); // copy collections target.getAliases().clear(); target.getAliases().addAll(source.getAliases()); } } }
public static psidev.psi.mi.jami.model.Organism createOrganismFromEntry(UniProtEntry entity){ if(entity.getNcbiTaxonomyIds() == null || entity.getNcbiTaxonomyIds().isEmpty()){ return OrganismUtils.createUnknownOrganism(); } else if(entity.getNcbiTaxonomyIds().size() > 1){ throw new IllegalArgumentException( "Uniprot entry ["+entity.getPrimaryUniProtAccession().getValue()+"] " +"has multiple organisms."); } else { String id = entity.getNcbiTaxonomyIds().get(0).getValue(); try{ psidev.psi.mi.jami.model.Organism o = new DefaultOrganism( Integer.parseInt( id ) ); if(entity.getOrganism().hasCommonName()) o.setCommonName(entity.getOrganism().getCommonName().getValue()); if(entity.getOrganism().getScientificName() != null) o.setScientificName(entity.getOrganism().getScientificName().getValue()); if(entity.getOrganism().hasSynonym()) o.getAliases().add(AliasUtils.createAlias(Alias.SYNONYM, Alias.SYNONYM_MI, entity.getOrganism().getSynonym().getValue())); return o; }catch(NumberFormatException n){ throw new IllegalArgumentException("Uniprot entry ["+entity.getPrimaryUniProtAccession().getValue()+"] " + "has a TaxonomyID which could not be cast to an integer: ("+id+").",n); } } } }