如何为每个字符赋值并使用python或awk查找平均值?
发布时间:2020-12-20 12:20:33 所属栏目:Python 来源:网络整理
导读:我有一个文本文件,其中包含蛋白质序列(200个序列),如下所示. ptn1AAGHMptn2MGLKKRR 我需要为seqence的每个字符提供以下值,并且必须找到每个序列的平均值. A= 0.2,G= 0.5,L=0.14,M= 0.70,R= 0.55,C=0.48,H= 1.00,K=0.4 期望的输出 ptn1 - 0.52ptn2 - 0.462 我
我有一个文本文件,其中包含蛋白质序列(200个序列),如下所示.
>ptn1 AAGHM >ptn2 MGLKKRR 我需要为seqence的每个字符提供以下值,并且必须找到每个序列的平均值. A= 0.2,G= 0.5,L=0.14,M= 0.70,R= 0.55,C=0.48,H= 1.00,K=0.4 期望的输出 ptn1 - 0.52 ptn2 - 0.462 我怎么能用awk或python做到这一点? 您的建议将不胜感激 解决方法
FS =“”需要gawk
http://www.gnu.org/software/gawk/manual/html_node/Single-Character-Fields.html#Single-Character-Fields 用法: awk -f foo.awk foo.txt BEGIN { FS="" k["A"]=0.2; k["G"]=0.5; k["L"]=0.14; k["M"]=0.70 k["R"]=0.55; k["C"]=0.48; k["H"]=1.00; k["K"]=0.4 } /^>/{ $1="" name=$0 next } { s=0 for (i=1; i<=NF; i++) { s+=k[$(i)] } printf "%s - %.3fn",name,s/NF } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |