Changeset 16233

Show
Ignore:
Timestamp:
15/07/08 16:37:49 (1 month ago)
Author:
julie
Message:

create synonyms for go terms. Refs #1709

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/bio/sources/go-annotation/main/src/org/intermine/bio/dataconversion/GoConverter.java

    r16069 r16233  
    7171    private static final Logger LOG = Logger.getLogger(GoConverter.class); 
    7272    protected IdResolverFactory resolverFactory; 
    73      
     73 
    7474    // TODO: datasources Map to contains ids not items? - need the dataset later on 
    7575    // TODO: store product after each one finished? - 'with' field may be a problem 
     
    9090        synonymTypes.put("gene", "identifier"); 
    9191        synonymTypes.put("Gene", "identifier"); 
    92          
     92 
    9393        // only construct factory here so can be replaced by mock factory in tests 
    9494        resolverFactory = new FlyBaseIdResolverFactory(); 
    95          
     95 
    9696        readConfig(); 
    9797    } 
     
    248248                Item newDatasource = newDatasource(ds); 
    249249                String newPublicationId = newPublication(array[5]); 
    250                 Item newGoTerm = newGoTerm(goId); 
     250                Item newGoTerm = newGoTerm(goId, newDatasource); 
    251251                ReferenceList newGoEvidenceColl = 
    252252                    new ReferenceList("goEvidenceCodes", new ArrayList()); 
     
    262262                // temporary object while we are rattling through the file 
    263263                // needed because we may have extra publications 
    264                  
     264 
    265265                // check for null productWrapper - where idResolver could not find a current id 
    266266                if (newProductWrapper != null) { 
    267                     PlaceHolder newPlaceHolder =  
    268                         new PlaceHolder(qualifier, newDatasource, newPublicationId,  
     267                    PlaceHolder newPlaceHolder = 
     268                        new PlaceHolder(qualifier, newDatasource, newPublicationId, 
    269269                                        newGoEvidenceColl, newProductWrapper, newGoTerm, 
    270270                                        array[7], newOrganism); 
     
    421421 
    422422        for (String parentTermGoId : parentTermIdsSet) { 
    423             Item nextParentGoTermId = newGoTerm(parentTermGoId); 
     423            Item nextParentGoTermId = newGoTerm(parentTermGoId, placeHolder.getDatasource()); 
    424424 
    425425            Item parentItem = null; 
     
    603603            } 
    604604 
    605             // if a Dmel gene we need to use FlyBaseIdResolver to find a current id     
     605            // if a Dmel gene we need to use FlyBaseIdResolver to find a current id 
    606606            if (taxonId.equals("7227")) { 
    607607                IdResolver resolver = resolverFactory.getIdResolver(); 
     
    637637 
    638638        // if a Dmel gene we need to use FlyBaseIdResolver to find a current id 
    639          
     639 
    640640        Item product = createItem(clsName); 
    641641        if (organism != null && createOrganism) { 
     
    675675    } 
    676676 
    677     private Item newGoTerm(String identifier) throws ObjectStoreException { 
     677    private Item newGoTerm(String identifier, Item dataSource) throws ObjectStoreException { 
    678678        Item item = goTerms.get(identifier); 
    679679        if (item == null) { 
     
    682682            goTerms.put(identifier, item); 
    683683            store(item); 
     684 
     685            Item synonym = newSynonym( 
     686                                      item.getIdentifier(), 
     687                                      "identifier", 
     688                                      identifier, 
     689                                      dataSource); 
     690            store(synonym); 
     691 
    684692        } 
    685693        return item;