首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中用html标记序列中的突变位置

在python中用html标记序列中的突变位置
EN

Stack Overflow用户
提问于 2011-03-22 19:03:51
回答 1查看 331关注 0票数 2

我想知道在python或biopython中是否有任何方法可以让人在html中标记一个序列。

我想标记一个序列上的位置(即不同的颜色基础),根据那个位置是否是已知的snp/indel等

在数组中具有突变位置的列表(从数据库读取),例如

mutation_position = 10,20,30,40

我可以使用如下命令更改受影响的基础的大小写: seq = seq0:b + mutation_positionsb.lower() + seq(b+1):len(seq)

但是是否可以添加一些html代码,例如为每个突变位置添加标签pos。(当html标记被添加到序列中时,序列的长度会改变,因此在循环的每次迭代期间,突变位置与新标记的序列不匹配!)

我希望这是有意义的!

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-03-22 19:25:09

如果你想让你的突变变成绿色,并且你有一个突变列表(索引为0):

代码语言:javascript
复制
>>> seq = "ACGTACGT"
>>> muts = [0,1,5]
>>> mark_up = "<span style='color:green;'>%s</span>"

# use list comprehension to add mark up to muts
>>> marked_up_seq = [ mark_up % seq[x] if x in muts else seq[x] for x in range(0,len(seq)) ]

# rejoin marked up list
>>> "".join(marked_up_seq)
"<span style='color:green;'>A</span><span style='color:green;'>C</span>GTA<span style='color:green;'>C</span>GT"
>>> 

为了清楚起见,请使用数字:

代码语言:javascript
复制
>>> seq = "0123456789"
>>> muts = [1,3,4,9]
>>> marked_up_seq = [ mark_up % seq[x] if x in muts else seq[x] for x in range(0,len(seq)) ]
>>> "".join(marked_up_seq)
"0<span style='color:green;'>1</span>2<span style='color:green;'>3</span><span style='color:green;'>4</span>5678<span style='color:green;'>9</span>"

这不是最优雅的解决方案,请注意3和4周围的标签可以组合在一起。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5390170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档