我有两个文件:
我想遍历两个文件,如果fasta文件中的序列名也在“Hcolumn”或“Kcolumn”中,则将该序列添加到excel文件中相应的sequence列中,即“Hsequence”或“Ksequence”列。 我的想法是获取vh值的位置,并将其seq值添加到其右侧的单元格(下一行)。在
更新示例
fasta文件(忽略>;符号):
headerA
AAAGGCCT
headerB
ATCCTTTG
headerC
GGGGTCCCAAT
excel工作表
^{pr2}$预期结果:
Hcolumn Hsequence Kcolumn Ksequence
headerA AAAGGCCT headerB ATCCTTTG
headerC GGGGTCCCAAT headerE
headerD headerF
我的新代码:(我下面的代码只处理一列,我还不知道如何判断它是在columnA中还是在columnB中)
for line in f:
seq = f.readline()
for vh in data["Hcolumn"]:
vh = vh.rstrip()
if (title in vh):
#print(">"+title, seq)
data["HSequence"]=data["Hcolumn"].apply(lambda vh: seq)
else:
data["HSequence"]=data["Hcolumn"].apply(lambda vh: '')
break
return data.to_csv('Fullseqfile.txt', sep='\t')
序列列返回空值,有人能帮忙吗 谢谢
这是给你一些想法的快速尝试。。。在
构建一个字典
fasta_dic
,序列名作为键,序列作为值。函数
fill_seq
检查输入x
是否在您之前定义的字典中,如果找到值,它将返回序列。将函数
fill_seq
应用于H/K序列列,使用H/K序列中的值作为输入。在此之后,您可以继续使用数据帧或将其导出到xls文件。在
相关问题 更多 >
编程相关推荐