BioSQL.BioSeqDatabase 模块
连接 BioSQL 数据库并从其中加载 Biopython 类对象。
这为从关系数据库中加载生物学对象提供接口,并与 BioSQL 标准兼容。
- BioSQL.BioSeqDatabase.open_database(driver='MySQLdb', **kwargs)
- 加载现有的 BioSQL 风格数据库。 - 此函数是检索数据库连接的最简单方法,例如: - from BioSQL import BioSeqDatabase server = BioSeqDatabase.open_database(user="root", db="minidb") - 参数
- driver - 用于连接的数据库驱动程序的名称。驱动程序应实现 python DB API。默认情况下,使用 MySQLdb 驱动程序。 
- user - 用于连接数据库的用户名。 
- password, passwd - 用于连接的密码 
- host - 数据库的主机名 
- database 或 db - 数据库的名称 
 
 
- class BioSQL.BioSeqDatabase.DBServer(conn, module, module_name=None)
- 基类: - object- 表示包含命名空间(子数据库)的 BioSQL 数据库。 - 它像 Python 字典一样工作,将每个命名空间(由 biodatabase 表中的一行定义)作为 BioSeqDatabase 对象提供访问权限。 - __init__(conn, module, module_name=None)
- 创建一个 DBServer 对象。 - 参数
- conn - 数据库连接对象 
- module - 用于创建数据库连接的模块 
- module_name - 可选,模块的名称。默认值:module.__name__ 
 
 - 通常你不会自己创建 DBServer 对象。而是使用 open_database 函数,它返回 DBServer 的实例。 
 - __repr__()
- 返回类名和数据库连接的简短描述。 
 - __getitem__(name)
- 返回 BioSeqDatabase 对象。 - 参数
- name - BioSeqDatabase 的名称 
 
 
 - __len__()
- 返回此数据库中命名空间(子数据库)的数量。 
 - __contains__(value)
- 检查此数据库中是否存在命名空间(子数据库)。 
 - __iter__()
- 迭代数据库中的命名空间(子数据库)。 
 - keys()
- 迭代数据库中的命名空间(子数据库)。 
 - values()
- 迭代数据库中的 BioSeqDatabase 对象。 
 - items()
- 迭代数据库中的 (namespace, BioSeqDatabase)。 
 - __delitem__(name)
- 删除命名空间及其所有条目。 
 - new_database(db_name, authority=None, description=None)
- 向服务器添加一个新数据库并返回它。 
 - load_database_sql(sql_file)
- 将数据库模式加载到给定数据库中。 - 这用于在首次创建数据库时创建表等。sql_file 应指定包含用于构建表的 SQL 条目的文件的完整路径。 
 - commit()
- 将当前事务提交到数据库。 
 - rollback()
- 回滚当前事务。 
 - close()
- 关闭连接。无法再进行任何操作。 
 
- 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)
- 设置自动提交模式。True 值启用;False 值禁用。 
 - commit()
- 提交当前事务。 
 - rollback()
- 回滚当前事务。 
 - close()
- 关闭连接。无法再进行任何操作。 
 - fetch_dbid_by_dbname(dbname)
- 返回使用其名称的子数据库的内部 ID。 
 - fetch_seqid_by_display_id(dbid, name)
- 返回使用其显示 ID 的序列的内部 ID。 - 参数
- dbid - 子数据库的内部 ID 
- name - 序列的名称。对应于 SQL 模式中 bioentry 表的 name 列 
 
 
 - fetch_seqid_by_accession(dbid, name)
- 返回使用其登录号的序列的内部 ID。 - 参数
- dbid - 子数据库的内部 ID 
- name - 序列的登录号。对应于 SQL 模式中 bioentry 表的 accession 列 
 
 
 - fetch_seqids_by_accession(dbid, name)
- 返回使用登录号的内部 ID 列表。 - 参数
- dbid - 子数据库的内部 ID 
- name - 序列的登录号。对应于 SQL 模式中 bioentry 表的 accession 列 
 
 
 - fetch_seqid_by_version(dbid, name)
- 使用序列的登录号和版本号返回序列的内部 ID。 - 参数
- dbid - 子数据库的内部 ID 
- name - 包含版本号的序列登录号。必须与 <accession>.<version> 匹配。 
 
 
 - fetch_seqid_by_identifier(dbid, identifier)
- 使用序列的标识符返回序列的内部 ID。 - 参数
- dbid - 子数据库的内部 ID 
- identifier - 序列的标识符。对应于 SQL 架构中 bioentry 表的标识符列。 
 
 
 - list_biodatabase_names()
- 返回所有子数据库的列表。 
 - list_bioentry_ids(dbid)
- 返回子数据库中所有序列的内部 ID 列表。 - 参数
- dbid - 子数据库的内部 ID 
 
 
 - list_bioentry_display_ids(dbid)
- 返回子数据库中所有序列名称的列表。 - 参数
- dbid - 子数据库的内部 ID 
 
 
 - list_any_ids(sql, args)
- 根据用于选择它们的 SQL 语句返回 ID。 - 假设给定的 SQL 执行一个返回项目列表的 SELECT 语句。它将这些项目从它们作为二维列表返回的方式中解析出来,并仅将它们作为列表返回。 
 - 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)
- 返回所有行的元组列表。 
 
- class BioSQL.BioSeqDatabase.MysqlConnectorAdaptor(conn, dbutils, wrap_cursor=False)
- Bases: - Adaptor- 具有针对 MySQL 接口修复的 BioSQL 适配器类。 - 由于从 mysql-connector-python 数据库连接器返回 bytearray 对象,BioSQL 失败。此适配器类会清除 bytearray 和字节字符串的返回值,并将它们转换为字符串对象。此适配器类是在响应 mysql-connector-python 包 2.0.0 版本中添加的向后不兼容更改而创建的。 - execute_one(sql, args=None)
- 执行返回 1 条记录的 sql,并返回该记录。 
 - execute_and_fetch_col0(sql, args=None)
- 返回行中第一列的值列表。 
 - execute_and_fetchall(sql, args=None)
- 返回所有行的元组列表。 
 
- class BioSQL.BioSeqDatabase.BioSeqDatabase(adaptor, name)
- 基类: - object- 表示 BioSQL 数据库中的命名空间(子数据库)。 - 即 biodatabase 表中的一行,以及与之相关联的 bioentry 表中的所有行。 - __init__(adaptor, name)
- 创建一个 BioDatabase 对象。 - 参数
- adaptor - BioSQL.Adaptor 对象 
- name - 子数据库(命名空间)的名称 
 
 
 - __repr__()
- 返回 BioSeqDatabase 的简短摘要。 
 - 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 中的一个 
 
 
 - load(record_iterator, fetch_NCBI_taxonomy=False)
- 将一组 SeqRecords 加载到 BioSQL 数据库中。 - record_iterator 可以是 SeqRecord 对象列表,也可以是返回 SeqRecord 对象的迭代器对象(例如 Bio.SeqIO.parse() 函数的输出),这些对象将用于填充数据库。 - fetch_NCBI_taxonomy 是一个布尔标志,允许或阻止连接到 NCBI 服务器上的分类数据库(通过 Bio.Entrez),以获取每个 SeqRecord 的详细分类信息。 - 示例 - from Bio import SeqIO count = db.load(SeqIO.parse(open(filename), format)) - 返回加载的记录数量。