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")
- 参数:
驱动程序-用于连接的数据库驱动程序的名称。驱动程序应该实现python DB API。默认情况下,使用MySQLdb驱动程序。
用户-用于连接到数据库的用户名。
Password,passwd-要连接的密码
主机-数据库的主机名
database或db-数据库的名称
- class BioSQL.BioSeqDatabase.DBServer(conn, module, module_name=None)¶
基类:
object
表示连续命名空间(子数据库)的BioSQL数据库。
它的作用类似于Python字典,允许将每个名称空间(由Biodatabase表中的一行定义)作为BioSeqDatabase对象进行访问。
- __init__(conn, module, module_name=None)¶
创建一个DBServer对象。
- 参数:
CONN-A数据库连接对象
模块-用于创建数据库连接的模块
MODULE_NAME-模块的名称(可选)。默认值: module.__name__
通常,您不希望自己创建DBServer对象。取而代之的是使用OPEN_DATABASE函数,该函数返回DBServer的一个实例。
- __repr__()¶
返回类名和数据库连接的简短描述。
- __getitem__(name)¶
返回一个BioSeqDatabase对象。
- 参数:
名称-BioSeq数据库的名称
- __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-A数据库连接
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
名称-序列的名称。对应于SQL模式的BioEntry表的Name列
- fetch_seqid_by_accession(dbid, name)¶
使用序列的ACCESSION返回序列的内部ID。
- 参数:
dbid-子数据库的内部ID
名称-序列的加入。对应于SQL模式的BioEntry表的ACCESSION列
- fetch_seqids_by_accession(dbid, name)¶
使用访问返回内部ID列表。
- 参数:
dbid-子数据库的内部ID
名称-序列的加入。对应于SQL模式的BioEntry表的ACCESSION列
- fetch_seqid_by_version(dbid, name)¶
使用序列的加入和版本返回序列的内部ID。
- 参数:
dbid-子数据库的内部ID
名称-包含版本号的序列的加入。必须与<加入>相对应。<版本>
- 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)¶
返回给定SQL语句为其选择的ID。
这假设给定的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
开始-序列的开始位置;0-索引
End-序列的结束位置
- execute_and_fetch_col0(sql, args=None)¶
返回行中第一列的值列表。
- execute_and_fetchall(sql, args=None)¶
返回所有行的元组列表。
- class BioSQL.BioSeqDatabase.MysqlConnectorAdaptor(conn, dbutils, wrap_cursor=False)¶
基类:
Adaptor
带有MySQL接口修复的BioSQL Adaptor类。
由于mysql-connector-python数据库连接器返回bytearray对象,BioSQL失败。这个适配器类清理字节数组和字节字符串的返回,将它们转换为字符串对象。此适配器类是为了响应在2.0.0版软件包中添加到mysql-connector-python的向后不兼容更改。
- 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数据库中的命名空间(子数据库)。
即生物数据库表中的一行以及与其相关联的生物条目表中的所有行。
- __init__(adaptor, name)¶
创建一个BioDatabase对象。
- 参数:
Adaptor-一个BioSQL.Adaptor对象
名称-子数据库(命名空间)的名称
- __repr__()¶
返回BioSeqDatabase的简短摘要。
- get_Seq_by_id(name)¶
按名称获取DBSeqRecord对象。
示例:SEQ_rec=db.get_Seq_by_id(‘ROA1_HEMAN’)
此方法的名称具有误导性,因为它返回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、access、version中的一个
- load(record_iterator, fetch_NCBI_taxonomy=False)¶
将一组SeqRecords加载到BioSQL数据库。
Record_Iterator可以是SeqRecord对象列表,也可以是返回SeqRecord对象(如Bio.SeqIO.parse()函数的输出)的Iterator对象,这些对象将用于填充数据库。
FETCH_NCBI_TAYNOMY是布尔标志,允许或阻止连接到NCBI服务器上的分类数据库(通过Bio.Entrez),以获取每个SeqRecord的详细分类。
示例::
from Bio import SeqIO count = db.load(SeqIO.parse(open(filename), format))
返回加载的记录数。