我有一個包含 DNA 序列和基因名稱的熊貓資料框。我想將 DNA 序列翻譯成蛋白質序列,并將蛋白質序列存盤在新列中。
資料框如下所示:
| 脫氧核糖核酸 | 基因名稱 |
|---|---|
| ATGGATAAG | 基因_1 |
| 阿特卡加特 | 基因_2 |
翻譯和存盤 DNA 后,資料框如下所示:
| 脫氧核糖核酸 | 基因名稱 | 蛋白質 |
|---|---|---|
| ATGGATAAG... | 基因_1 | MDK... |
| 阿特卡加特... | 基因_2 | MQD... |
我知道 biopython ( https://biopython.org/wiki/Seq ) 將 DNA 轉化為蛋白質的能力,例如:
>>> from Bio.Seq import Seq
>>> coding_dna = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
>>> coding_dna.translate()
Seq('MAIVMGR*KGAR*')
但是,我不確定如何在資料框的背景關系中實作這一點。任何幫助將非常感激!
uj5u.com熱心網友回復:
我建議使用 pandas.DataFrame.apply。
就像是:
df['protein'] = df['DNA'].apply(lambda x: Seq(x).translate(), axis=1)
uj5u.com熱心網友回復:
由于您想翻譯“DNA”列中的每個序列,您可以使用串列推導:
df['protein'] = [''.join(Seq(sq).translate()) for sq in df['DNA']]
輸出:
DNA gene_name protein
0 ATGGATAAG gene_1 MDK
1 ATGCAGGAT gene_2 MQD
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/427005.html
上一篇:將pandasDataFrame列拆分為可變數量的列
下一篇:如何反轉熊貓系列
