Bio.SeqUtils包

子模块

模块内容

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

Bio.SeqUtils.GC(seq)

计算G+C含量,返回百分比(0到100之间的浮点数)。

处理混合案例序列,并在计算G和C含量时使用含糊的核苷酸S(G或C)。百分比按全长计算,例如:

>>> from Bio.SeqUtils import GC
>>> GC("ACTGN")
40.0

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

Bio.SeqUtils.GC123(seq)

计算G+C含量:合计,第一、二、三位。

返回整个序列和三个密码子位置的四个浮点数(百分比介于0和100之间)的元组。例如:

>>> 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偏差(图形!)。

按顺序搜索DNA subseq,返回列表 [子序列,位置] 。

使用模棱两可的值(如N=A或T或C或G,R=A或G等),仅在正向链上搜索。

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

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

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

此函数使用三个字母的氨基酸代码以字符串形式返回氨基酸序列。输出遵循IUPAC标准(包括表示“ASX”的含糊字符B、表示“XLE”的模糊字符J和表示“Xaa”的X,以及表示“SEL”和“PYL”的U和O)加上作为星号给出的终止符的“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标准(包括表示“ASX”的模糊字符“B”、表示“XLE”的“J”、表示“Xaa”的“X”、表示“SEL”的“U”和表示“PYL”的“O”)加上给定“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:字符串或Biopython序列对象。

  • SEQ_TYPE:默认情况下假定为DNA;使用字符串“DNA”、“RNA”或“Protein”覆盖它。

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

  • 圆形:分子是圆形的(没有末端)吗?

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

>>> 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帧翻译,带有xbbtools的GC内容代码,类似于DNA Striders的6帧翻译

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