Changeset 8915:32ae62f3d053 in orange


Ignore:
Timestamp:
09/07/11 09:53:15 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
d465cf2e5dc20396b66b7a5675673b1e4d46a679
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Visualize Qt/OWNxExplorerQt.py

    r8886 r8915  
    599599        self.setItems(Orange.data.Table([self.graph_base.items(), keyword_table])) 
    600600        self.progressBarFinished()    
    601          
    602     def nameComponents_old(self): 
    603         if self.graph is None or self.graph_base.items() is None: 
    604             return 
    605          
    606         vars = [x.name for x in self.graph_base.items_vars()] 
    607          
    608         if not self.nameComponentCombo.currentText() in vars: 
    609             return 
    610          
    611         components = Orange.network.nx.algorithms.components.connected_components(self.graph) 
    612         keyword_table = Orange.data.Table(Orange.data.Domain(Orange.data.variables.String('component name')), [[''] for i in range(len(self.graph_base.items()))])  
    613          
    614         excludeWord = ["AND", "OF", "KEGG", "ST", "IN", "SIG"] 
    615         excludePart = ["HSA"] 
    616         keywords = set() 
    617         sameKeywords = set() 
    618          
    619         for component in components: 
    620             words = [] 
    621             all_values = [] 
    622             for vertex in component: 
    623                 values = [] 
    624                 value =  str(self.graph_base.items()[vertex][str(self.nameComponentCombo.currentText())]) 
    625                  
    626                 value = value.replace(" ", ",") 
    627                 value_top = value.split(",") 
    628                  
    629                 for value in value_top: 
    630                     if len(value) > 0: 
    631                         tmp = value.split("_") 
    632                         tmp = [value.strip() for value in tmp if len(value) > 0] 
    633                         all_values.append(tmp) 
    634                         values.extend(tmp) 
    635                                  
    636                 values = [value.strip() for value in values if len(value) > 0] 
    637                 words.extend(values) 
    638                  
    639                  
    640                 #value =  str(self.graph.items()[vertex][str(self.nameComponentCombo.currentText())]) 
    641                 #value = value.replace(" ", "_") 
    642                 #value = value.replace(",", "_") 
    643                 #values = value.split("_") 
    644                 #values = [value.strip() for value in values if len(value) > 0] 
    645                 #print "values:", values 
    646                 #all_values.append(values) 
    647                  
    648                 #words.extend(values) 
    649             #print "all_values:", all_values 
    650             toExclude = [] 
    651              
    652             words = [word for word in words if not word.upper() in excludeWord] 
    653             toExclude = [word for word in words for part in excludePart if word.find(part) != -1] 
    654              
    655             for word in toExclude: 
    656                 try: 
    657                     while True: 
    658                         words.remove(word) 
    659                 except: 
    660                     pass 
    661              
    662             counted_words = {} 
    663             for word in words: 
    664                 if word in counted_words: 
    665                     count = counted_words[word] 
    666                     counted_words[word] = count + 1 
    667                 else: 
    668                     counted_words[word] = 1 
    669              
    670             words = sorted(counted_words.items(), key=itemgetter(1), reverse=True) 
    671             keyword = "" 
    672             keyword_words = [] 
    673             max_count = 0 
    674             i = 0 
    675              
    676             while i < len(words) and words[i][1] >= max_count: 
    677                 max_count = words[i][1] 
    678                 keyword += words[i][0] + " " 
    679                 keyword_words.append(words[i][0]) 
    680                 i += 1 
    681              
    682             if len(keyword_words) > 1: 
    683                 new_all_values = [] 
    684                 for values in all_values: 
    685                     new_values = [value for value in values if value in keyword_words] 
    686                     new_all_values.append(new_values)  
    687                       
    688                 #print new_all_values 
    689                 word_position = [] 
    690                  
    691                 for word in keyword_words: 
    692                     sum = 0 
    693                     for v in new_all_values: 
    694                         if word in v: 
    695                             sum += v.index(word) 
    696                              
    697                     word_position.append((word, sum)) 
    698                   
    699                 words = sorted(word_position, key=itemgetter(1)) 
    700                 #print "words:", words 
    701                 #print all_values 
    702                 #print new_all_values 
    703                  
    704                 keyword = "" 
    705                 for word in words: 
    706                     keyword += word[0] + " " 
    707                      
    708             keyword = keyword.strip() 
    709              
    710             for vertex in component: 
    711                 keyword_table[vertex]['component name'] = keyword 
    712                  
    713             if keyword in keywords: 
    714                 sameKeywords.add(keyword) 
    715             else: 
    716                 keywords.add(keyword) 
    717         #print "sameKeywords:", sameKeywords        
    718         sameComponents = [component for component in components if str(keyword_table[component[0]]['component name']) in sameKeywords] 
    719         #print "same components:", sameComponents 
    720          
    721         for component in sameComponents: 
    722             words = [] 
    723             all_values = [] 
    724             for vertex in component: 
    725                 values = [] 
    726                 value =  str(self.graph_base.items()[vertex][str(self.nameComponentCombo.currentText())]) 
    727                  
    728                 value = value.replace(" ", ",") 
    729                 value_top = value.split(",") 
    730                  
    731                 for value in value_top: 
    732                     if len(value) > 0: 
    733                         tmp = value.split("_") 
    734                         tmp = [value.strip() for value in tmp if len(value) > 0] 
    735                         all_values.append(tmp) 
    736                         values.extend(tmp) 
    737                                  
    738                 values = [value.strip() for value in values if len(value) > 0] 
    739                 words.extend(values) 
    740              
    741             toExclude = [] 
    742              
    743             words = [word for word in words if not word.upper() in excludeWord] 
    744             toExclude = [word for word in words for part in excludePart if word.find(part) != -1] 
    745              
    746             for word in toExclude: 
    747                 try: 
    748                     while True: 
    749                         words.remove(word) 
    750                 except: 
    751                     pass 
    752              
    753             counted_words = {} 
    754             for word in words: 
    755                 if word in counted_words: 
    756                     count = counted_words[word] 
    757                     counted_words[word] = count + 1 
    758                 else: 
    759                     counted_words[word] = 1 
    760              
    761             words = sorted(counted_words.items(), key=itemgetter(1), reverse=True) 
    762             keyword = "" 
    763             counts = [int(word[1]) for word in words]  
    764             max_count = max(counts) 
    765              
    766             try: 
    767                 while True and len(counts) > 1: 
    768                     counts.remove(max_count) 
    769             except: 
    770                 pass 
    771             max_count = max(counts) 
    772             i = 0 
    773             keyword_words = [] 
    774             while i < len(words) and words[i][1] >= max_count: 
    775                 keyword += words[i][0] + " " 
    776                 keyword_words.append(words[i][0]) 
    777                 i += 1 
    778                  
    779             if len(keyword_words) > 1: 
    780                 new_all_values = [] 
    781                 for values in all_values: 
    782                     new_values = [value for value in values if value in keyword_words] 
    783                     new_all_values.append(new_values)  
    784                       
    785                 #print new_all_values 
    786                 word_position = [] 
    787                  
    788                 for word in keyword_words: 
    789                     sum = 0 
    790                     for v in new_all_values: 
    791                         if word in v: 
    792                             sum += v.index(word) 
    793                              
    794                     word_position.append((word, sum)) 
    795                   
    796                 words = sorted(word_position, key=itemgetter(1)) 
    797                 #print "words:", words 
    798                 #print all_values 
    799                 #print new_all_values 
    800                  
    801                 keyword = "" 
    802                 for word in words: 
    803                     keyword += word[0] + " " 
    804                   
    805             keyword = keyword.strip() 
    806             for vertex in component: 
    807                 keyword_table[vertex]['component name'] = keyword 
    808          
    809         self.lastNameComponentAttribute = self.nameComponentCombo.currentText() 
    810         #print "self.lastNameComponentAttribute:", self.lastNameComponentAttribute 
    811         items = Orange.data.Table([self.graph_base.items(), keyword_table]) 
    812         self.setItems(items) 
    813          
    814         #for item in items: 
    815         #    print item 
    816                          
     601            
    817602    def _set_canvas_attr(self, attr, value): 
    818603        setattr(self.networkCanvas, attr, value) 
Note: See TracChangeset for help on using the changeset viewer.