skbio.sequence.DNA¶
- class skbio.sequence.DNA(sequence, metadata=None, positional_metadata=None, interval_metadata=None, lowercase=False, validate=True)[源代码]¶
存储DNA序列数据和可选的相关元数据。
仅IUPAC DNA字符集中的字符 [1] 支持。
- 参数:
sequence (str, Sequence, or 1D np.ndarray (np.uint8 or '|S1')) -- 代表DNA序列本身的字符。
metadata (dict, optional) -- 应用于整个序列的任意元数据。
positional_metadata (Pandas DataFrame consumable, optional) -- 任意每字符元数据。例如,来自排序的高质量数据读取。必须能够直接传递给Pandas数据帧构造函数。
interval_metadata (IntervalMetadata) -- 任意区间元数据,应用于序列内的区间来存储区间特征(如DNA序列上的基因)。
lowercase (bool or str, optional) -- 如果
True
,小写序列字符将转换为大写字符,以便成为有效的IUPAC DNA字符。如果False
,不会转换任何字符。如果是str,它将被视为对象的位置元数据的键。将转换为大写和小写字符True
值将存储在键下位置元数据的布尔数组中。validate (bool, optional) -- 如果
True
,将执行验证以确保所有序列字符都在IUPAC DNA字符集中。如果False
,将不执行验证。关闭验证将提高运行时性能。但是,如果存在无效字符,则 不能保证对结果对象执行的操作将按预期工作或行为。 只有在确定序列字符有效时才关闭验证。要存储不符合IUPAC的序列数据,请使用Sequence
.
参见
备注
子类化对于DNA是无效的,因为子类化使得改变字母表成为可能,并且某些方法依赖于IUPAC字母表。如果需要自定义序列字母表,则直接从
GrammaredSequence
.引用
示例
>>> from skbio import DNA >>> DNA('ACCGAAT') DNA -------------------------- Stats: length: 7 has gaps: False has degenerates: False has definites: True GC-content: 42.86% -------------------------- 0 ACCGAAT
将小写字符转换为大写:
>>> DNA('AcCGaaT', lowercase=True) DNA -------------------------- Stats: length: 7 has gaps: False has degenerates: False has definites: True GC-content: 42.86% -------------------------- 0 ACCGAAT
属性
alphabet
返回有效字符。
complement_map
将核苷酸特征返回到其补体的映射。
default_gap_char
在构造新的有间隙序列时要使用的间隙字符。
default_write_format
definite_chars
返回确定字符。
degenerate_chars
返回退化字符。
degenerate_map
退化到定字符的返回映射。
gap_chars
返回定义为空白的字符。
interval_metadata
IntervalMetadata
包含间隔功能信息的对象。metadata
dict
包含应用于整个对象的元数据。nondegenerate_chars
返回非退化字符。
observed_chars
序列中观察到的字符集。
positional_metadata
pd.DataFrame
包含沿轴的元数据。values
包含基础序列字符的数组。
内嵌函数
__bool__
\()返回序列的真值(真值)。
__contains__
\(子序列)确定此序列中是否包含子序列。
__copy__
\()返回此序列的浅副本。
__deepcopy__
\(备忘录)返回此序列的深层副本。
__eq__
(其他)确定这个序列是否等于另一个序列。
__ge__
(value, /)返回self>=值。
__getitem__
\(可编入索引的)把这个序列切片。
__getstate__
\()泡菜的帮手。
__gt__
(value, /)返回self>值。
__iter__
\()在这个序列中迭代位置。
__le__
(value, /)返回self<=value。
__len__
\()返回此序列中的字符数。
__lt__
(value, /)返回self<value。
__ne__
(其他)确定这个序列是否与另一个序列不相等。
__reversed__
\()以相反的顺序重复这个序列中的位置。
__str__
\()以字符串形式返回序列字符。
方法
complement
([reverse])返回核苷酸序列的补码。
concat
(sequences[, how])连接的iterable
Sequence
物体。count
(subsequence[, start, end])计算此序列中子序列的出现次数。
definites
\()查找序列中包含确定字符的位置。
degap
\()返回一个删除了空白字符的新序列。
degenerates
\()查找序列中包含退化字符的位置。
distance
(other[, metric])计算到另一个序列的距离。
产生序列的所有可能的确定版本。
find_motifs
(motif_type[, min_length, ignore])在生物序列中寻找母题。
find_with_regex
(regex[, ignore])为正则表达式匹配的模式生成切片。
frequencies
([chars, relative])计算序列中字符的频率。
gaps
\()找出生物序列中包含空白的位置。
gc_content
\()计算序列中G和C的相对频率。
gc_frequency
([relative])计算序列中G和C的频率。
has_definites
\()确定序列是否包含一个或多个确定字符
has_degenerates
\()确定序列是否包含一个或多个退化字符。
has_gaps
\()确定序列是否包含一个或多个空白字符。
确定对象是否具有间隔元数据。
has_metadata
\()确定对象是否具有元数据。
确定序列是否包含一个或多个非退化字符
确定对象是否具有位置元数据。
index
(subsequence[, start, end])找到序列中子序列首先出现的位置。
确定一个序列是否是这个序列的反向补码。
iter_contiguous
(included[, min_length, invert])生成连续的子序列基于 included .
iter_kmers
(k[, overlap])生成kmers长度 k 从这个序列。
kmer_frequencies
(k[, overlap, relative])返回字长计数 k 从这个序列。
lowercase
\(小写)返回序列的区分大小写的字符串表示形式。
match_frequency
(other[, relative])返回两个序列之间相同的位置计数。
matches
(其他)找到与其他序列匹配的位置。
mismatch_frequency
(other[, relative])返回两个序列之间不同的位置计数。
mismatches
(其他)查找与其他序列不匹配的位置。
nondegenerates
\()查找序列中包含非退化字符的位置。
read
(file[, format])创建新的
DNA
实例。replace
(where, character)将此序列中的值替换为其他字符。
返回核苷酸序列的反向补码。
to_regex
([within_capture])返回说明退化字符的正则表达式对象。
transcribe
\()将DNA转录成RNA。
translate
(*args, **kwargs)将DNA序列转化为蛋白质序列。
translate_six_frames
(*args, **kwargs)使用六种可能的阅读框架将DNA转化为蛋白质。
write
(file[, format])写一个实例
DNA
一个文件。