Beispiel #1
0
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'])