Changeset 1436:2e77cbf3ea1e in orange-bioinformatics


Ignore:
Timestamp:
06/24/11 13:02:29 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
23e6436800e754f9efe5b9ab218381dc194c241c
Message:

Get organism and genes in columns hint from orngDataCacing.data_hints.
Show 'Querying Gene Atlas ...' in the Info box.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/prototypes/OWGeneAtlasTissueExpression.py

    r1434 r1436  
    1111from collections import defaultdict 
    1212from Orange.misc import lru_cache 
     13 
     14import orngDataCaching 
     15 
     16# Mapping for common taxids from obiTaxonomy 
     17TAXID_TO_ORG = {"": "Anopheles gambiae", 
     18                "3702": "Arabidopsis thaliana", 
     19                "9913": "Bos taurus", 
     20                "6239": "Caenorhabditis elegans", 
     21                "7955": "Danio rerio", 
     22                "7227": "Drosophila melanogaster", 
     23                "": "Epstein barr virus", 
     24                "": "Gallus gallus", 
     25                "9606": "Homo sapiens", 
     26                "": "Human cytomegalovirus", 
     27                "": "Kaposi sarcoma-associated herpesvirus", 
     28                "10090": "Mus musculus", 
     29                "10116": "Rattus norvegicus", 
     30                "4932": "Saccharomyces cerevisiae", 
     31                "4896": "Schizosaccharomyces pombe", 
     32                "8355": "Xenopus laevis" 
     33     } 
    1334 
    1435class OWGeneAtlasTissueExpression(OWWidget): 
     
    2344    FACTORS = ["Organism part", "Disease state", "Cell type"] 
    2445     
    25     def __init__(self, parent=None, signalManager=None, title="Gene Atlas"): 
     46    def __init__(self, parent=None, signalManager=None, title="Gene Atlas Tissue Expression"): 
    2647        OWWidget.__init__(self, parent, signalManager, title) 
    2748         
     
    4162        ##### 
    4263        box = OWGUI.widgetBox(self.controlArea, "Info", addSpace=True) 
    43         self.info_label = OWGUI.widgetLabel(box, "No data on input.") 
     64        self.info_label = OWGUI.widgetLabel(box, "No data on input.\n") 
    4465         
    4566        box = OWGUI.widgetBox(self.controlArea, "Organism", addSpace=True) 
     
    123144        if data is not None: 
    124145            self.init_gene_box(data) 
     146            taxid = orngDataCaching.data_hints.get_hint(data, key="taxid", default=None) 
     147            if taxid is not None: 
     148                if taxid in TAXID_TO_ORG: 
     149                    self.selected_organism = TAXID_TO_ORG[taxid] 
     150                     
     151            genesinrows = orngDataCaching.data_hints.get_hint(data, key="genesinrows", default=None) 
     152            if genesinrows is not None: 
     153                self.genes_in_columns = genesinrows 
     154                 
    125155            self.openContext("", data) 
    126156            self.update_info_box() 
     
    220250            # Threaded 
    221251            self.error(0) 
     252            self.update_info_box(query_running=True) 
    222253            self.controlArea.setEnabled(False) 
    223254            try: 
    224                 call = self.asyncCall(self.get_atlas_summary, (tuple(genes), self.selected_organism), 
     255                call = self.asyncCall(self.get_atlas_summary, (tuple(genes), 
     256                                                               self.selected_organism), 
    225257                                      name="Query Gene Expression Atlas", 
    226258                                      onError=self.handle_assync_error) 
     
    233265            finally: 
    234266                self.controlArea.setEnabled(True) 
     267                self.update_info_box(query_running=False) 
    235268         
    236269    def update_ef_values_box(self): 
     
    280313        self.report_view.resizeColumnToContents(2) 
    281314         
    282     def update_info_box(self): 
     315    def update_info_box(self, query_running=False): 
     316        text = "" 
    283317        if self.data is not None: 
    284318            genes = self.input_genes() 
    285             self.info_label.setText("{0} gene names on input.".format(len(genes))) 
     319            text = "{0} gene names on input.\n".format(len(genes)) 
    286320        else: 
    287             self.info_label.setText("No data on input.") 
     321            text = "No data on input.\n" 
     322        if query_running: 
     323            text += "Querying Gene Atlas. Please wait." 
     324        self.info_label.setText(text) 
    288325             
    289326    def selected_report_genes(self): 
Note: See TracChangeset for help on using the changeset viewer.