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))

返回加载的记录数。