добавление ключа: значение из словаря в sqlite3 db и получение их обратно - PullRequest
0 голосов
/ 25 января 2019

Я сохраняю последовательности с разными идентификаторами, связанными с ними, в виде двух столбцов в базе данных sqlite3, где sequence - это столбец, а ids_string - другой столбец. У меня проблема с получением из базы данных

Словарь создается как uniqe_sequence = [список идентификаторов] последовательность представляет собой строку длиной примерно 7000 символов или менее, а список идентификаторов может содержать до 1 миллиона символов

import sys
from Bio import SeqIO
from Bio.Seq import Seq
import time
import sqlite3
conn = sqlite3.connect('Sausql_012419.db')
c = conn.cursor()
c.execute("create table Sau (sequence text, list_of_ids text)")
for record in sequences_dict_d:
    c.execute("insert into Sau values (?,?)", (record,'._/'.join(sequences_dict_d[record])))
conn.commit()
c.execute("SELECT COUNT(*) FROM Saureus_panproteome")
sql_count = c.fetchall()
print("saved sql database of {} proteins in --- {:.3f} seconds ---".format(sql_count[0][0],time.time() - start_time))
c.close()
conn.close()
#retrieval exact sequence match
for record in SeqIO.parse(queryfile, _format):
   conn = sqlite3.connect('Sausql_012419.db')
   c = conn.cursor()
   c.execute('select list_of_ids from Sau where sequence = str(record.seq)')
   print(c.fetchall()) # or do something with the list_of_ids
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...