Changeset 16250
- Timestamp:
- 17/07/08 16:04:57 (1 month ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/bio/sources/affy-probes/main/src/org/intermine/bio/dataconversion/Drosophila2ProbeConverter.java
r16050 r16250 19 19 import java.util.Map; 20 20 21 import org.apache.commons.lang.StringUtils; 21 22 import org.apache.log4j.Logger; 22 23 import org.intermine.dataconversion.FileConverter; … … 40 41 protected IdResolverFactory resolverFactory; 41 42 private static final String TAXON_ID = "7227"; 43 private Map<String, Item> synonyms = new HashMap<String, Item>(); 42 44 43 45 /** … … 106 108 107 109 if (transcriptIdentifier.startsWith("CG")) { 108 Item transcript = createBioEntity("Transcript", transcriptIdentifier); 110 Item transcript = createBioEntity("Transcript", transcriptIdentifier, 111 delayedItems); 109 112 probeSet.setReference("transcript", transcript.getIdentifier()); 110 113 } … … 118 121 } 119 122 if (identifier.trim().startsWith("FBgn")) { 120 Item gene = createBioEntity("Gene", identifier );123 Item gene = createBioEntity("Gene", identifier, delayedItems); 121 124 if (gene != null) { 122 125 geneColl.addRefId(gene.getIdentifier()); … … 135 138 } 136 139 137 private Item createBioEntity(String clsName, String id )140 private Item createBioEntity(String clsName, String id, List<Item> delayedItems) 138 141 throws ObjectStoreException { 139 142 String identifier = id; … … 163 166 bioMap.put(identifier, bio); 164 167 store(bio); 168 createSynonym(bio.getIdentifier(), "identifier", identifier, delayedItems); 165 169 } 166 170 return bio; … … 185 189 new ArrayList(Collections.singleton(dataSet.getIdentifier()))); 186 190 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); 194 192 return probeSet; 195 193 } 196 194 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 197 216 // not used 217 198 218 // private Item createChromosome(String chrId) throws ObjectStoreException { 199 219 // Item chr = (Item) chrMap.get(chrId); trunk/bio/sources/affy-probes/test/resources/test/Drosophila2ProbeConverterTest.xml
r16050 r16250 10 10 <collection name="genes"><reference ref_id="6_4"/></collection> 11 11 </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"> 13 13 <attribute name="type" value="identifier"/> 14 14 <attribute name="value" value="153347_at"/> 15 15 <reference name="source" ref_id="0_1"/> 16 16 <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"/> 17 23 </item> 18 24 <item id="0_1" class="http://www.flymine.org/model/genomic#DataSource"> … … 21 27 <item id="4_2" class="http://www.flymine.org/model/genomic#Synonym"> 22 28 <attribute name="type" value="identifier"/> 23 <attribute name="value" value=" 1622892_s_at"/>29 <attribute name="value" value="CG9042-RB"/> 24 30 <reference name="source" ref_id="0_1"/> 25 <reference name="subject" ref_id=" 3_2"/>31 <reference name="subject" ref_id="5_1"/> 26 32 </item> 27 33 <item id="6_3" class="http://www.flymine.org/model/genomic#Gene"> … … 35 41 <collection name="dataSets"><reference ref_id="2_1"/></collection> 36 42 </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> 37 55 <item id="6_1" class="http://www.flymine.org/model/genomic#Gene"> 38 56 <attribute name="primaryIdentifier" value="FBgn005"/> 39 57 <reference name="organism" ref_id="1_1"/> 40 58 <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"/> 41 65 </item> 42 66 <item id="5_2" class="http://www.flymine.org/model/genomic#Transcript"> … … 64 88 <reference name="subject" ref_id="3_1"/> 65 89 </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> 66 102 <item id="6_4" class="http://www.flymine.org/model/genomic#Gene"> 67 103 <attribute name="primaryIdentifier" value="FBgn004"/>
