如何在 excel w/ biopython 中将一列 3 个字母的氨基酸转换为 1 个字母的氨基酸?
How do I convert a column of 3-letter amino acids to 1- letter amino acids in excel w/ biopython?
我想将 excel 中的一列三字母氨基酸转换为一个字母,并将单字母氨基酸打印到 excel 文件中的每个相应行。我知道我可以为此使用 biopython
。
我尝试过的:
import Bio
from Bio.SeqUtils import seq1
seq1("MetAlaIleValMetGlyArgTrpLysGlyAlaArgTer")
'MAIVMGRWKGAR*'
但我想让大家明白,我不能将 python 的字符串进行转换。我需要阅读 excel 中的一整列,并打印一个包含转换后的单字母序列的新列。图片供参考:
对于旧的 xls 文件,我在下面管理代码,与您的示例一起保存副本
您的文件的新列。我知道 pandas 库可以更好地管理 xlx 和更新版本。让我知道它对你有用
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat May 1 15:24:42 2021
@author: Pietro
"""
#import Bio #not needed
from Bio.SeqUtils import seq1
# Reading an excel file using Python
import xlrd #read xls library
from xlutils.copy import copy #copies xls library
## from xlwt import Workbook # writes xls library ##not necessary
loc = ("inputz.xls") # input xlx same directory of python script
wb = xlrd.open_workbook(loc) #open xls file
wb_copy = copy(wb) #copy of your xls file
sheet = wb.sheet_by_index(0) #select sheet of input file
sheet_copy = wb_copy.get_sheet(0) #select sheet of copy file
lenght_rows = sheet.nrows #number of rows in input file
print(sheet.cell_value(0, 0)) # prints sheet 0 cell 0,0 of input file
print(lenght_rows) #prints number of rows of input file
# loops over row (0,1 to 0, number of rows) of input file
#
# and use biopython to convert 3 letter into 1 letter
# writes 3 and 1 letters to copy xls file
for i in range(1,lenght_rows):
print(sheet.cell_value(i, 0), ' : ' , seq1(sheet.cell_value(i, 0)))
sheet_copy.write(i,0,sheet.cell_value(i, 0))
sheet_copy.write(i,1,seq1(sheet.cell_value(i, 0)))
wb_copy.save('output.xls') #saves xls output file
我想将 excel 中的一列三字母氨基酸转换为一个字母,并将单字母氨基酸打印到 excel 文件中的每个相应行。我知道我可以为此使用 biopython
。
我尝试过的:
import Bio
from Bio.SeqUtils import seq1
seq1("MetAlaIleValMetGlyArgTrpLysGlyAlaArgTer")
'MAIVMGRWKGAR*'
但我想让大家明白,我不能将 python 的字符串进行转换。我需要阅读 excel 中的一整列,并打印一个包含转换后的单字母序列的新列。图片供参考:
对于旧的 xls 文件,我在下面管理代码,与您的示例一起保存副本 您的文件的新列。我知道 pandas 库可以更好地管理 xlx 和更新版本。让我知道它对你有用
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat May 1 15:24:42 2021
@author: Pietro
"""
#import Bio #not needed
from Bio.SeqUtils import seq1
# Reading an excel file using Python
import xlrd #read xls library
from xlutils.copy import copy #copies xls library
## from xlwt import Workbook # writes xls library ##not necessary
loc = ("inputz.xls") # input xlx same directory of python script
wb = xlrd.open_workbook(loc) #open xls file
wb_copy = copy(wb) #copy of your xls file
sheet = wb.sheet_by_index(0) #select sheet of input file
sheet_copy = wb_copy.get_sheet(0) #select sheet of copy file
lenght_rows = sheet.nrows #number of rows in input file
print(sheet.cell_value(0, 0)) # prints sheet 0 cell 0,0 of input file
print(lenght_rows) #prints number of rows of input file
# loops over row (0,1 to 0, number of rows) of input file
#
# and use biopython to convert 3 letter into 1 letter
# writes 3 and 1 letters to copy xls file
for i in range(1,lenght_rows):
print(sheet.cell_value(i, 0), ' : ' , seq1(sheet.cell_value(i, 0)))
sheet_copy.write(i,0,sheet.cell_value(i, 0))
sheet_copy.write(i,1,seq1(sheet.cell_value(i, 0)))
wb_copy.save('output.xls') #saves xls output file