Changeset 16250

Show
Ignore:
Timestamp:
17/07/08 16:04:57 (1 month ago)
Author:
julie
Message:

in affy probes, make synonyms

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/bio/sources/affy-probes/main/src/org/intermine/bio/dataconversion/Drosophila2ProbeConverter.java

    r16050 r16250  
    1919import java.util.Map; 
    2020 
     21import org.apache.commons.lang.StringUtils; 
    2122import org.apache.log4j.Logger; 
    2223import org.intermine.dataconversion.FileConverter; 
     
    4041    protected IdResolverFactory resolverFactory; 
    4142    private static final String TAXON_ID = "7227"; 
     43    private Map<String, Item> synonyms = new HashMap<String, Item>(); 
    4244 
    4345    /** 
     
    106108 
    107109                    if (transcriptIdentifier.startsWith("CG")) { 
    108                         Item transcript = createBioEntity("Transcript", transcriptIdentifier); 
     110                        Item transcript = createBioEntity("Transcript", transcriptIdentifier, 
     111                                                          delayedItems); 
    109112                        probeSet.setReference("transcript", transcript.getIdentifier()); 
    110113                    } 
     
    118121                        } 
    119122                        if (identifier.trim().startsWith("FBgn")) { 
    120                             Item gene = createBioEntity("Gene", identifier); 
     123                            Item gene = createBioEntity("Gene", identifier, delayedItems); 
    121124                            if (gene != null) { 
    122125                                geneColl.addRefId(gene.getIdentifier()); 
     
    135138    } 
    136139 
    137     private Item createBioEntity(String clsName, String id
     140    private Item createBioEntity(String clsName, String id, List<Item> delayedItems
    138141    throws ObjectStoreException { 
    139142        String identifier = id; 
     
    163166            bioMap.put(identifier, bio); 
    164167            store(bio); 
     168            createSynonym(bio.getIdentifier(), "identifier", identifier, delayedItems); 
    165169        } 
    166170        return bio; 
     
    185189            new ArrayList(Collections.singleton(dataSet.getIdentifier()))); 
    186190 
    187         Item synonym = createItem("Synonym"); 
    188         synonym.setAttribute("type", "identifier"); 
    189         synonym.setAttribute("value", probeSetId); 
    190         synonym.setReference("source", dataSource.getIdentifier()); 
    191         synonym.setReference("subject", probeSet.getIdentifier()); 
    192         delayedItems.add(synonym); 
    193  
     191        createSynonym(probeSet.getIdentifier(), "identifier", probeSetId, delayedItems); 
    194192        return probeSet; 
    195193    } 
    196194 
     195    private Item createSynonym(String subjectId, String type, String value, 
     196                               List<Item> delayedItems) { 
     197        String key = subjectId + type + value; 
     198        if (StringUtils.isEmpty(value)) { 
     199            return null; 
     200        } 
     201        if (!synonyms.containsKey(key)) { 
     202            Item syn = createItem("Synonym"); 
     203            syn.setReference("subject", subjectId); 
     204            syn.setAttribute("type", type); 
     205            syn.setAttribute("value", value); 
     206            syn.setReference("source", dataSource.getIdentifier()); 
     207            synonyms.put(key, syn); 
     208            delayedItems.add(syn); 
     209            return syn; 
     210        } 
     211        return null; 
     212    } 
     213 
     214 
     215 
    197216    // not used 
     217 
    198218//    private Item createChromosome(String chrId) throws ObjectStoreException { 
    199219//        Item chr = (Item) chrMap.get(chrId); 
  • trunk/bio/sources/affy-probes/test/resources/test/Drosophila2ProbeConverterTest.xml

    r16050 r16250  
    1010<collection name="genes"><reference ref_id="6_4"/></collection> 
    1111</item> 
    12 <item id="4_3" class="http://www.flymine.org/model/genomic#Synonym"> 
     12<item id="4_8" class="http://www.flymine.org/model/genomic#Synonym"> 
    1313<attribute name="type" value="identifier"/> 
    1414<attribute name="value" value="153347_at"/> 
    1515<reference name="source" ref_id="0_1"/> 
    1616<reference name="subject" ref_id="3_3"/> 
     17</item> 
     18<item id="4_4" class="http://www.flymine.org/model/genomic#Synonym"> 
     19<attribute name="type" value="identifier"/> 
     20<attribute name="value" value="1622892_s_at"/> 
     21<reference name="source" ref_id="0_1"/> 
     22<reference name="subject" ref_id="3_2"/> 
    1723</item> 
    1824<item id="0_1" class="http://www.flymine.org/model/genomic#DataSource"> 
     
    2127<item id="4_2" class="http://www.flymine.org/model/genomic#Synonym"> 
    2228<attribute name="type" value="identifier"/> 
    23 <attribute name="value" value="1622892_s_at"/> 
     29<attribute name="value" value="CG9042-RB"/> 
    2430<reference name="source" ref_id="0_1"/> 
    25 <reference name="subject" ref_id="3_2"/> 
     31<reference name="subject" ref_id="5_1"/> 
    2632</item> 
    2733<item id="6_3" class="http://www.flymine.org/model/genomic#Gene"> 
     
    3541<collection name="dataSets"><reference ref_id="2_1"/></collection> 
    3642</item> 
     43<item id="4_3" class="http://www.flymine.org/model/genomic#Synonym"> 
     44<attribute name="type" value="identifier"/> 
     45<attribute name="value" value="FBgn005"/> 
     46<reference name="source" ref_id="0_1"/> 
     47<reference name="subject" ref_id="6_1"/> 
     48</item> 
     49<item id="4_9" class="http://www.flymine.org/model/genomic#Synonym"> 
     50<attribute name="type" value="identifier"/> 
     51<attribute name="value" value="FBgn004"/> 
     52<reference name="source" ref_id="0_1"/> 
     53<reference name="subject" ref_id="6_4"/> 
     54</item> 
    3755<item id="6_1" class="http://www.flymine.org/model/genomic#Gene"> 
    3856<attribute name="primaryIdentifier" value="FBgn005"/> 
    3957<reference name="organism" ref_id="1_1"/> 
    4058<collection name="dataSets"><reference ref_id="2_1"/></collection> 
     59</item> 
     60<item id="4_5" class="http://www.flymine.org/model/genomic#Synonym"> 
     61<attribute name="type" value="identifier"/> 
     62<attribute name="value" value="CG7163-RA"/> 
     63<reference name="source" ref_id="0_1"/> 
     64<reference name="subject" ref_id="5_2"/> 
    4165</item> 
    4266<item id="5_2" class="http://www.flymine.org/model/genomic#Transcript"> 
     
    6488<reference name="subject" ref_id="3_1"/> 
    6589</item> 
     90<item id="4_6" class="http://www.flymine.org/model/genomic#Synonym"> 
     91<attribute name="type" value="identifier"/> 
     92<attribute name="value" value="FBgn002"/> 
     93<reference name="source" ref_id="0_1"/> 
     94<reference name="subject" ref_id="6_2"/> 
     95</item> 
     96<item id="4_7" class="http://www.flymine.org/model/genomic#Synonym"> 
     97<attribute name="type" value="identifier"/> 
     98<attribute name="value" value="FBgn003"/> 
     99<reference name="source" ref_id="0_1"/> 
     100<reference name="subject" ref_id="6_3"/> 
     101</item> 
    66102<item id="6_4" class="http://www.flymine.org/model/genomic#Gene"> 
    67103<attribute name="primaryIdentifier" value="FBgn004"/>