def main(args): print args # clear dbs: if False: dao_og=dao_django(cls=OncotatorGene) dao_og.remove({}) dao_op=dao_django(cls=UniprotProtein) dao_op.remove({}) genes=readgenes(args.in_fn) base_url=args.base_url stats={'n_genes':0, 'n_prots':0} for gn in genes: try: gene=OncotatorGene.objects.get(name=gn) print '%s: already loaded' % gn continue except OncotatorGene.DoesNotExist: pass url=base_url+gn res=requests.get(url) if res.status_code != 200: print '%s: error/nothing found' % gn continue print gn dct=json.loads(res.content) # for k,v in dct.items(): # print '%s: %s' % (k,v) gene=OncotatorGene(name=gn, full_name=dct['full_name'], chr=dct['chr'], location=dct['location'], start=dct['start'], end=dct['end'], strand=dct['strand']) gene.save() stats['n_genes']+=1 prot_accs=[dct['uniprot_accession']] try: prot_accs.extend(dct['alt_uniprot_accessions']) except KeyError: pass for acc in prot_accs: prot=UniprotProtein(id=acc, gene=gene) prot.save() stats['n_prots']+=1 print dump(stats)
def __init__(self, **kwargs): self.cur_obj=None self.cur_drug=None self.cur_target=None self.attr_name=None # clear tables if called for: if 'clear_table' in kwargs and kwargs['clear_table']: print 'clearing tables...' for cls in [ Drug, DrugSynonym, DrugPathway, Target, TargetSynonym, TargetPathway]: dao=dao_django(cls=cls) query = {'src':'db'} if cls==Drug or cls==Target else {} dao.remove(query) self.stats={'n_drugs':0, 'n_targets':0, 'n_drug_syns':0, 'n_target_syns':0, 'n_drug_pathways':0, 'n_target_pathways':0, } self.ug=uniprot2gene(kwargs['uniprot_gene_fn'])