Bio.SeqUtils 套件
子模組
- Bio.SeqUtils.CheckSum 模組
- Bio.SeqUtils.IsoelectricPoint 模組
- Bio.SeqUtils.MeltingTemp 模組
- Bio.SeqUtils.ProtParam 模組
- 範例
ProteinAnalysis
ProteinAnalysis.__init__()
ProteinAnalysis.count_amino_acids()
ProteinAnalysis.get_amino_acids_percent()
ProteinAnalysis.molecular_weight()
ProteinAnalysis.aromaticity()
ProteinAnalysis.instability_index()
ProteinAnalysis.flexibility()
ProteinAnalysis.gravy()
ProteinAnalysis.protein_scale()
ProteinAnalysis.isoelectric_point()
ProteinAnalysis.charge_at_pH()
ProteinAnalysis.secondary_structure_fraction()
ProteinAnalysis.molar_extinction_coefficient()
- Bio.SeqUtils.ProtParamData 模組
- Bio.SeqUtils.lcc 模組
模組內容
用於處理序列的各種函式。
- Bio.SeqUtils.gc_fraction(seq, ambiguous='remove')
計算序列中的 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
就計算 GC 含量而言,S 和 W 是模糊的。
>>> 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 含量:總計,針對第一、第二和第三個位置。
針對整個序列和三個密碼子位置,傳回四個浮點數(介於 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 偏斜度(圖形!!!)。
- Bio.SeqUtils.nt_search(seq, subseq)
在序列中搜尋 DNA 子序列,傳回 [子序列、位置] 的列表。
使用模糊值(例如 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」的 U 和「Pyl」的 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:字串、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 Strider 的六個讀碼框轉譯
>>> 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 描述的密碼子適應性指數 (CAI) (Nucleic Acids Res. 1987 Feb 11;15(3):1281-95)。
- __init__(sequences, table=standard_dna_table)
從編碼 DNA 序列產生密碼子適應性表格。
從提供的密碼子 DNA 序列計算每個密碼子的相對適應性 (w_ij),如 Sharp & Li (Nucleic Acids Research 15(3): 1281-1295 (1987)) 所定義。
- 引數
- sequences: 一個可迭代的 DNA 序列集合,可以是純文字字串、Seq 物件、MutableSeq 物件或 SeqRecord 物件。
字串、Seq 物件、MutableSeq 物件或 SeqRecord 物件。
- table: 一個定義遺傳碼的 Bio.Data.CodonTable.CodonTable 物件。
預設使用標準遺傳碼。
- calculate(sequence)
計算並傳回所提供的 DNA 序列的 CAI (浮點數)。
- optimize(sequence, seq_type='DNA', strict=True)
只傳回使用偏好密碼子的新 DNA 序列。
使用 CodonAdaptationIndex 物件定義的密碼子適應性表格,產生僅使用偏好密碼子的 DNA 序列。在設計用於轉殖蛋白表達或密碼子優化蛋白(如螢光蛋白)的 DNA 序列時可能很有用。
- 引數
- sequence: 要進行密碼子優化的 DNA、RNA 或蛋白質序列。
以 str、Seq 或 SeqRecord 物件的形式提供。
- seq_type: 指定所提供序列類型的字串。
選項為 “DNA”、“RNA” 和 “protein”。預設值為 “DNA”。
- strict: 決定當某個胺基酸有兩個同等偏好的密碼子時,是否應引發例外。
當某個胺基酸有兩個同等偏好的密碼子時,是否應引發例外。
- 回傳值
Seq 物件,其中包含 DNA 編碼與 sequence 參數相同的蛋白質,但僅使用密碼子適應性指數定義的偏好密碼子。如果有多個密碼子同等偏好,則會發出警告,並選擇一個密碼子用於優化序列中。
- __str__()
傳回 str(self)。