BioSQL. BioSeq数据库模块
连接BioSQL数据库并从中加载类似Biopython的对象。
这提供了从关系数据库加载生物对象的接口,并且与BioSQL标准兼容。
- BioSQL.BioSeqDatabase.open_database(driver='MySQLdb', **kwargs)
加载现有的BioSQL风格数据库。
此函数是检索数据库连接的最简单方法,可以执行以下操作:
from BioSQL import BioSeqDatabase server = BioSeqDatabase.open_database(user="root", db="minidb")
- 论点:
驱动程序-用于连接的数据库驱动程序的名称。驱动程序应该实现pPython DB API。默认情况下,使用MySQL DB驱动程序。
user -用于连接到数据库的用户名。
密码,passWD -连接的密码
主机-数据库的主机名
数据库或db -数据库的名称
- class BioSQL.BioSeqDatabase.DBServer(conn, module, module_name=None)
基类:
object表示包含名称空间(子数据库)的BioSQL数据库。
它的作用类似于Python字典,将每个命名空间(由biodatabase表中的一行定义)作为BioSeqDatabase对象进行访问。
- __init__(conn, module, module_name=None)
创建DB服务器对象。
- 论点:
conn -数据库连接对象
模块-用于创建数据库连接的模块
模块_名称-(可选)模块的名称。默认: module.__name__
通常您不想自己创建DB服务器对象。相反,使用open_data函数,该函数返回DB服务器的实例。
- __repr__()
返回类名称和数据库连接的简短描述。
- __getitem__(name)
返回BioSeqBase对象。
- 论点:
名称-BioSeq数据库的名称
- __len__()
返回此数据库中的命名空间(子数据库)数量。
- __contains__(value)
检查此数据库中是否有命名空间(子数据库)。
- __iter__()
迭代数据库中的名称空间(子数据库)。
- keys()
迭代数据库中的名称空间(子数据库)。
- values()
迭代数据库中的BioSeqBase对象。
- items()
在数据库中迭代(命名空间、BioSeqData)。
- __delitem__(name)
删除命名空间及其所有条目。
- new_database(db_name, authority=None, description=None)
将新数据库添加到服务器并返回它。
- load_database_sql(sql_file)
将数据库模式加载到给定的数据库中。
这用于在首次创建数据库时创建表等。SQL_file应指定包含用于构建表的SQL条目的文件的完整路径。
- commit()
将当前事务提交到数据库。
- rollback()
回滚当前事务。
- close()
关闭连接。不可能进行进一步的活动。
- __firstlineno__ = 155
- __static_attributes__ = ('adaptor', 'module', 'module_name')
- class BioSQL.BioSeqDatabase.Adaptor(conn, dbutils, wrap_cursor=False)
基类:
object数据库连接和指针的高级包装器。
BioSQL中的大多数数据库调用都是通过这个适配器类间接完成的。这提供了用于获取数据和执行SQL的帮助器方法。
- __init__(conn, dbutils, wrap_cursor=False)
创建Adaptor对象。
- 论点:
conn -数据库连接
dbutils -BioSQL.DButils对象
wrap_cursor -可选,是否包装指针对象
- last_id(table)
返回所选表的最后一行ID。
- autocommit(y=True)
设置自动提交模式。启用真值;禁用假值。
- commit()
提交当前事务。
- rollback()
回滚当前事务。
- close()
关闭连接。不可能进行进一步的活动。
- fetch_dbid_by_dbname(dbname)
使用子数据库名称返回子数据库的内部ID。
- fetch_seqid_by_display_id(dbid, name)
使用序列的显示id返回序列的内部id。
- 论点:
dbid -子数据库的内部ID
名称-序列的名称。对应于SQL模式的生物条目表的名称列
- fetch_seqid_by_accession(dbid, name)
使用序列的访问返回序列的内部ID。
- 论点:
dbid -子数据库的内部ID
名称-序列的加入。对应于SQL模式的生物条目表的访问列
- fetch_seqids_by_accession(dbid, name)
使用访问返回列表内部ID。
- 论点:
dbid -子数据库的内部ID
名称-序列的加入。对应于SQL模式的生物条目表的访问列
- fetch_seqid_by_version(dbid, name)
使用序列的访问和版本返回序列的内部ID。
- 论点:
dbid -子数据库的内部ID
名称-包含版本号的序列的加入。必须对应<accession>。<version>
- fetch_seqid_by_identifier(dbid, identifier)
使用序列的标识符返回序列的内部ID。
- 论点:
dbid -子数据库的内部ID
标识符-序列的标识符。对应于SQL模式中生物条目表的标识符列。
- list_biodatabase_names()
返回所有子数据库的列表。
- list_bioentry_ids(dbid)
返回子数据库中所有序列的内部id列表。
- 论点:
dbid -子数据库的内部ID
- list_bioentry_display_ids(dbid)
返回子数据库中所有序列名称的列表。
- 论点:
dbid -子数据库的内部ID
- list_any_ids(sql, args)
返回id,并给出SQL声明来选择它们。
这假设给定的SQL执行一个返回项列表的SELECT声明。这会将它们从它们的2D列表中解析出来,并在列表中返回它们。
- execute_one(sql, args=None)
执行返回1条记录的SQL,并返回该记录。
- execute(sql, args=None)
只需执行SQL命令即可。
- executemany(sql, args)
执行许多SQL命令。
- get_subseq_as_string(seqid, start, end)
返回序列的子字符串。
- 论点:
seqid -序列的内部id
start -序列的开始位置; 0-索引
end -序列的结束位置
- execute_and_fetch_col0(sql, args=None)
返回该行第一列的值列表。
- execute_and_fetchall(sql, args=None)
返回所有行的元组列表。
- __firstlineno__ = 336
- __static_attributes__ = ('conn', 'cursor', 'dbutils')
- class BioSQL.BioSeqDatabase.MysqlConnectorAdaptor(conn, dbutils, wrap_cursor=False)
基类:
Adaptor一个BioSQL Adaptor类,修复了SQL接口。
BioSQL因从mysql-connect-pPython数据库连接器返回字节数组对象而失败。此适配器类清除字节数组和字节字符串的返回,将它们转换为字符串对象。此适配器类是为了响应包2.0.0版本中添加到mysql-connect-pony的向后不兼容更改而创建的。
- execute_one(sql, args=None)
执行返回1条记录的SQL,并返回该记录。
- execute_and_fetch_col0(sql, args=None)
返回该行第一列的值列表。
- execute_and_fetchall(sql, args=None)
返回所有行的元组列表。
- __annotations__ = {}
- __firstlineno__ = 588
- __static_attributes__ = ()
- class BioSQL.BioSeqDatabase.BioSeqDatabase(adaptor, name)
基类:
object表示BioSQL数据库中的命名空间(子数据库)。
即生物数据库表中的一行,以及与其关联的生物条目表中的所有行。
- __init__(adaptor, name)
创建生物数据库对象。
- 论点:
adaptor -一个BioSQL.Adaptor对象
名称-子数据库(命名空间)的名称
- __repr__()
返回BioSeq数据库的简短摘要。
- get_Seq_by_id(name)
按名称获取DBSeqRecord对象。
示例:seq_rec = db.get_Seq_by_id(' ROA1_HUMAN ')
该方法的名称具有误导性,因为它返回DBSeqRecord而不是Seq对象,并且可能是为了镜像BioPerl。
- get_Seq_by_acc(name)
通过访问号获取DBSeqRecord对象。
示例:seq_rec = db.get_Seq_by_acc(' X77802 ')
该方法的名称具有误导性,因为它返回DBSeqRecord而不是Seq对象,并且可能是为了镜像BioPerl。
- get_Seq_by_ver(name)
按版本号获取DBSeqRecord对象。
示例:seq_rec = db.get_Seq_by_ver(' X77802.1 ')
该方法的名称具有误导性,因为它返回DBSeqRecord而不是Seq对象,并且可能是为了镜像BioPerl。
- get_Seqs_by_acc(name)
按访问号获取DBSeqRecord对象列表。
示例:seq_recs = db.get_Seq_by_acc(' X77802 ')
该方法的名称具有误导性,因为它返回的是DBSeqRecord对象列表,而不是Seq对象列表,并且大概是为了镜像BioPerl。
- __getitem__(key)
返回子数据库中其中一个序列的DBSeqRecord。
- 论点:
key -序列的内部id
- __delitem__(key)
删除条目及其所有注释。
- __len__()
返回此命名空间(子数据库)中的记录数。
- __contains__(value)
检查主(内部)ID是否是此命名空间(子数据库)。
- __iter__()
遍历id(在此数据库之外可能没有意义)。
- keys()
遍历id(在此数据库之外可能没有意义)。
- values()
迭代命名空间(子数据库)中的DBSeqRecord对象。
- items()
迭代命名空间(子数据库)的(id,DBSeqRecord)。
- lookup(**kwargs)
使用可接受的标识符返回DBSeqRecord。
- 论点:
kwargs -单个键值对,其中键是primary_id、gi、display_id、name、accession、version之一
- __firstlineno__ = 639
- __static_attributes__ = ('adaptor', 'dbid', 'name')
- load(record_iterator, fetch_NCBI_taxonomy=False)
将一组SeqRecords加载到BioSQL数据库中。
record_iterator或者是SeqRecord对象的列表,或者是返回SeqRecord对象的Iterator对象(例如来自Bio.SeqIO.parse()函数的输出),它将用于填充数据库。
fetch_NCBI_taxonomy是布尔标志,允许或阻止连接到NCBI服务器上的分类数据库(通过Bio. z),以获取每个SeqRecord的详细分类。
示例::
from Bio import SeqIO count = db.load(SeqIO.parse(open(filename), format))
返回加载的记录数。