Changeset 627

Show
Ignore:
Timestamp:
13-04-12 13:10:48 (2 years ago)
Author:
rob.hooft@…
Message:
  • Remove tabs in a wild attempt to reduce the number of checkstyle warnings....
Location:
trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderImportChembl.java

    r593 r627  
    9696         
    9797        for (ChemspiderEntry entry : entries.values()) { 
    98                 if (entry.title == null || entry.title.isEmpty()) { 
    99                         continue; 
    100                 } 
    101                  
     98            if (entry.title == null || entry.title.isEmpty()) { 
     99                continue; 
     100            } 
     101             
    102102            // add all labels from the entry 
    103                 final Set<String> encounteredLanguages = Sets.newHashSet(); 
     103            final Set<String> encounteredLanguages = Sets.newHashSet(); 
    104104            final Set<Label> labels = Sets.newHashSet(); 
    105105             
     
    107107            //labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    108108            for (String synonym : entry.synonyms) { 
    109                 String text = synonym.substring(0, synonym.length() - 3); 
    110                 String lang = synonym.substring(synonym.length() - 2); 
    111                  
    112                 // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
    113                 // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
    114                 if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
    115                         labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
    116                 } else { 
    117                         // check whether this syn is already a preferred label. if so, do not add it as an alt 
    118                         if (text.equals(entry.title) == false) { 
    119                                 labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
    120                         } 
    121                 } 
     109                String text = synonym.substring(0, synonym.length() - 3); 
     110                String lang = synonym.substring(synonym.length() - 2); 
     111                 
     112                // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
     113                // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
     114                if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
     115                    labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
     116                } else { 
     117                    // check whether this syn is already a preferred label. if so, do not add it as an alt 
     118                    if (text.equals(entry.title) == false) { 
     119                        labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
     120                    } 
     121                } 
    122122            } 
    123123 
     
    125125            final Set<Notation> notations = Sets.newHashSet(); 
    126126            for (String extid : entry.extIds) { 
    127                         notations.add(new NotationImpl(extid)); 
     127                notations.add(new NotationImpl(extid)); 
    128128            } 
    129129             
     
    131131            final Set<Url> urls = Sets.newHashSet(); 
    132132            for (String url : entry.extUrls) { 
    133                 urls.add(new UrlImpl(UrlType.ALTERNATIVE, url)); 
     133                urls.add(new UrlImpl(UrlType.ALTERNATIVE, url)); 
    134134            } 
    135135             
     
    137137            List<Concept> chemspiderConcepts = conceptService.getConceptsByNotation(String.valueOf(entry.csId), SCOPE.includeLabels(), 1, chemspiderBranch); 
    138138            if (!chemspiderConcepts.isEmpty()) { 
    139                 final Concept chemspiderConcept = chemspiderConcepts.get(0); 
    140                 final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
    141                  
    142                 final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    143                                 .withLabels(uniqueLabels) 
    144                                         .withNotations(notations) 
    145                                         .withTags(tags) 
    146                                         .withUrls(urls)); 
    147                 try { 
    148                         conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
    149                          
    150                         updatedConcepts++; 
    151                 } catch (IllegalArgumentException e) { 
    152                         logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    153                         unadded++; 
    154                 } 
     139                final Concept chemspiderConcept = chemspiderConcepts.get(0); 
     140                final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
     141                 
     142                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
     143                        .withLabels(uniqueLabels) 
     144                        .withNotations(notations) 
     145                        .withTags(tags) 
     146                        .withUrls(urls)); 
     147                try { 
     148                    conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
     149                     
     150                    updatedConcepts++; 
     151                } catch (IllegalArgumentException e) { 
     152                    logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     153                    unadded++; 
     154                } 
    155155            } else { 
    156                 // only add the pref label to a new concept 
    157                 labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    158                  
    159                 // only add the chemspider notations for new concepts to prevent duplicates 
    160                 notations.add(new NotationImpl(Integer.toString(entry.csId))); 
     156                // only add the pref label to a new concept 
     157                labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
     158                 
     159                // only add the chemspider notations for new concepts to prevent duplicates 
     160                notations.add(new NotationImpl(Integer.toString(entry.csId))); 
    161161                notations.add(new NotationImpl(entry.inchiKey)); 
    162162                 
    163                 // only add the chemspider url for new concepts to prevent duplicates 
     163                // only add the chemspider url for new concepts to prevent duplicates 
    164164                urls.add(new UrlImpl(UrlType.PREFERRED, "http://rdf.chemspider.com/" + entry.csId)); 
    165165                 
    166                 // construct a new concept 
    167                         final Concept c = new ConceptImpl.Builder() 
    168                                         .labels(labels) 
    169                                         .notations(notations) 
    170                                         .tags(tags) 
    171                                         .urls(urls) 
    172                                         .build(); 
    173                                 conceptService.createConcept(c, chemspiderBranch); 
     166                // construct a new concept 
     167                final Concept c = new ConceptImpl.Builder() 
     168                        .labels(labels) 
     169                        .notations(notations) 
     170                        .tags(tags) 
     171                        .urls(urls) 
     172                        .build(); 
     173                conceptService.createConcept(c, chemspiderBranch); 
    174174   
    175                                 newConcepts++; 
     175                newConcepts++; 
    176176            } 
    177177             
    178178             
    179179//            if (!entry.extIds.isEmpty()) { 
    180 //              final String cui = entry.extIds.iterator().next(); 
     180//              final String cui = entry.extIds.iterator().next(); 
    181181//                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    182182//                        .withLabels(labels) 
     
    186186//                 final List<Concept> concepts = conceptService.getConceptsByNotation(cui, SCOPE, 1, umlsBranch); 
    187187//                 if (concepts.isEmpty()) { 
    188 //                      // construct a new concept 
    189 //                       final Concept c = new ConceptImpl.Builder() 
    190 //                               .labels(labels) 
    191 //                               .notations(notations) 
    192 //                               .tags(tags) 
    193 //                               .urls(urls) 
    194 //                               .build(); 
    195 //                       conceptService.createConcept(c, chemspiderBranch); 
    196 //                        
    197 //                       newConcepts++; 
     188//                  // construct a new concept 
     189//                   final Concept c = new ConceptImpl.Builder() 
     190//                           .labels(labels) 
     191//                           .notations(notations) 
     192//                           .tags(tags) 
     193//                           .urls(urls) 
     194//                           .build(); 
     195//                   conceptService.createConcept(c, chemspiderBranch); 
     196//                    
     197//                   newConcepts++; 
    198198//                 } else { 
    199199//                     final Concept existingConcept = concepts.get(0); 
    200200//                     try { 
    201 //                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
    202 //                              logger.info("it goes wrong here"); 
    203 //                      } 
    204 //                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
    205 //                       
    206 //                      updatedConcepts++; 
     201//                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
     202//                          logger.info("it goes wrong here"); 
     203//                      } 
     204//                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
     205//                       
     206//                      updatedConcepts++; 
    207207//                     } catch (IllegalArgumentException e) { 
    208 //                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    209 //                      unadded++; 
     208//                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     209//                      unadded++; 
    210210//                     } 
    211211//                 } 
     
    224224             
    225225            counter++; 
    226                 if (counter >= 5000) { 
    227                         try { 
    228                                 tx.success(); 
    229                                 tx.finish(); 
    230                         } catch (Exception e) { 
    231                                 logger.error("Failed to commit an intermediate transaction", e); 
    232                         } 
    233                         tx = graphTemplate.getGraphDb().beginTx(); 
    234                         logger.info("Another 5k concepts processed"); 
    235                         lastCommitted += counter; 
    236                         counter = 0; 
    237                 } 
     226            if (counter >= 5000) { 
     227                try { 
     228                    tx.success(); 
     229                    tx.finish(); 
     230                } catch (Exception e) { 
     231                    logger.error("Failed to commit an intermediate transaction", e); 
     232                } 
     233                tx = graphTemplate.getGraphDb().beginTx(); 
     234                logger.info("Another 5k concepts processed"); 
     235                lastCommitted += counter; 
     236                counter = 0; 
     237            } 
    238238        } 
    239239         
    240240        try { 
    241                 tx.success(); 
    242                 tx.finish(); 
     241            tx.success(); 
     242            tx.finish(); 
    243243        } catch (Exception e) { 
    244                 logger.error("Failed to commit the final transaction", e); 
     244            logger.error("Failed to commit the final transaction", e); 
    245245        } 
    246246 
     
    299299                break; 
    300300            case TITLE: 
    301                 entry.title = objectValue; 
    302                 break; 
     301                entry.title = objectValue; 
     302                break; 
    303303//            case SMILES: 
    304304//                entry.smiles = objectValue; 
     
    314314                break; 
    315315            case LANG: 
    316                 entry.synonyms.add(lastSynonym + " " +objectValue); 
    317                 break; 
     316                entry.synonyms.add(lastSynonym + " " +objectValue); 
     317                break; 
    318318            default: 
    319319                break; 
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderImportDrugbank.java

    r593 r627  
    9696         
    9797        for (ChemspiderEntry entry : entries.values()) { 
    98                 if (entry.title == null || entry.title.isEmpty()) { 
    99                         continue; 
    100                 } 
    101                  
     98            if (entry.title == null || entry.title.isEmpty()) { 
     99                continue; 
     100            } 
     101             
    102102            // add all labels from the entry 
    103                 final Set<String> encounteredLanguages = Sets.newHashSet(); 
     103            final Set<String> encounteredLanguages = Sets.newHashSet(); 
    104104            final Set<Label> labels = Sets.newHashSet(); 
    105105             
     
    107107            //labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    108108            for (String synonym : entry.synonyms) { 
    109                 String text = synonym.substring(0, synonym.length() - 3); 
    110                 String lang = synonym.substring(synonym.length() - 2); 
    111                  
    112                 // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
    113                 // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
    114                 if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
    115                         labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
    116                 } else { 
    117                         // check whether this syn is already a preferred label. if so, do not add it as an alt 
    118                         if (text.equals(entry.title) == false) { 
    119                                 labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
    120                         } 
    121                 } 
     109                String text = synonym.substring(0, synonym.length() - 3); 
     110                String lang = synonym.substring(synonym.length() - 2); 
     111                 
     112                // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
     113                // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
     114                if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
     115                    labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
     116                } else { 
     117                    // check whether this syn is already a preferred label. if so, do not add it as an alt 
     118                    if (text.equals(entry.title) == false) { 
     119                        labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
     120                    } 
     121                } 
    122122            } 
    123123             
     
    128128            final Set<Notation> notations = Sets.newHashSet(); 
    129129            for (String extid : entry.extIds) { 
    130                 if (extid.startsWith("DB")) { 
    131                         notations.add(new NotationImpl(extid)); 
    132                         urls.add(new UrlImpl(UrlType.ALTERNATIVE, "http://www.drugbank.ca/drugs/" + extid)); 
    133                 } 
     130                if (extid.startsWith("DB")) { 
     131                    notations.add(new NotationImpl(extid)); 
     132                    urls.add(new UrlImpl(UrlType.ALTERNATIVE, "http://www.drugbank.ca/drugs/" + extid)); 
     133                } 
    134134            } 
    135135             
     
    137137            List<Concept> chemspiderConcepts = conceptService.getConceptsByNotation(String.valueOf(entry.csId), SCOPE.includeLabels(), 1, chemspiderBranch); 
    138138            if (!chemspiderConcepts.isEmpty()) { 
    139                 final Concept chemspiderConcept = chemspiderConcepts.get(0); 
    140                 final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
    141                  
    142                 final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    143                                 .withLabels(uniqueLabels) 
    144                                         .withNotations(notations) 
    145                                         .withTags(tags) 
    146                                         .withUrls(urls)); 
    147                 try { 
    148                         conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
    149                          
    150                         updatedConcepts++; 
    151                 } catch (IllegalArgumentException e) { 
    152                         logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    153                         unadded++; 
    154                 } 
     139                final Concept chemspiderConcept = chemspiderConcepts.get(0); 
     140                final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
     141                 
     142                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
     143                        .withLabels(uniqueLabels) 
     144                        .withNotations(notations) 
     145                        .withTags(tags) 
     146                        .withUrls(urls)); 
     147                try { 
     148                    conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
     149                     
     150                    updatedConcepts++; 
     151                } catch (IllegalArgumentException e) { 
     152                    logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     153                    unadded++; 
     154                } 
    155155            } else { 
    156                 // only add the pref label to a new concept 
    157                 labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    158                  
    159                 // only add the chemspider notations for new concepts to prevent duplicates 
    160                 notations.add(new NotationImpl(Integer.toString(entry.csId))); 
     156                // only add the pref label to a new concept 
     157                labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
     158                 
     159                // only add the chemspider notations for new concepts to prevent duplicates 
     160                notations.add(new NotationImpl(Integer.toString(entry.csId))); 
    161161                notations.add(new NotationImpl(entry.inchiKey)); 
    162162                 
    163                 // only add the chemspider url for new concepts to prevent duplicates 
     163                // only add the chemspider url for new concepts to prevent duplicates 
    164164                urls.add(new UrlImpl(UrlType.PREFERRED, "http://rdf.chemspider.com/" + entry.csId)); 
    165165                 
    166                 // construct a new concept 
    167                         final Concept c = new ConceptImpl.Builder() 
    168                                         .labels(labels) 
    169                                         .notations(notations) 
    170                                         .tags(tags) 
    171                                         .urls(urls) 
    172                                         .build(); 
    173                                 conceptService.createConcept(c, chemspiderBranch); 
     166                // construct a new concept 
     167                final Concept c = new ConceptImpl.Builder() 
     168                        .labels(labels) 
     169                        .notations(notations) 
     170                        .tags(tags) 
     171                        .urls(urls) 
     172                        .build(); 
     173                conceptService.createConcept(c, chemspiderBranch); 
    174174   
    175                                 newConcepts++; 
     175                newConcepts++; 
    176176            } 
    177177             
    178178             
    179179//            if (!entry.extIds.isEmpty()) { 
    180 //              final String cui = entry.extIds.iterator().next(); 
     180//              final String cui = entry.extIds.iterator().next(); 
    181181//                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    182182//                        .withLabels(labels) 
     
    186186//                 final List<Concept> concepts = conceptService.getConceptsByNotation(cui, SCOPE, 1, umlsBranch); 
    187187//                 if (concepts.isEmpty()) { 
    188 //                      // construct a new concept 
    189 //                       final Concept c = new ConceptImpl.Builder() 
    190 //                               .labels(labels) 
    191 //                               .notations(notations) 
    192 //                               .tags(tags) 
    193 //                               .urls(urls) 
    194 //                               .build(); 
    195 //                       conceptService.createConcept(c, chemspiderBranch); 
    196 //                        
    197 //                       newConcepts++; 
     188//                  // construct a new concept 
     189//                   final Concept c = new ConceptImpl.Builder() 
     190//                           .labels(labels) 
     191//                           .notations(notations) 
     192//                           .tags(tags) 
     193//                           .urls(urls) 
     194//                           .build(); 
     195//                   conceptService.createConcept(c, chemspiderBranch); 
     196//                    
     197//                   newConcepts++; 
    198198//                 } else { 
    199199//                     final Concept existingConcept = concepts.get(0); 
    200200//                     try { 
    201 //                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
    202 //                              logger.info("it goes wrong here"); 
    203 //                      } 
    204 //                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
    205 //                       
    206 //                      updatedConcepts++; 
     201//                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
     202//                          logger.info("it goes wrong here"); 
     203//                      } 
     204//                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
     205//                       
     206//                      updatedConcepts++; 
    207207//                     } catch (IllegalArgumentException e) { 
    208 //                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    209 //                      unadded++; 
     208//                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     209//                      unadded++; 
    210210//                     } 
    211211//                 } 
     
    224224             
    225225            counter++; 
    226                 if (counter >= 5000) { 
    227                         try { 
    228                                 tx.success(); 
    229                                 tx.finish(); 
    230                         } catch (Exception e) { 
    231                                 logger.error("Failed to commit an intermediate transaction", e); 
    232                         } 
    233                         tx = graphTemplate.getGraphDb().beginTx(); 
    234                         logger.info("Another 5k concepts processed"); 
    235                         lastCommitted += counter; 
    236                         counter = 0; 
    237                 } 
     226            if (counter >= 5000) { 
     227                try { 
     228                    tx.success(); 
     229                    tx.finish(); 
     230                } catch (Exception e) { 
     231                    logger.error("Failed to commit an intermediate transaction", e); 
     232                } 
     233                tx = graphTemplate.getGraphDb().beginTx(); 
     234                logger.info("Another 5k concepts processed"); 
     235                lastCommitted += counter; 
     236                counter = 0; 
     237            } 
    238238        } 
    239239         
    240240        try { 
    241                 tx.success(); 
    242                 tx.finish(); 
     241            tx.success(); 
     242            tx.finish(); 
    243243        } catch (Exception e) { 
    244                 logger.error("Failed to commit the final transaction", e); 
     244            logger.error("Failed to commit the final transaction", e); 
    245245        } 
    246246 
     
    299299                break; 
    300300            case TITLE: 
    301                 entry.title = objectValue; 
    302                 break; 
     301                entry.title = objectValue; 
     302                break; 
    303303//            case SMILES: 
    304304//                entry.smiles = objectValue; 
     
    314314                break; 
    315315            case LANG: 
    316                 entry.synonyms.add(lastSynonym + " " +objectValue); 
    317                 break; 
     316                entry.synonyms.add(lastSynonym + " " +objectValue); 
     317                break; 
    318318            default: 
    319319                break; 
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderImport.java

    r593 r627  
    9696         
    9797        for (ChemspiderEntry entry : entries.values()) { 
    98                 if (entry.title == null || entry.title.isEmpty()) { 
    99                         continue; 
    100                 } 
    101                  
     98            if (entry.title == null || entry.title.isEmpty()) { 
     99                continue; 
     100            } 
     101             
    102102            // add all labels from the entry 
    103                 final Set<String> encounteredLanguages = Sets.newHashSet(); 
     103            final Set<String> encounteredLanguages = Sets.newHashSet(); 
    104104            final Set<Label> labels = Sets.newHashSet(); 
    105105             
    106             // skip the label because we assume all chemspider entries have the same preferred labels, even from the different sources 
     106            // skip the label because we assume all chemspider entries have the same  
     107            // preferred labels, even from the different sources 
    107108            //labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    108109            for (String synonym : entry.synonyms) { 
    109                 String text = synonym.substring(0, synonym.length() - 3); 
    110                 String lang = synonym.substring(synonym.length() - 2); 
    111                  
    112                 // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
    113                 // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
    114                 if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
    115                         labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
    116                 } else { 
    117                         // check whether this syn is already a preferred label. if so, do not add it as an alt 
    118                         if (text.equals(entry.title) == false) { 
    119                                 labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
    120                         } 
    121                 } 
     110                String text = synonym.substring(0, synonym.length() - 3); 
     111                String lang = synonym.substring(synonym.length() - 2); 
     112                 
     113                // if this is the first time for this concept that the language is  
     114                // encountered, set it as the preferred concept, 
     115                // otherwise the validation utility will tell you the concept is invalid  
     116                // because it has no pref label in the language. 
     117                if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
     118                    labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
     119                } else { 
     120                    // check whether this syn is already a preferred label.  
     121                    // if so, do not add it as an alt 
     122                    if (text.equals(entry.title) == false) { 
     123                        labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
     124                    } 
     125                } 
    122126            } 
    123127             
     
    128132            final Set<Notation> notations = Sets.newHashSet(); 
    129133            for (String extid : entry.extIds) { 
    130                 if (extid.startsWith("CHEMBL")) { 
    131                         notations.add(new NotationImpl(extid)); 
    132                         urls.add(new UrlImpl(UrlType.ALTERNATIVE, "http://www.drugbank.ca/drugs/" + extid)); 
    133                 } 
     134                if (extid.startsWith("CHEMBL")) { 
     135                    notations.add(new NotationImpl(extid)); 
     136                    urls.add(new UrlImpl(UrlType.ALTERNATIVE, "http://www.drugbank.ca/drugs/" + extid)); 
     137                } 
    134138            } 
    135139             
     
    137141            List<Concept> chemspiderConcepts = conceptService.getConceptsByNotation(String.valueOf(entry.csId), SCOPE.includeLabels(), 1, chemspiderBranch); 
    138142            if (!chemspiderConcepts.isEmpty()) { 
    139                 final Concept chemspiderConcept = chemspiderConcepts.get(0); 
    140                 final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
    141                  
    142                 final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    143                                 .withLabels(uniqueLabels) 
    144                                         .withNotations(notations) 
    145                                         .withTags(tags) 
    146                                         .withUrls(urls)); 
    147                 try { 
    148                         conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
    149                          
    150                         updatedConcepts++; 
    151                 } catch (IllegalArgumentException e) { 
    152                         logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    153                         unadded++; 
    154                 } 
     143                final Concept chemspiderConcept = chemspiderConcepts.get(0); 
     144                final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
     145                 
     146                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
     147                        .withLabels(uniqueLabels) 
     148                        .withNotations(notations) 
     149                        .withTags(tags) 
     150                        .withUrls(urls)); 
     151                try { 
     152                    conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
     153                     
     154                    updatedConcepts++; 
     155                } catch (IllegalArgumentException e) { 
     156                    logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     157                    unadded++; 
     158                } 
    155159            } else { 
    156                 // only add the pref label to a new concept 
    157                 labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    158                  
    159                 // only add the chemspider notations for new concepts to prevent duplicates 
    160                 notations.add(new NotationImpl(Integer.toString(entry.csId))); 
     160                // only add the pref label to a new concept 
     161                labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
     162                 
     163                // only add the chemspider notations for new concepts to prevent duplicates 
     164                notations.add(new NotationImpl(Integer.toString(entry.csId))); 
    161165                notations.add(new NotationImpl(entry.inchiKey)); 
    162166                 
    163                 // only add the chemspider url for new concepts to prevent duplicates 
     167                // only add the chemspider url for new concepts to prevent duplicates 
    164168                urls.add(new UrlImpl(UrlType.PREFERRED, "http://rdf.chemspider.com/" + entry.csId)); 
    165169                 
    166                 // construct a new concept 
    167                         final Concept c = new ConceptImpl.Builder() 
    168                                         .labels(labels) 
    169                                         .notations(notations) 
    170                                         .tags(tags) 
    171                                         .urls(urls) 
    172                                         .build(); 
    173                                 conceptService.createConcept(c, chemspiderBranch); 
     170                // construct a new concept 
     171                final Concept c = new ConceptImpl.Builder() 
     172                        .labels(labels) 
     173                        .notations(notations) 
     174                        .tags(tags) 
     175                        .urls(urls) 
     176                        .build(); 
     177                conceptService.createConcept(c, chemspiderBranch); 
    174178   
    175                                 newConcepts++; 
     179                newConcepts++; 
    176180            } 
    177181             
    178182             
    179183//            if (!entry.extIds.isEmpty()) { 
    180 //              final String cui = entry.extIds.iterator().next(); 
     184//              final String cui = entry.extIds.iterator().next(); 
    181185//                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    182186//                        .withLabels(labels) 
     
    186190//                 final List<Concept> concepts = conceptService.getConceptsByNotation(cui, SCOPE, 1, umlsBranch); 
    187191//                 if (concepts.isEmpty()) { 
    188 //                      // construct a new concept 
    189 //                       final Concept c = new ConceptImpl.Builder() 
    190 //                               .labels(labels) 
    191 //                               .notations(notations) 
    192 //                               .tags(tags) 
    193 //                               .urls(urls) 
    194 //                               .build(); 
    195 //                       conceptService.createConcept(c, chemspiderBranch); 
    196 //                        
    197 //                       newConcepts++; 
     192//                  // construct a new concept 
     193//                   final Concept c = new ConceptImpl.Builder() 
     194//                           .labels(labels) 
     195//                           .notations(notations) 
     196//                           .tags(tags) 
     197//                           .urls(urls) 
     198//                           .build(); 
     199//                   conceptService.createConcept(c, chemspiderBranch); 
     200//                    
     201//                   newConcepts++; 
    198202//                 } else { 
    199203//                     final Concept existingConcept = concepts.get(0); 
    200204//                     try { 
    201 //                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
    202 //                              logger.info("it goes wrong here"); 
    203 //                      } 
    204 //                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
    205 //                       
    206 //                      updatedConcepts++; 
     205//                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
     206//                          logger.info("it goes wrong here"); 
     207//                      } 
     208//                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
     209//                       
     210//                      updatedConcepts++; 
    207211//                     } catch (IllegalArgumentException e) { 
    208 //                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    209 //                      unadded++; 
     212//                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     213//                      unadded++; 
    210214//                     } 
    211215//                 } 
     
    224228             
    225229            counter++; 
    226                 if (counter >= 5000) { 
    227                         try { 
    228                                 tx.success(); 
    229                                 tx.finish(); 
    230                         } catch (Exception e) { 
    231                                 logger.error("Failed to commit an intermediate transaction", e); 
    232                         } 
    233                         tx = graphTemplate.getGraphDb().beginTx(); 
    234                         logger.info("Another 5k concepts processed"); 
    235                         lastCommitted += counter; 
    236                         counter = 0; 
    237                 } 
     230            if (counter >= 5000) { 
     231                try { 
     232                    tx.success(); 
     233                    tx.finish(); 
     234                } catch (Exception e) { 
     235                    logger.error("Failed to commit an intermediate transaction", e); 
     236                } 
     237                tx = graphTemplate.getGraphDb().beginTx(); 
     238                logger.info("Another 5k concepts processed"); 
     239                lastCommitted += counter; 
     240                counter = 0; 
     241            } 
    238242        } 
    239243         
    240244        try { 
    241                 tx.success(); 
    242                 tx.finish(); 
     245            tx.success(); 
     246            tx.finish(); 
    243247        } catch (Exception e) { 
    244                 logger.error("Failed to commit the final transaction", e); 
     248            logger.error("Failed to commit the final transaction", e); 
    245249        } 
    246250 
     
    299303                break; 
    300304            case TITLE: 
    301                 entry.title = objectValue; 
    302                 break; 
     305                entry.title = objectValue; 
     306                break; 
    303307//            case SMILES: 
    304308//                entry.smiles = objectValue; 
     
    314318                break; 
    315319            case LANG: 
    316                 entry.synonyms.add(lastSynonym + " " +objectValue); 
    317                 break; 
     320                entry.synonyms.add(lastSynonym + " " +objectValue); 
     321                break; 
    318322            default: 
    319323                break; 
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderImportMesh_fixingTags.java

    r596 r627  
    105105     
    106106    private void loadMeSHToMultipleCUIsMapping() throws IOException { 
    107          
    108         Set<String> meshCodeMappedByMultipleChemspiderConcepts = Sets.newHashSet(); 
    109          
    110         BufferedReader reader = new BufferedReader(new FileReader(dupCuiFile)); 
     107         
     108        Set<String> meshCodeMappedByMultipleChemspiderConcepts = Sets.newHashSet(); 
     109         
     110        BufferedReader reader = new BufferedReader(new FileReader(dupCuiFile)); 
    111111        String line; 
    112112        while ((line = reader.readLine()) != null) { 
    113                 StringTokenizer tokenizer = new StringTokenizer(line.trim()); 
    114                  
    115                 String meshCode = tokenizer.nextToken(); 
    116                 String cs1 = tokenizer.nextToken(); 
    117                 String cs2 = tokenizer.nextToken(); 
    118                  
    119                 meshCodeMappedByMultipleChemspiderConcepts.add(meshCode); 
     113            StringTokenizer tokenizer = new StringTokenizer(line.trim()); 
     114             
     115            String meshCode = tokenizer.nextToken(); 
     116            String cs1 = tokenizer.nextToken(); 
     117            String cs2 = tokenizer.nextToken(); 
     118             
     119            meshCodeMappedByMultipleChemspiderConcepts.add(meshCode); 
    120120        } 
    121121        reader.close(); 
     
    137137             
    138138            if (!meshCodeMappedByMultipleChemspiderConcepts.contains(dupMeSHCode)) { 
    139                 // this mesh code is unknown by chemspider import. Skip it. 
    140                 continue; 
     139                // this mesh code is unknown by chemspider import. Skip it. 
     140                continue; 
    141141            } 
    142142             
     
    171171             
    172172            if (nrSuperCUIs == 1) { 
    173                 meshCUIsMapping.put(dupMeSHCode, cuis); 
     173                meshCUIsMapping.put(dupMeSHCode, cuis); 
    174174                meshSuperCUIMapping.put(dupMeSHCode, superCUI); 
    175175            } 
    176176//            else if (nrSuperCUIs == 0) { 
    177 //              // do nothing, forget about this MeSH code as there is no super type CUI 
    178 //              logger.error("nrSuperCUIs is {}", nrSuperCUIs); 
     177//              // do nothing, forget about this MeSH code as there is no super type CUI 
     178//              logger.error("nrSuperCUIs is {}", nrSuperCUIs); 
    179179//                logger.error("when {} is mapped to {}", dupMeSHCode, cuis.toString()); 
    180180//                System.exit(1); 
     
    243243                List<Concept> childConcepts = conceptService.getConceptsByTag(cuiConcept.getUuid(), SCOPE.includeTags(), Integer.MAX_VALUE); 
    244244                for (Concept oneChildConcept: childConcepts) { 
    245                          
    246                         Set<Concept> toBeRemovedTags = null; 
    247                          
    248                         for (Concept c:oneChildConcept.getTags()) { 
    249                                 if (c.getUuid().equals(cuiConcept.getUuid())) { 
    250                                         toBeRemovedTags = Sets.newHashSet(c); 
    251                                 } 
    252                         } 
    253                          
     245                     
     246                    Set<Concept> toBeRemovedTags = null; 
     247                     
     248                    for (Concept c:oneChildConcept.getTags()) { 
     249                        if (c.getUuid().equals(cuiConcept.getUuid())) { 
     250                            toBeRemovedTags = Sets.newHashSet(c); 
     251                        } 
     252                    } 
     253                     
    254254                    if (conceptService.getConcept(oneChildConcept.getUuid(), chemspiderBranch).getLabels().size() > 0) { 
    255255                        // this concept was created/updated during chemspider import. Replace the tag with superCUI. 
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderImportMesh.java

    r593 r627  
    8585        String line; 
    8686        while ((line = reader.readLine()) != null) { 
    87                 StringTokenizer tokenizer = new StringTokenizer(line.trim()); 
    88                  
    89                 String cui = tokenizer.nextToken(); 
    90                 String cs1 = tokenizer.nextToken(); 
    91                 String cs2 = tokenizer.nextToken(); 
    92                  
    93                 if (!chemspiderMeshTagMapping.containsKey(cui)) { 
    94                         chemspiderMeshTagMapping.put(cui, new ArrayList<Integer>()); 
    95                 } 
    96                  
    97                 chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs1)); 
    98                 chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs2)); 
     87            StringTokenizer tokenizer = new StringTokenizer(line.trim()); 
     88             
     89            String cui = tokenizer.nextToken(); 
     90            String cs1 = tokenizer.nextToken(); 
     91            String cs2 = tokenizer.nextToken(); 
     92             
     93            if (!chemspiderMeshTagMapping.containsKey(cui)) { 
     94                chemspiderMeshTagMapping.put(cui, new ArrayList<Integer>()); 
     95            } 
     96             
     97            chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs1)); 
     98            chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs2)); 
    9999        } 
    100100        reader.close(); 
     
    110110//        Map<String,Map<Integer,Integer>> dones = Maps.newHashMap(); 
    111111//        for (Integer id : dupIds.keySet()) { 
    112 //              List<String> ids = dupIds.get(id); 
    113 //              for (String cui : ids) { 
    114 //                      for (Integer id2 : dupIds.keySet()) { 
    115 //                              if (id2 != id) { 
    116 //                                      List<String> ids2 = dupIds.get(id2); 
    117 //                                      if (ids2.contains(cui)) { 
    118 //                                              Map<Integer,Integer> tmp = dones.get(cui); 
    119 //                                              if (tmp == null) { 
    120 //                                                      writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
    121 //                                                       
    122 //                                                      dones.put(cui, new HashMap<Integer,Integer>()); 
    123 //                                                      tmp = dones.get(cui); 
    124 //                                                      tmp.put(id, id2); 
    125 //                                              } else { 
    126 //                                                      boolean dup = false; 
    127 //                                                      for (Entry<Integer,Integer> entry : tmp.entrySet()) { 
    128 //                                                              if ((entry.getKey() == id && entry.getValue() == id2) || (entry.getKey() == id2 && entry.getValue() == id)) { 
    129 //                                                                      dup = true; 
    130 //                                                              } 
    131 //                                                      } 
    132 //                                                       
    133 //                                                      if (!dup) { 
    134 //                                                              writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
    135 //                                                              writer.flush(); 
    136 //                                                      tmp.put(id, id2); 
    137 //                                                      } 
    138 //                                              } 
    139 //                                      } 
    140 //                              } 
    141 //                      } 
    142 //              } 
     112//          List<String> ids = dupIds.get(id); 
     113//          for (String cui : ids) { 
     114//              for (Integer id2 : dupIds.keySet()) { 
     115//                  if (id2 != id) { 
     116//                      List<String> ids2 = dupIds.get(id2); 
     117//                      if (ids2.contains(cui)) { 
     118//                          Map<Integer,Integer> tmp = dones.get(cui); 
     119//                          if (tmp == null) { 
     120//                              writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
     121//                               
     122//                              dones.put(cui, new HashMap<Integer,Integer>()); 
     123//                              tmp = dones.get(cui); 
     124//                              tmp.put(id, id2); 
     125//                          } else { 
     126//                              boolean dup = false; 
     127//                              for (Entry<Integer,Integer> entry : tmp.entrySet()) { 
     128//                                  if ((entry.getKey() == id && entry.getValue() == id2) || (entry.getKey() == id2 && entry.getValue() == id)) { 
     129//                                      dup = true; 
     130//                                  } 
     131//                              } 
     132//                               
     133//                              if (!dup) { 
     134//                                  writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
     135//                                  writer.flush(); 
     136//                                  tmp.put(id, id2); 
     137//                              } 
     138//                          } 
     139//                      } 
     140//                  } 
     141//              } 
     142//          } 
    143143//        } 
    144144//        writer.flush(); 
     
    163163         
    164164        for (ChemspiderEntry entry : entries.values()) { 
    165                 if (entry.title == null || entry.title.isEmpty()) { 
    166                         continue; 
    167                 } 
    168                  
     165            if (entry.title == null || entry.title.isEmpty()) { 
     166                continue; 
     167            } 
     168             
    169169            // add all labels from the entry 
    170                 final Set<String> encounteredLanguages = Sets.newHashSet(); 
     170            final Set<String> encounteredLanguages = Sets.newHashSet(); 
    171171            final Set<Label> labels = Sets.newHashSet(); 
    172172            labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    173173            for (String synonym : entry.synonyms) { 
    174                 String text = synonym.substring(0, synonym.length() - 3); 
    175                 String lang = synonym.substring(synonym.length() - 2); 
    176                  
    177                 // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
    178                 // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
    179                 if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
    180                         labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
    181                 } else { 
    182                         // check whether this syn is already a preferred label. if so, do not add it as an alt 
    183                         if (text.equals(entry.title) == false) { 
    184                                 labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
    185                         } 
    186                 } 
     174                String text = synonym.substring(0, synonym.length() - 3); 
     175                String lang = synonym.substring(synonym.length() - 2); 
     176                 
     177                // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
     178                // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
     179                if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
     180                    labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
     181                } else { 
     182                    // check whether this syn is already a preferred label. if so, do not add it as an alt 
     183                    if (text.equals(entry.title) == false) { 
     184                        labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
     185                    } 
     186                } 
    187187            } 
    188188             
     
    200200            // so the mesh cui (the D.... identifiers) should be used.  
    201201            for (String meshTag : entry.extIds) { 
    202                 boolean meshConceptFound = false; 
    203                  
    204                     if (chemspiderMeshTagMapping.containsKey(meshTag) && chemspiderMeshTagMapping.get(meshTag).contains(entry.csId)) { 
    205                             List<Concept> meshConcepts = conceptService.getConceptsByNotation(meshTag, SCOPE, 1, umlsBranch); 
    206                             if (!meshConcepts.isEmpty()) { 
    207                                 final Concept meshConcept = meshConcepts.get(0); 
    208                                 tagService.createTag(meshConcept.getUuid()); 
    209                                 tags.add(meshConcept); 
    210                                  
    211                                 isUsedForTags = true; 
    212                                 meshConceptFound = true; 
    213                             } else { 
    214                                 logger.warn("Could not tag CS concept {} with mesh cui {}", entry.csId, meshTag); 
    215                             } 
    216                     } 
    217                      
    218                     if (meshConceptFound) { 
    219                         break; 
    220                     } 
     202                boolean meshConceptFound = false; 
     203                 
     204                if (chemspiderMeshTagMapping.containsKey(meshTag) && chemspiderMeshTagMapping.get(meshTag).contains(entry.csId)) { 
     205                    List<Concept> meshConcepts = conceptService.getConceptsByNotation(meshTag, SCOPE, 1, umlsBranch); 
     206                    if (!meshConcepts.isEmpty()) { 
     207                        final Concept meshConcept = meshConcepts.get(0); 
     208                        tagService.createTag(meshConcept.getUuid()); 
     209                        tags.add(meshConcept); 
     210                         
     211                        isUsedForTags = true; 
     212                        meshConceptFound = true; 
     213                    } else { 
     214                        logger.warn("Could not tag CS concept {} with mesh cui {}", entry.csId, meshTag); 
     215                    } 
     216                } 
     217                 
     218                if (meshConceptFound) { 
     219                    break; 
     220                } 
    221221            } 
    222222             
     
    229229             
    230230            if (!entry.extIds.isEmpty() && isUsedForTags == false) { 
    231                 final String cui = entry.extIds.iterator().next(); 
     231                final String cui = entry.extIds.iterator().next(); 
    232232                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    233233                        .withLabels(labels) 
     
    237237                 final List<Concept> concepts = conceptService.getConceptsByNotation(cui, SCOPE, 1, umlsBranch); 
    238238                 if (concepts.isEmpty()) { 
    239                         // construct a new concept 
    240                          final Concept c = new ConceptImpl.Builder() 
    241                                  .labels(labels) 
    242                                  .notations(notations) 
    243                                  .tags(tags) 
    244                                  .urls(urls) 
    245                                  .build(); 
    246                          conceptService.createConcept(c, chemspiderBranch); 
    247                           
    248                          newConcepts++; 
     239                    // construct a new concept 
     240                     final Concept c = new ConceptImpl.Builder() 
     241                             .labels(labels) 
     242                             .notations(notations) 
     243                             .tags(tags) 
     244                             .urls(urls) 
     245                             .build(); 
     246                     conceptService.createConcept(c, chemspiderBranch); 
     247                      
     248                     newConcepts++; 
    249249                 } else { 
    250250                     final Concept existingConcept = concepts.get(0); 
    251251                     try { 
    252                         if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
    253                                 logger.info("it goes wrong here"); 
    254                         } 
    255                         conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
    256                          
    257                         updatedConcepts++; 
     252                        if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
     253                            logger.info("it goes wrong here"); 
     254                        } 
     255                        conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
     256                         
     257                        updatedConcepts++; 
    258258                     } catch (IllegalArgumentException e) { 
    259                         logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    260                         unadded++; 
     259                        logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     260                        unadded++; 
    261261                     } 
    262262                 } 
     
    275275             
    276276            counter++; 
    277                 if (counter >= 5000) { 
    278                         tx.success(); 
    279                         tx.finish(); 
    280                         tx = graphTemplate.getGraphDb().beginTx(); 
    281                         logger.info("Another 5k concepts processed"); 
    282                         lastCommitted += counter; 
    283                         counter = 0; 
    284                 } 
     277            if (counter >= 5000) { 
     278                tx.success(); 
     279                tx.finish(); 
     280                tx = graphTemplate.getGraphDb().beginTx(); 
     281                logger.info("Another 5k concepts processed"); 
     282                lastCommitted += counter; 
     283                counter = 0; 
     284            } 
    285285        } 
    286286         
    287287        try { 
    288                 tx.success(); 
    289                 tx.finish(); 
     288            tx.success(); 
     289            tx.finish(); 
    290290        } catch (Exception e) { 
    291                 logger.error("Failed to commit the final transaction", e); 
     291            logger.error("Failed to commit the final transaction", e); 
    292292        } 
    293293 
     
    350350                break; 
    351351            case TITLE: 
    352                 entry.title = objectValue; 
    353                 break; 
     352                entry.title = objectValue; 
     353                break; 
    354354//            case SMILES: 
    355355//                entry.smiles = objectValue; 
     
    360360                // tmp 
    361361                if (!dupIds.containsKey(entry.csId)) { 
    362                         dupIds.put(entry.csId, new ArrayList<String>()); 
     362                    dupIds.put(entry.csId, new ArrayList<String>()); 
    363363                } 
    364364                dupIds.get(entry.csId).add(objectValue); 
     
    373373                break; 
    374374            case LANG: 
    375                 entry.synonyms.add(lastSynonym + " " +objectValue); 
    376                 break; 
     375                entry.synonyms.add(lastSynonym + " " +objectValue); 
     376                break; 
    377377            default: 
    378378                break; 
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderImportPdb.java

    r593 r627  
    9696         
    9797        for (ChemspiderEntry entry : entries.values()) { 
    98                 if (entry.title == null || entry.title.isEmpty()) { 
    99                         continue; 
    100                 } 
    101                  
     98            if (entry.title == null || entry.title.isEmpty()) { 
     99                continue; 
     100            } 
     101             
    102102            // add all labels from the entry 
    103                 final Set<String> encounteredLanguages = Sets.newHashSet(); 
     103            final Set<String> encounteredLanguages = Sets.newHashSet(); 
    104104            final Set<Label> labels = Sets.newHashSet(); 
    105105             
     
    107107            //labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    108108            for (String synonym : entry.synonyms) { 
    109                 String text = synonym.substring(0, synonym.length() - 3); 
    110                 String lang = synonym.substring(synonym.length() - 2); 
    111                  
    112                 // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
    113                 // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
    114                 if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
    115                         labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
    116                 } else { 
    117                         // check whether this syn is already a preferred label. if so, do not add it as an alt 
    118                         if (text.equals(entry.title) == false) { 
    119                                 labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
    120                         } 
    121                 } 
     109                String text = synonym.substring(0, synonym.length() - 3); 
     110                String lang = synonym.substring(synonym.length() - 2); 
     111                 
     112                // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
     113                // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
     114                if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
     115                    labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
     116                } else { 
     117                    // check whether this syn is already a preferred label. if so, do not add it as an alt 
     118                    if (text.equals(entry.title) == false) { 
     119                        labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
     120                    } 
     121                } 
    122122            } 
    123123             
     
    128128            final Set<Url> urls = Sets.newHashSet(); 
    129129            for (String url : entry.extUrls) { 
    130                 if (url.startsWith("http://www.rcsb.org/pdb/ligand")) { 
    131                         urls.add(new UrlImpl(UrlType.ALTERNATIVE, url.replaceFirst("rcsb", "pdb"))); 
    132                 } 
     130                if (url.startsWith("http://www.rcsb.org/pdb/ligand")) { 
     131                    urls.add(new UrlImpl(UrlType.ALTERNATIVE, url.replaceFirst("rcsb", "pdb"))); 
     132                } 
    133133            } 
    134134             
     
    136136            List<Concept> chemspiderConcepts = conceptService.getConceptsByNotation(String.valueOf(entry.csId), SCOPE.includeLabels(), 1, chemspiderBranch); 
    137137            if (!chemspiderConcepts.isEmpty()) { 
    138                 final Concept chemspiderConcept = chemspiderConcepts.get(0); 
    139                 final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
    140                  
    141                 final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    142                                 .withLabels(uniqueLabels) 
    143                                         .withNotations(notations) 
    144                                         .withTags(tags) 
    145                                         .withUrls(urls)); 
    146                 try { 
    147                         conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
    148                          
    149                         updatedConcepts++; 
    150                 } catch (IllegalArgumentException e) { 
    151                         logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    152                         unadded++; 
    153                 } 
     138                final Concept chemspiderConcept = chemspiderConcepts.get(0); 
     139                final Set<Label> uniqueLabels = Sets.difference(labels, chemspiderConcept.getLabels()); 
     140                 
     141                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
     142                        .withLabels(uniqueLabels) 
     143                        .withNotations(notations) 
     144                        .withTags(tags) 
     145                        .withUrls(urls)); 
     146                try { 
     147                    conceptService.updateConcept(chemspiderConcept.getUuid(), changeset, chemspiderBranch); 
     148                     
     149                    updatedConcepts++; 
     150                } catch (IllegalArgumentException e) { 
     151                    logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     152                    unadded++; 
     153                } 
    154154            } else { 
    155                 // only add the pref label to a new concept 
    156                 labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    157                  
    158                 // only add the chemspider notations for new concepts to prevent duplicates 
    159                 notations.add(new NotationImpl(Integer.toString(entry.csId))); 
     155                // only add the pref label to a new concept 
     156                labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
     157                 
     158                // only add the chemspider notations for new concepts to prevent duplicates 
     159                notations.add(new NotationImpl(Integer.toString(entry.csId))); 
    160160                notations.add(new NotationImpl(entry.inchiKey)); 
    161161                 
    162                 // only add the chemspider url for new concepts to prevent duplicates 
     162                // only add the chemspider url for new concepts to prevent duplicates 
    163163                urls.add(new UrlImpl(UrlType.PREFERRED, "http://rdf.chemspider.com/" + entry.csId)); 
    164164                 
    165                 // construct a new concept 
    166                         final Concept c = new ConceptImpl.Builder() 
    167                                         .labels(labels) 
    168                                         .notations(notations) 
    169                                         .tags(tags) 
    170                                         .urls(urls) 
    171                                         .build(); 
    172                                 conceptService.createConcept(c, chemspiderBranch); 
     165                // construct a new concept 
     166                final Concept c = new ConceptImpl.Builder() 
     167                        .labels(labels) 
     168                        .notations(notations) 
     169                        .tags(tags) 
     170                        .urls(urls) 
     171                        .build(); 
     172                conceptService.createConcept(c, chemspiderBranch); 
    173173   
    174                                 newConcepts++; 
     174                newConcepts++; 
    175175            } 
    176176             
    177177             
    178178//            if (!entry.extIds.isEmpty()) { 
    179 //              final String cui = entry.extIds.iterator().next(); 
     179//              final String cui = entry.extIds.iterator().next(); 
    180180//                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    181181//                        .withLabels(labels) 
     
    185185//                 final List<Concept> concepts = conceptService.getConceptsByNotation(cui, SCOPE, 1, umlsBranch); 
    186186//                 if (concepts.isEmpty()) { 
    187 //                      // construct a new concept 
    188 //                       final Concept c = new ConceptImpl.Builder() 
    189 //                               .labels(labels) 
    190 //                               .notations(notations) 
    191 //                               .tags(tags) 
    192 //                               .urls(urls) 
    193 //                               .build(); 
    194 //                       conceptService.createConcept(c, chemspiderBranch); 
    195 //                        
    196 //                       newConcepts++; 
     187//                  // construct a new concept 
     188//                   final Concept c = new ConceptImpl.Builder() 
     189//                           .labels(labels) 
     190//                           .notations(notations) 
     191//                           .tags(tags) 
     192//                           .urls(urls) 
     193//                           .build(); 
     194//                   conceptService.createConcept(c, chemspiderBranch); 
     195//                    
     196//                   newConcepts++; 
    197197//                 } else { 
    198198//                     final Concept existingConcept = concepts.get(0); 
    199199//                     try { 
    200 //                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
    201 //                              logger.info("it goes wrong here"); 
    202 //                      } 
    203 //                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
    204 //                       
    205 //                      updatedConcepts++; 
     200//                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
     201//                          logger.info("it goes wrong here"); 
     202//                      } 
     203//                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
     204//                       
     205//                      updatedConcepts++; 
    206206//                     } catch (IllegalArgumentException e) { 
    207 //                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    208 //                      unadded++; 
     207//                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     208//                      unadded++; 
    209209//                     } 
    210210//                 } 
     
    223223             
    224224            counter++; 
    225                 if (counter >= 5000) { 
    226                         try { 
    227                                 tx.success(); 
    228                                 tx.finish(); 
    229                         } catch (Exception e) { 
    230                                 logger.error("Failed to commit an intermediate transaction", e); 
    231                         } 
    232                         tx = graphTemplate.getGraphDb().beginTx(); 
    233                         logger.info("Another 5k concepts processed"); 
    234                         lastCommitted += counter; 
    235                         counter = 0; 
    236                 } 
     225            if (counter >= 5000) { 
     226                try { 
     227                    tx.success(); 
     228                    tx.finish(); 
     229                } catch (Exception e) { 
     230                    logger.error("Failed to commit an intermediate transaction", e); 
     231                } 
     232                tx = graphTemplate.getGraphDb().beginTx(); 
     233                logger.info("Another 5k concepts processed"); 
     234                lastCommitted += counter; 
     235                counter = 0; 
     236            } 
    237237        } 
    238238         
    239239        try { 
    240                 tx.success(); 
    241                 tx.finish(); 
     240            tx.success(); 
     241            tx.finish(); 
    242242        } catch (Exception e) { 
    243                 logger.error("Failed to commit the final transaction", e); 
     243            logger.error("Failed to commit the final transaction", e); 
    244244        } 
    245245 
     
    298298                break; 
    299299            case TITLE: 
    300                 entry.title = objectValue; 
    301                 break; 
     300                entry.title = objectValue; 
     301                break; 
    302302//            case SMILES: 
    303303//                entry.smiles = objectValue; 
     
    313313                break; 
    314314            case LANG: 
    315                 entry.synonyms.add(lastSynonym + " " +objectValue); 
    316                 break; 
     315                entry.synonyms.add(lastSynonym + " " +objectValue); 
     316                break; 
    317317            default: 
    318318                break; 
  • trunk/code/conceptwiki/imports/imports-chemspider/src/main/java/nl/nbic/conceptwiki/imports/chemspider/ChemSpiderUpdateMeshTags.java

    r593 r627  
    8585//        String line; 
    8686//        while ((line = reader.readLine()) != null) { 
    87 //              StringTokenizer tokenizer = new StringTokenizer(line.trim()); 
    88 //               
    89 //              String cui = tokenizer.nextToken(); 
    90 //              String cs1 = tokenizer.nextToken(); 
    91 //              String cs2 = tokenizer.nextToken(); 
    92 //               
    93 //              if (!chemspiderMeshTagMapping.containsKey(cui)) { 
    94 //                      chemspiderMeshTagMapping.put(cui, new ArrayList<Integer>()); 
    95 //              } 
    96 //               
    97 //              chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs1)); 
    98 //              chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs2)); 
     87//          StringTokenizer tokenizer = new StringTokenizer(line.trim()); 
     88//           
     89//          String cui = tokenizer.nextToken(); 
     90//          String cs1 = tokenizer.nextToken(); 
     91//          String cs2 = tokenizer.nextToken(); 
     92//           
     93//          if (!chemspiderMeshTagMapping.containsKey(cui)) { 
     94//              chemspiderMeshTagMapping.put(cui, new ArrayList<Integer>()); 
     95//          } 
     96//           
     97//          chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs1)); 
     98//          chemspiderMeshTagMapping.get(cui).add(Integer.valueOf(cs2)); 
    9999//        } 
    100100//        reader.close(); 
     
    110110//        Map<String,Map<Integer,Integer>> dones = Maps.newHashMap(); 
    111111//        for (Integer id : dupIds.keySet()) { 
    112 //              List<String> ids = dupIds.get(id); 
    113 //              for (String cui : ids) { 
    114 //                      for (Integer id2 : dupIds.keySet()) { 
    115 //                              if (id2 != id) { 
    116 //                                      List<String> ids2 = dupIds.get(id2); 
    117 //                                      if (ids2.contains(cui)) { 
    118 //                                              Map<Integer,Integer> tmp = dones.get(cui); 
    119 //                                              if (tmp == null) { 
    120 //                                                      writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
    121 //                                                       
    122 //                                                      dones.put(cui, new HashMap<Integer,Integer>()); 
    123 //                                                      tmp = dones.get(cui); 
    124 //                                                      tmp.put(id, id2); 
    125 //                                              } else { 
    126 //                                                      boolean dup = false; 
    127 //                                                      for (Entry<Integer,Integer> entry : tmp.entrySet()) { 
    128 //                                                              if ((entry.getKey() == id && entry.getValue() == id2) || (entry.getKey() == id2 && entry.getValue() == id)) { 
    129 //                                                                      dup = true; 
    130 //                                                              } 
    131 //                                                      } 
    132 //                                                       
    133 //                                                      if (!dup) { 
    134 //                                                              writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
    135 //                                                              writer.flush(); 
    136 //                                                      tmp.put(id, id2); 
    137 //                                                      } 
    138 //                                              } 
    139 //                                      } 
    140 //                              } 
    141 //                      } 
    142 //              } 
     112//          List<String> ids = dupIds.get(id); 
     113//          for (String cui : ids) { 
     114//              for (Integer id2 : dupIds.keySet()) { 
     115//                  if (id2 != id) { 
     116//                      List<String> ids2 = dupIds.get(id2); 
     117//                      if (ids2.contains(cui)) { 
     118//                          Map<Integer,Integer> tmp = dones.get(cui); 
     119//                          if (tmp == null) { 
     120//                              writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
     121//                               
     122//                              dones.put(cui, new HashMap<Integer,Integer>()); 
     123//                              tmp = dones.get(cui); 
     124//                              tmp.put(id, id2); 
     125//                          } else { 
     126//                              boolean dup = false; 
     127//                              for (Entry<Integer,Integer> entry : tmp.entrySet()) { 
     128//                                  if ((entry.getKey() == id && entry.getValue() == id2) || (entry.getKey() == id2 && entry.getValue() == id)) { 
     129//                                      dup = true; 
     130//                                  } 
     131//                              } 
     132//                               
     133//                              if (!dup) { 
     134//                                  writer.write(cui + "\t" + id + "\t" + id2 + "\n"); 
     135//                                  writer.flush(); 
     136//                                  tmp.put(id, id2); 
     137//                              } 
     138//                          } 
     139//                      } 
     140//                  } 
     141//              } 
     142//          } 
    143143//        } 
    144144//        writer.flush(); 
     
    159159        int lastCommitted = 0; 
    160160 
    161         int notProperlyTagged = 0; 
     161        int notProperlyTagged = 0; 
    162162         
    163163        Transaction tx = graphTemplate.getGraphDb().beginTx(); 
     
    165165         
    166166        for (ChemspiderEntry entry : entries.values()) { 
    167                 if (entry.title == null || entry.title.isEmpty()) { 
    168                         continue; 
    169                 } 
    170 //               
     167            if (entry.title == null || entry.title.isEmpty()) { 
     168                continue; 
     169            } 
     170//           
    171171//            // add all labels from the entry 
    172 //              final Set<String> encounteredLanguages = Sets.newHashSet(); 
     172//          final Set<String> encounteredLanguages = Sets.newHashSet(); 
    173173//            final Set<Label> labels = Sets.newHashSet(); 
    174174//            labels.add(new LabelImpl(LabelType.PREFERRED, entry.title, LANG_EN)); 
    175175//            for (String synonym : entry.synonyms) { 
    176 //              String text = synonym.substring(0, synonym.length() - 3); 
    177 //              String lang = synonym.substring(synonym.length() - 2); 
    178 //               
    179 //              // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
    180 //              // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
    181 //              if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
    182 //                      labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
    183 //              } else { 
    184 //                      // check whether this syn is already a preferred label. if so, do not add it as an alt 
    185 //                      if (text.equals(entry.title) == false) { 
    186 //                              labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
    187 //                      } 
    188 //              } 
     176//              String text = synonym.substring(0, synonym.length() - 3); 
     177//              String lang = synonym.substring(synonym.length() - 2); 
     178//               
     179//              // if this is the first time for this concept that the language is encountered, set it as the preferred concept, 
     180//              // otherwise the validation utility will tell you the concept is invalid because it has no pref label in the language. 
     181//              if (lang.equals("en") == false && encounteredLanguages.add(lang)) { 
     182//                  labels.add(new LabelImpl(LabelType.PREFERRED, text, new LanguageImpl(lang))); 
     183//              } else { 
     184//                  // check whether this syn is already a preferred label. if so, do not add it as an alt 
     185//                  if (text.equals(entry.title) == false) { 
     186//                      labels.add(new LabelImpl(LabelType.ALTERNATIVE, text, new LanguageImpl(lang))); 
     187//                  } 
     188//              } 
    189189//            } 
    190190//             
     
    199199//            //String meshTag = entry.extIds.iterator().next(); 
    200200//             
    201                  
    202                 for (String meshCui : entry.extIds) { 
    203                         List<Concept> concepts = conceptService.getConceptsByNotation(meshCui, SCOPE, 1, umlsBranch); 
    204                         if (concepts.isEmpty()) { 
    205                                 continue; 
    206                         } else { 
    207                                 final Concept concept = concepts.get(0); 
    208                                  
    209                                 // check whether it has the tag we need 
    210                                 boolean hasRequiredTag = false; 
    211                                 for (Concept tag : concept.getTags()) { 
    212                                         if (tag.getUuid().equals(chemicalViewedStructurallyUuid)) { 
    213                                                 hasRequiredTag = true; 
    214                                         } 
    215                                 } 
    216                                 // if it doesnt have the required tag, update the concept 
    217                                 if (!hasRequiredTag) { 
    218                                         final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl().withTags(tags)); 
    219                                         conceptService.updateConcept(concept.getUuid(), changeset, chemspiderBranch); 
    220                                          
    221                                         notProperlyTagged++; 
    222                                 } 
    223                         } 
    224                 } 
    225                  
     201             
     202            for (String meshCui : entry.extIds) { 
     203                List<Concept> concepts = conceptService.getConceptsByNotation(meshCui, SCOPE, 1, umlsBranch); 
     204                if (concepts.isEmpty()) { 
     205                    continue; 
     206                } else { 
     207                    final Concept concept = concepts.get(0); 
     208                     
     209                    // check whether it has the tag we need 
     210                    boolean hasRequiredTag = false; 
     211                    for (Concept tag : concept.getTags()) { 
     212                        if (tag.getUuid().equals(chemicalViewedStructurallyUuid)) { 
     213                            hasRequiredTag = true; 
     214                        } 
     215                    } 
     216                    // if it doesnt have the required tag, update the concept 
     217                    if (!hasRequiredTag) { 
     218                        final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl().withTags(tags)); 
     219                        conceptService.updateConcept(concept.getUuid(), changeset, chemspiderBranch); 
     220                         
     221                        notProperlyTagged++; 
     222                    } 
     223                } 
     224            } 
     225             
    226226//            // Loop over all extId values to dodge the situation where the (supplemental?) cui is used and cannot find the concept for it, 
    227227//            // so the mesh cui (the D.... identifiers) should be used.  
    228228//            for (String meshTag : entry.extIds) { 
    229 //              boolean meshConceptFound = false; 
    230 //               
    231 //                  if (chemspiderMeshTagMapping.containsKey(meshTag) && chemspiderMeshTagMapping.get(meshTag).contains(entry.csId)) { 
    232 //                          List<Concept> meshConcepts = conceptService.getConceptsByNotation(meshTag, SCOPE, 1, umlsBranch); 
    233 //                          if (!meshConcepts.isEmpty()) { 
    234 //                              final Concept meshConcept = meshConcepts.get(0); 
    235 //                              tagService.createTag(meshConcept.getUuid()); 
    236 //                              tags.add(meshConcept); 
    237 //                               
    238 //                              isUsedForTags = true; 
    239 //                              meshConceptFound = true; 
    240 //                          } else { 
    241 //                              logger.warn("Could not tag CS concept {} with mesh cui {}", entry.csId, meshTag); 
    242 //                          } 
    243 //                  } 
    244 //                   
    245 //                  if (meshConceptFound) { 
    246 //                      break; 
    247 //                  } 
     229//              boolean meshConceptFound = false; 
     230//               
     231//              if (chemspiderMeshTagMapping.containsKey(meshTag) && chemspiderMeshTagMapping.get(meshTag).contains(entry.csId)) { 
     232//                  List<Concept> meshConcepts = conceptService.getConceptsByNotation(meshTag, SCOPE, 1, umlsBranch); 
     233//                  if (!meshConcepts.isEmpty()) { 
     234//                      final Concept meshConcept = meshConcepts.get(0); 
     235//                      tagService.createTag(meshConcept.getUuid()); 
     236//                      tags.add(meshConcept); 
     237//                       
     238//                      isUsedForTags = true; 
     239//                      meshConceptFound = true; 
     240//                  } else { 
     241//                      logger.warn("Could not tag CS concept {} with mesh cui {}", entry.csId, meshTag); 
     242//                  } 
     243//              } 
     244//               
     245//              if (meshConceptFound) { 
     246//                  break; 
     247//              } 
    248248//            } 
    249249//             
     
    256256//             
    257257//            if (!entry.extIds.isEmpty() && isUsedForTags == false) { 
    258 //              final String cui = entry.extIds.iterator().next(); 
     258//              final String cui = entry.extIds.iterator().next(); 
    259259//                final Changeset changeset = new ChangesetImpl().withAdd(new ActionImpl() 
    260260//                        .withLabels(labels) 
     
    264264//                 final List<Concept> concepts = conceptService.getConceptsByNotation(cui, SCOPE, 1, umlsBranch); 
    265265//                 if (concepts.isEmpty()) { 
    266 //                      // construct a new concept 
    267 //                       final Concept c = new ConceptImpl.Builder() 
    268 //                               .labels(labels) 
    269 //                               .notations(notations) 
    270 //                               .tags(tags) 
    271 //                               .urls(urls) 
    272 //                               .build(); 
    273 //                       conceptService.createConcept(c, chemspiderBranch); 
    274 //                        
    275 //                       newConcepts++; 
     266//                  // construct a new concept 
     267//                   final Concept c = new ConceptImpl.Builder() 
     268//                           .labels(labels) 
     269//                           .notations(notations) 
     270//                           .tags(tags) 
     271//                           .urls(urls) 
     272//                           .build(); 
     273//                   conceptService.createConcept(c, chemspiderBranch); 
     274//                    
     275//                   newConcepts++; 
    276276//                 } else { 
    277277//                     final Concept existingConcept = concepts.get(0); 
    278278//                     try { 
    279 //                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
    280 //                              logger.info("it goes wrong here"); 
    281 //                      } 
    282 //                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
    283 //                       
    284 //                      updatedConcepts++; 
     279//                      if (existingConcept.getUuid().equals("e0bda807-cdfa-4f0d-b63b-88443d471b4f")) { 
     280//                          logger.info("it goes wrong here"); 
     281//                      } 
     282//                      conceptService.updateConcept(existingConcept.getUuid(), changeset, chemspiderBranch); 
     283//                       
     284//                      updatedConcepts++; 
    285285//                     } catch (IllegalArgumentException e) { 
    286 //                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
    287 //                      unadded++; 
     286//                      logger.warn("Wrong setup passed (CS id "+entry.csId+")", e); 
     287//                      unadded++; 
    288288//                     } 
    289289//                 } 
     
    302302             
    303303            counter++; 
    304                 if (counter >= 5000) { 
    305                         tx.success(); 
    306                         tx.finish(); 
    307                         tx = graphTemplate.getGraphDb().beginTx(); 
    308                         logger.info("Another 5k concepts processed"); 
    309                         lastCommitted += counter; 
    310                         counter = 0; 
    311                 } 
     304            if (counter >= 5000) { 
     305                tx.success(); 
     306                tx.finish(); 
     307                tx = graphTemplate.getGraphDb().beginTx(); 
     308                logger.info("Another 5k concepts processed"); 
     309                lastCommitted += counter; 
     310                counter = 0; 
     311            } 
    312312        } 
    313313         
    314314        try { 
    315                 tx.success(); 
    316                 tx.finish(); 
     315            tx.success(); 
     316            tx.finish(); 
    317317        } catch (Exception e) { 
    318                 logger.error("Failed to commit the final transaction", e); 
     318            logger.error("Failed to commit the final transaction", e); 
    319319        } 
    320320 
     
    379379                break; 
    380380            case TITLE: 
    381                 entry.title = objectValue; 
    382                 break; 
     381                entry.title = objectValue; 
     382                break; 
    383383//            case SMILES: 
    384384//                entry.smiles = objectValue; 
     
    389389                // tmp 
    390390                if (!dupIds.containsKey(entry.csId)) { 
    391                         dupIds.put(entry.csId, new ArrayList<String>()); 
     391                    dupIds.put(entry.csId, new ArrayList<String>()); 
    392392                } 
    393393                dupIds.get(entry.csId).add(objectValue); 
     
    402402                break; 
    403403            case LANG: 
    404                 entry.synonyms.add(lastSynonym + " " +objectValue); 
    405                 break; 
     404                entry.synonyms.add(lastSynonym + " " +objectValue); 
     405                break; 
    406406            default: 
    407407                break;