def getGene(gid): try: gene = Gene.objects.filter(gene_id=gid).first() if not gene: baseUrl = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&rettype=fasta&id=' req = urllib2.Request(baseUrl + gid) response = urllib2.urlopen(req) resStr = response.read() gene_dict = parse_fasta_str(resStr) for gn in gene_dict.keys(): gid = gn.split('|')[1] #get detail information new_gene_obj = Gene(gene_id=gid) detail_info = retrive_gene_detain(gid) if detail_info == None: continue new_gene_obj.name = detail_info['name'] new_gene_obj.definition = detail_info['definition'] new_gene_obj.organism = detail_info['organism'] new_gene_obj.ntseq = gene_dict[gn] new_gene_obj.ntseq_length = len(gene_dict[gn]) new_gene_obj.save() return new_gene_obj except: traceback.print_exc()
def test_normal(self): parse_fasta_str(self.fasta_filename)
def test_normal(self): parse_fasta_str(self.fasta_str)