此篇文章主要是给大家介绍了python合拼RepeatMasker预测分析效果中染色体的overlap区域完成实例分析,感兴趣的小伙伴可以参考参考一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早工作上得到晋升
序言
RepeatMasker是一种根据已经有数据库系统预测分析重复序列的app,能够挑选DNA序列里的散在重复序列和高繁杂编码序列,是重复序列注解的主要手机软件。
难题
大家想跟RepeatMasker预测效果文档开展重复序列的合拼,其实就是清除性染色体间的overlap区域并将遗传基因间隔低于50个bc的也是一样视作overlap,大家该如何用python解决并形成一个新的预测分析效果?
构思
首先要对文档开展预备处理获取出需要解决的列,'//'可以忽略不计
对同样性染色体编码序列依照降序开展归并排序
各自取相对应性染色体依照滑动窗口思路开展双指针核对,留意gap=50
1.预处理
我们这里只需要结果文件的前三列,可以使用awk命令获取
awk'{for(i=1;i<=3;i++) printf("%s",$i); printf("n")}'result.txt>pretreatment.txt #result.txt为结果文件,pretreatment.txt为预处理结果文件
2.将pretreatment.txt作为输入文件,
with open('pretreatment.txt','r')as f: for i in f.readlines(): if i.strip()=='//': continue c=i.strip().split('t') b.append(c[0]) a.append((c[0],int(c[1]),int(c[2]))) print("全部染色体数量:"+str(len(a)))
3.去重+归并排序
c=[i for i in b_set if b.count(i)==1] for i in a: if i[0]not in c: continue a.remove(i) result.append((i[0],int(i[1]),int(i[2]))) print("去重后染色体数量:"+str(len(a))) a.sort(key=lambda x:(x[0],x[1],x[2])) #按照第一列,第二列,第三列分别排降升序
4.开始比对,gap=50
q='' start=0 end=0 tem1=[] tem2=[] gap=50 for i in a: if i[0]!=q: if tem1: if tem1 not in tem2: tem2.append(tem1) tem1=[] q=I[0] start=int(i[1]) end=int(i[2]) continue if int(i[1])<end or int(i[1])-end<gap: if int(i[2])>end: end=int(i[2]) continue else: continue tem1.append([q,start,end]) start=int(i[1]) end=int(i[2])
5.将new_result.txt作为输出文件,生成结果
with open('new_result.txt','w')as f: for i in tem2: for o in I: print(o[0],o[1],o[2],file=f) for i in result: print(i[0],i[1],i[2],file=f)
6.完整代码
a=[] b=[] with open('pretreatment.txt','r')as f: for i in f.readlines(): if i.strip()=='//': continue c=i.strip().split('t') b.append(c[0]) a.append((c[0],int(c[1]),int(c[2]))) print("全部染色体数量:"+str(len(a))) b_set=set(b) result=[] c=[i for i in b_set if b.count(i)==1] for i in a: if i[0]not in c: continue a.remove(i) result.append((i[0],int(i[1]),int(i[2]))) print("去重后染色体数量:"+str(len(a))) a.sort(key=lambda x:(x[0],x[1],x[2])) q='' start=0 end=0 tem1=[] tem2=[] gap=50 for i in a: if i[0]!=q: if tem1: if tem1 not in tem2: tem2.append(tem1) tem1=[] q=I[0] start=int(i[1]) end=int(i[2]) continue if int(i[1])<end or int(i[1])-end<gap: if int(i[2])>end: end=int(i[2]) continue else: continue tem1.append([q,start,end]) start=int(i[1]) end=int(i[2]) with open('new_result.txt','w')as f: for i in tem2: for o in I: print(o[0],o[1],o[2],file=f) for i in result: print(i[0],i[1],i[2],file=f)
以上就是小编给大家总结的全部知识了,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128698.html
摘要:项目代码下载地址基于共现提取釜山行人物关系更多经典项目全部项目 项目简介:本项目将带大家使用 Python 提取《釜山行》人物关系,对于给定的剧本文本,通过分析文本中人物的共现关系,提取整个文本表示的人物关系,并将人物关系可视化表示。本项目教程由Forec发布在实验楼。 一、项目介绍 1. 内容简介 《釜山行》是一部丧尸灾难片,其人物少、关系简单,非常适合我们学习文本处理。这个项目将介...
摘要:折交叉验证集,每折包含约张训练图像和张测试图像,正样本边界负样本其他负样本,训练集中共图像块。浸润性导管癌是乳腺癌中最长出现的亚种。 Deep learning for digital pathology image analysis: A comprehensive tutorial with selected use cases Deep learning for digital ...
摘要:在低版本的里,需染色图标如果是在有滚动条的区域内,会染色不了。这时需要在滚动区域加属性总结如果有需要染色图标,做成字体图标好些。 之前一直以为用background引入的图标无法染色(非字体图标),现在才知道有黑科技可以用,就是利用drop-shadow。 代码示例 DOCTYPE html> .face1{ displ...
摘要:从数学博士到阿里云工程师,夏分一直学以致用。入职后的第个月,夏分接手了第一个项目,用工业大脑帮一家风电企业提前预测风电机组故障。一个万千瓦的风电场,平均每年维护费用高达万元,还会以平均的速率逐年递增。 从数学博士到阿里云工程师,夏分一直学以致用。加入阿里云接手的第一个ET工业大脑项目,因为数据传输问题丢失大量数据,导致机器误判拉响警报,这让他意识到自己不能只坐在电脑前做码农,也要下到车...
摘要:在一个数据分析任务和任务混合的环境中,大数据分析任务也会消耗很多网络带宽如操作,网络延迟会更加严重。本地更新更新更新目前,我们已经复现中的实验结果,实现了多机并行的线性加速。 王佐,天数润科深度学习平台负责人,曾担任 Intel亚太研发中心Team Leader,万达人工智能研究院资深研究员,长期从事分布式计算系统研究,在大规模分布式机器学习系统架构、机器学习算法设计和应用方面有深厚积累。在...
阅读 909·2023-01-14 11:38
阅读 876·2023-01-14 11:04
阅读 739·2023-01-14 10:48
阅读 1979·2023-01-14 10:34
阅读 941·2023-01-14 10:24
阅读 818·2023-01-14 10:18
阅读 498·2023-01-14 10:09
阅读 571·2023-01-14 10:02