Skip to content
Snippets Groups Projects
Select Git revision
  • 1a36a4650ded57c730d5ebd0d44c01788d8c8d29
  • master default protected
  • csv_export
  • ndex
  • v1.1.18-rc2
  • v1.1.17
  • v1.1.16
  • v1.1.16-rc12
  • v1.1.16-rc11
  • v1.1.16-rc10
  • v1.1.16-rc9
  • v1.1.16-rc8
  • v1.1.16-rc7
  • v1.1.16-rc4
  • v1.1.16-rc3
  • v1.1.16-rc1
  • v1.1.6-rc1
  • v1.1.15
  • v1.1.15-rc7
  • v1.1.15-rc6
  • v1.1.15-rc3
  • v1.1.15-rc1
  • v1.1.14
  • v1.1.13
24 results

network-TUMHCoV.json

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    NodeCache.py 1.95 KiB
    from collections import defaultdict
    import drugstone.models as models
    
    
    class NodeCache:
    
        proteins = dict()
        entrez_to_uniprot = defaultdict(lambda: set())
        gene_name_to_uniprot = defaultdict(lambda: set())
        disorders = dict()
        drugs = dict()
    
        def init_protein_maps(self):
            print("Generating protein id maps...")
            for protein in self.proteins.values():
                self.entrez_to_uniprot[protein.entrez].add(protein.uniprot_code)
                self.gene_name_to_uniprot[protein.gene].add(protein.uniprot_code)
    
        def init_proteins(self):
            if len(self.proteins) == 0:
                print("Generating protein maps...")
                for protein in models.Protein.objects.all():
                    self.proteins[protein.uniprot_code] = protein
            if len(self.proteins) > 0 and (len(self.entrez_to_uniprot) == 0 or len(self.gene_name_to_uniprot) == 0):
                self.init_protein_maps()
    
    
        def init_drugs(self):
            if len(self.drugs) == 0:
                print("Generating drug map...")
                for drug in models.Drug.objects.all():
                    self.drugs[drug.drug_id] = drug
    
        def init_disorders(self):
            if len(self.disorders) == 0:
                print("Generating disorder map...")
                for disorder in models.Disorder.objects.all():
                    self.disorders[disorder.mondo_id] = disorder
    
    
        def get_protein_by_uniprot(self,uniprot_id):
            return self.proteins[uniprot_id]
    
        def get_proteins_by_entrez(self,entrez_id):
            out = list()
            for g in self.entrez_to_uniprot[entrez_id]:
                out.append(self.proteins[g])
            return out
    
        def get_proteins_by_gene(self, gene_name):
            out = list()
            for g in self.gene_name_to_uniprot[gene_name]:
                out.append(self.proteins[g])
            return out
    
        def get_drug_by_drugbank(self, drugbank_id):
            return self.drugs[drugbank_id]
    
        def get_disorder_by_mondo(self, mondo_id):
            return self.disorders[mondo_id]