永发信息网

Python如何计算序列长度

答案:4  悬赏:50  手机版
解决时间 2021-11-16 02:16
Python如何计算序列长度
最佳答案
Python编程中可以用len函数返回序列中所包含元素的数量长度、min函数和max函数返回序列中最大和最小的元素,代码如下:
>>> numbers = [100, 34, 678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34
>>> max(2, 3)
3
>>> min(9, 3, 2, 5)
2
全部回答
import re
data = re.findall( '(w+)' ,open( 'SEQ.FASTA' ).read( ) )
print( dict( zip( data[ ::2 ] ,data[ 1::2 ] ) ) )

容错没做,必须保证文件数据是有序的

你问了个跨学科的问题,
你不告诉别人氨基酸的序列计算机制,别人怎么告诉你。
要是你把它生成了字典,你可以直接查看,命令是help(dist)和dir(dist)

根据你之前的问题,假定你的数据符合这种格式:

>SeqName1
Seq1
>SeqName2
Seq2
...

这里不要求Seq1只占一行(即允许其中有换行符出现)。假如Seq总是只占一行的话,其实就是奇数行是名字,偶数行是序列本体而已,读取不要太简单……


以下是简单的实现。考虑到文件可能很大,使用迭代来逐个读入数据。文件较小的情况可以使用列表表达式直接实现- -。

遍历文件时的流程:

如当前行以'>'开始,将其存为k(序列名称),直到发现下一个序列名称为止的所有行,填入v(序列)。再次发现'>'开始的行时,将(k, v)存入字典,并将v清空。此外的是实现细节。注释之后太啰嗦了,对哪里有疑问请追问。

fileFa = open("SEQ.FASTA", "r")

dic, k, v = {}, '', []

for i in fileFa:
    if i.startswith('>'): 
        dic[k] = v 
        k = i[1:-1] 
        v = []
    else:
        v.append(i)
dic[k] = v
dic.pop('')

print "%s sequences in total" % len(dic)
for (k, v) in dic.items():
    print("SEQUENCE: %s LENGTH:%s" % (k, sum(map(len, v))))


使用你上一问题提供的4个序列,输出如下:

4 sequences in total
SEQUENCE: qwe56_44514
LENGTH:98
SEQUENCE: qwe56_44606
LENGTH:82
SEQUENCE: qwe56_44424
LENGTH:43
SEQUENCE: qwe56_869
LENGTH:39
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
浅谈啤酒工厂如何降低市场缺陷酒质量投诉
长期喝大麦若叶有什么好处
奇瑞qq3前轮杀车左强右弱啥原因
我要做2.65的窗帘,需要做罗马杆,罗马圈打孔怎
如‍何挑选婴‍幼儿奶‍粉啊?有什
竹笛上的音节孔怎么排列的是?
忆佳旅馆(安庆太湖县)地址好找么,我有些事要
借口永远比头发多,是什么意思
我这个硬盘是希捷第几代的?高手帮我看看。我
网吧里如何实现双线自动切换?
高中数学 21题 和22题
guy 与 boy的差别(《名侦探柯南》中cool guy
B站有一首日语空耳歌是一个小孩唱的(禁锢一
赵福生开锁地址好找么,我有些事要过去,
供应q235b是什么材料,达富碳素结构钢q235b低
推荐资讯
速递易柜(胜利西街万合华庭西门速递易柜)地址
礡达迪曼主题公园地址有知道的么?有点事想过
想买脚踏车,山地车什么牌子好?有了解的不?
星际背景男主王子女主普通人,女主小说。像银
百度外卖在哪里扫二维码呀,拜托
丙寅,辛丑,戊辰,辛酉女命,2018年离婚了,
思唯特音乐培训学校地址在什么地方,想过去办
we like to ( )the show running m
薛之谦外婆哪里人
为啥京东商城配送的单反相机和镜头有很多都是
从未远去作文关于长辈
现在的胶合板普遍用什么胶水的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?