Bio.SeqUtils 包

子模块

模块内容

用于处理序列的各种函数。

Bio.SeqUtils.gc_fraction(seq, ambiguous='remove')

计算 seq 中的 G+C 百分比(介于 0 和 1 之间的浮点数)。

处理大小写混合的序列。在本例中,模糊碱基是指与 ATCGSWU 不同的那些碱基(S 为 G 或 C,W 为 A 或 T)。

如果 ambiguous 等于“remove”(默认值),则将仅计算 GCS,并且在计算序列长度时将仅包含 ACTGSWU。相当于在计算 GC 含量之前,将 BDHKMNRVXY 集合中的所有字符移除,因为这些模糊碱基可以是 (A,T) 或 (C,G)。

如果 ambiguous 等于“ignore”,则将仅将明确的碱基(GCS)计入 GC 百分比,但在计算序列长度时将包含所有模糊和明确的碱基。

如果 ambiguous 等于“weighted”,则在计算模糊字符时将使用“平均”值,例如,G 和 C 将计为 1,N 和 X 将计为 0.5,D 将计为 0.33 等等。有关完整列表,请参阅 Bio.SeqUtils._gc_values。

对于 ambiguous 参数的任何其他值,将引发 ValueError。

>>> from Bio.SeqUtils import gc_fraction
>>> seq = "ACTG"
>>> print(f"GC content of {seq} : {gc_fraction(seq):.2f}")
GC content of ACTG : 0.50

RNA 序列示例

>>> seq = "GGAUCUUCGGAUCU"
>>> print(f"GC content of {seq} : {gc_fraction(seq):.2f}")
GC content of GGAUCUUCGGAUCU : 0.50

S 和 W 是计算 GC 含量时的模糊碱基。

>>> seq = "ACTGSSSS"
>>> gc = gc_fraction(seq, "remove")
>>> print(f"GC content of {seq} : {gc:.2f}")
GC content of ACTGSSSS : 0.75
>>> gc = gc_fraction(seq, "ignore")
>>> print(f"GC content of {seq} : {gc:.2f}")
GC content of ACTGSSSS : 0.75
>>> gc = gc_fraction(seq, "weighted")
>>> print(f"GC content with ambiguous counting: {gc:.2f}")
GC content with ambiguous counting: 0.75

包含模糊碱基的一些示例。

>>> seq = "ACTGN"
>>> gc = gc_fraction(seq, "ignore")
>>> print(f"GC content of {seq} : {gc:.2f}")
GC content of ACTGN : 0.40
>>> gc = gc_fraction(seq, "weighted")
>>> print(f"GC content with ambiguous counting: {gc:.2f}")
GC content with ambiguous counting: 0.50
>>> gc = gc_fraction(seq, "remove")
>>> print(f"GC content with ambiguous removing: {gc:.2f}")
GC content with ambiguous removing: 0.50

模糊碱基也会从序列长度中移除。

>>> seq = "GDVV"
>>> gc = gc_fraction(seq, "ignore")
>>> print(f"GC content of {seq} : {gc:.2f}")
GC content of GDVV : 0.25
>>> gc = gc_fraction(seq, "weighted")
>>> print(f"GC content with ambiguous counting: {gc:.4f}")
GC content with ambiguous counting: 0.6667
>>> gc = gc_fraction(seq, "remove")
>>> print(f"GC content with ambiguous removing: {gc:.2f}")
GC content with ambiguous removing: 1.00

请注意,对于空序列,这将返回零。

Bio.SeqUtils.GC123(seq)

计算 G+C 含量:总数、第一位、第二位和第三位的 G+C 含量。

返回一个包含四个浮点数(介于 0 和 100 之间的百分比)的元组,分别代表整个序列和三个密码子位置的 G+C 含量。例如:

>>> from Bio.SeqUtils import GC123
>>> GC123("ACTGTN")
(40.0, 50.0, 50.0, 0.0)

处理大小写混合的序列,但不处理模糊碱基。

Bio.SeqUtils.GC_skew(seq, window=100)

计算序列中多个窗口的 GC 偏斜 (G-C)/(G+C)。

返回一个由序列长度和窗口大小控制的比率(浮点数)列表。

通过处理零除错误,对于没有 G/C 的窗口,返回 0。

不查看任何模糊碱基。

Bio.SeqUtils.xGC_skew(seq, window=1000, zoom=100, r=300, px=100, py=100)

计算和绘制正常和累积的 GC 偏斜(图形!!!)。

在 seq 中搜索 DNA 子序列,返回 [subseq, positions] 列表。

使用模糊值(如 N = A 或 T 或 C 或 G,R = A 或 G 等等),仅搜索正向链。

Bio.SeqUtils.seq3(seq, custom_map=None, undef_code='Xaa')

将蛋白质序列从单字母代码转换为三字母代码。

单个必需的输入参数“seq”应该是使用单字母代码的蛋白质序列,可以是 Python 字符串,也可以是 Seq 或 MutableSeq 对象。

此函数将氨基酸序列作为字符串返回,使用三字母氨基酸代码。输出遵循 IUPAC 标准(包括模糊字符 B 代表“Asx”,J 代表“Xle”和 X 代表“Xaa”,以及 U 代表“Sel”和 O 代表“Pyl”),以及用星号表示的终止符的“Ter”。任何未知字符(包括可能的间隙字符),默认情况下都会更改为“Xaa”。

例如:

>>> from Bio.SeqUtils import seq3
>>> seq3("MAIVMGRWKGAR*")
'MetAlaIleValMetGlyArgTrpLysGlyAlaArgTer'

可以使用字典“custom_map”参数(默认值为 {‘*’: ‘Ter’})设置密码子终止代码的自定义翻译,例如:

>>> seq3("MAIVMGRWKGAR*", custom_map={"*": "***"})
'MetAlaIleValMetGlyArgTrpLysGlyAlaArg***'

您还可以使用“undef_code”参数设置对非氨基酸字符(如“ - ”)的自定义翻译,例如:

>>> seq3("MAIVMGRWKGA--R*", undef_code='---')
'MetAlaIleValMetGlyArgTrpLysGlyAla------ArgTer'

如果未指定,则“undef_code”默认为“Xaa”,例如:

>>> seq3("MAIVMGRWKGA--R*")
'MetAlaIleValMetGlyArgTrpLysGlyAlaXaaXaaArgTer'

此函数的灵感来自于 BioPerl 的 seq3。

Bio.SeqUtils.seq1(seq, custom_map=None, undef_code='X')

将蛋白质序列从三字母代码转换为单字母代码。

单个必需的输入参数“seq”应该是使用三字母代码的蛋白质序列,可以是 Python 字符串,也可以是 Seq 或 MutableSeq 对象。

此函数将氨基酸序列作为字符串返回,使用单字母氨基酸代码。输出遵循 IUPAC 标准(包括模糊字符“B”代表“Asx”,“J”代表“Xle”,“X”代表“Xaa”,“U”代表“Sel”和“O”代表“Pyl”),以及在给出“Ter”代码时用星号表示的终止符。任何未知字符(包括可能的间隙字符),默认情况下都会更改为“ - ”。

例如:

>>> from Bio.SeqUtils import seq1
>>> seq1("MetAlaIleValMetGlyArgTrpLysGlyAlaArgTer")
'MAIVMGRWKGAR*'

输入不区分大小写,例如:

>>> from Bio.SeqUtils import seq1
>>> seq1("METalaIlEValMetGLYArgtRplysGlyAlaARGTer")
'MAIVMGRWKGAR*'

可以使用字典“custom_map”参数(默认为 {‘Ter’: ‘*’})设置密码子终止代码的自定义翻译,例如:

>>> seq1("MetAlaIleValMetGlyArgTrpLysGlyAla***", custom_map={"***": "*"})
'MAIVMGRWKGA*'

您还可以使用“undef_code”参数设置对非氨基酸字符(如“ - ”)的自定义翻译,例如:

>>> seq1("MetAlaIleValMetGlyArgTrpLysGlyAla------ArgTer", undef_code='?')
'MAIVMGRWKGA??R*'

如果未指定,则“undef_code”默认为“X”,例如:

>>> seq1("MetAlaIleValMetGlyArgTrpLysGlyAla------ArgTer")
'MAIVMGRWKGAXXR*'
Bio.SeqUtils.molecular_weight(seq, seq_type='DNA', double_stranded=False, circular=False, monoisotopic=False)

计算 DNA、RNA 或蛋白质序列的分子量,结果为浮点数。

仅允许明确的字母。假设核苷酸序列具有 5' 磷酸基团。

参数
  • seq:字符串、Seq 或 SeqRecord 对象。

  • seq_type:默认情况下,假定为 DNA;使用字符串“DNA”、“RNA”或“protein”覆盖此参数。

  • double_stranded:计算双链分子的质量吗?

  • circular:该分子是环状的吗(没有末端)?

  • monoisotopic:使用单同位素质量表吗?

>>> print("%0.2f" % molecular_weight("AGC"))
949.61
>>> print("%0.2f" % molecular_weight(Seq("AGC")))
949.61

但是,最好是明确 - 例如使用字符串

>>> print("%0.2f" % molecular_weight("AGC", "DNA"))
949.61
>>> print("%0.2f" % molecular_weight("AGC", "RNA"))
997.61
>>> print("%0.2f" % molecular_weight("AGC", "protein"))
249.29
Bio.SeqUtils.six_frame_translations(seq, genetic_code=1)

返回显示 6 个框翻译和 GC 含量的漂亮字符串。

漂亮的 6 个框翻译,带有 GC 含量 - 来自 xbbtools 的代码,类似于 DNA Striders 的六框翻译

>>> from Bio.SeqUtils import six_frame_translations
>>> print(six_frame_translations("AUGGCCAUUGUAAUGGGCCGCUGA"))
GC_Frame: a:5 t:0 g:8 c:5
Sequence: auggccauug ... gggccgcuga, 24 nt, 54.17 %GC


1/1
  G  H  C  N  G  P  L
 W  P  L  *  W  A  A
M  A  I  V  M  G  R  *
auggccauuguaaugggccgcuga   54 %
uaccgguaacauuacccggcgacu
A  M  T  I  P  R  Q
 H  G  N  Y  H  A  A  S
  P  W  Q  L  P  G  S

class Bio.SeqUtils.CodonAdaptationIndex(sequences, table=standard_dna_table)

碱基:dict

密码子适应指数 (CAI) 实现。

实现 Sharp 和 Li (Nucleic Acids Res. 1987 Feb 11;15(3):1281-95) 描述的密码子适应指数 (CAI)。

__init__(sequences, table=standard_dna_table)

从编码 DNA 序列生成密码子适应性表。

这根据提供的密码子 DNA 序列计算 Sharp & Li (Nucleic Acids Research 15(3): 1281-1295 (1987)) 定义的每个密码子的相对适应性 (w_ij)。

参数
  • 序列:可迭代的 DNA 序列,可以是简单的

    字符串、Seq 对象、MutableSeq 对象或 SeqRecord 对象。

  • 表:Bio.Data.CodonTable.CodonTable 对象,定义了

    遗传密码。默认情况下,使用标准遗传密码。

calculate(sequence)

计算并返回提供的 DNA 序列的 CAI (浮点数)。

optimize(sequence, seq_type='DNA', strict=True)

返回一个新的 DNA 序列,其中只有首选密码子。

使用 CodonAdaptationIndex 对象定义的密码子适应性表来生成仅包含首选密码子的 DNA 序列。在设计用于转基因蛋白表达或密码子优化的蛋白质(如荧光团)的 DNA 序列时可能很有用。

参数
  • 序列:要进行密码子优化的 DNA、RNA 或蛋白质序列。

    以 str、Seq 或 SeqRecord 对象的形式提供。

  • seq_type:指定提供的序列类型的字符串。

    选项为“DNA”、“RNA”和“蛋白质”。默认值为“DNA”。

  • 严格:确定当

    对给定的氨基酸,两个密码子同样受欢迎时,是否应该引发异常。

返回值

Seq 对象,其中 DNA 编码与序列参数相同的蛋白质,但仅使用密码子适应指数定义的首选密码子。如果多个密码子同样受欢迎,则会发出警告,并选择一个密码子用于优化序列。

__str__()

返回 str(self)。