嘿伙计们这是我的第一个问题。我正在尝试在SQL中创建UniprotKB的本地副本。
UniprotKB为2.1GB,它采用XML和SwissProt使用的一种特殊文本格式
以下是我的选择:
1)使用SAX解析器(XML) --我选择了Ruby和Nokogiri。我开始编写解析器,但最初的反应是:如何将XML模式映射到SAX解析器?
2) BioPython -我已经安装了BioSQL/Biopython,它确实为我创建了我的SQL模式,并且我能够成功地将一个SwissProt/Uniprot文件插入到数据库中。
我现在正在运行它(交叉手指)的整个2.1 it。下面是我正在运行的代码:
from Bio import SeqIO
from BioSQL import BioSeqDatabase
from Bio import SwissProt
server = BioSeqDatabase.open_database(driver = "MySQLdb", user = "root", passwd = "", host="localhost", db = "bioseqdb")
db = server["uniprot"]
iterator = SeqIO.parse(open("/path/to/uniprot_sprot.dat", "r"), "swiss")
db.load(iterator)
server.commit()编辑:--它现在崩溃了,因为事务正在被锁定(因为表是Innodb),错误号: 1205锁定等待超时;尝试重新启动事务。我使用的是MySQL版本: 5.1.43
我应该将我的数据库切换到Postgrelsql吗?
发布于 2010-05-27 18:07:57
为了方便起见切换到PostgrelSQL。有些问题是通过下载NCBI分类信息(我不知道这些信息是必要的,在文档中应该更清楚)解决的,所以我最终使用了来自BioPython的瑞士解析器,因为它非常适合BioSQL。
https://stackoverflow.com/questions/2915442
复制相似问题