美文网首页生物信息学与算法
生信编程实战第10题(python)

生信编程实战第10题(python)

作者: 天秤座的机器狗 | 来源:发表于2018-08-25 19:21 被阅读13次

题目来自生信技能树论坛

image.png

先下载tss文件

wget http://www.biotrainee.com/jmzeng/tmp/hg38.tss
chr7        148697841        148698941
chr7        148698942        148699029
chr7        148699911        148701053
chr7        148701109        148701307
chr7        148701354        148702694
chr7        148703100        148703520
chr7        148703831        148704175
chr7        148704484        148704734
chr7        148704857        148705937
chr7        148706271        148706671

然后针对这些位点操作

脚本如下:

import sys
args=sys.argv
filename1=args[1]
filename2=args[2]
aDict={}

for line in open (filename1):
   lineL=line.strip().split("\t")
   gene_ID=lineL[0]
   chr_name=lineL[1]
   start=lineL[2]
   end=lineL[3]
   if chr_name not in aDict:
     aDict[chr_name]={}
   aDict[chr_name][start,end]=gene_ID


for line in open (filename2):
   lineList=line.strip().split("\t")
   Chr_name=lineList[0]
   Start=int(lineList[1])
   End=int(lineList[2])
   for k1,v1 in aDict[Chr_name].items():
     if int(k1[0])<=Start <= int(k1[1]) or int(k1[0])<=End <= int(k1[1]) or Start <=int(k1[0])<=End or Start <=int(k1[1])<=End :
        print(Chr_name,Start,End,v1)

根据不同的情景,对倒数第二行的if条件进行改变即可

python3 exercise.py hg38.tss test.txt

chr7 148697841 148698941 NM_003592
chr7 148698942 148699029 NM_003592
chr7 148699911 148701053 NM_003592

10个中只找到这3个

相关文章

  • 生信编程实战第10题(python)

    题目来自生信技能树论坛 先下载tss文件 然后针对这些位点操作 脚本如下: 根据不同的情景,对倒数第二行的if条件...

  • 生信编程实战第6题(python)

    题目来自生信技能树论坛 下载好的文件大概格式如下 简单的了解一下都有什么 A开头的 B开头的 C开头的(这一行是p...

  • 生信编程实战第4题(python)

    题目来自生信技能树论坛 从这题开始,我决定只用python做python很强大,熟练了可以做其他语言能做的大部分事...

  • 生信编程实战第1题(python)

    题目来自生信技能树统计人类外显子长度坐标的文件可如下下载: 打开文件如下 于是写了如下脚本 然后运行 正则表达式再...

  • 生信编程实战第11题(python)

    题目来自生信技能树论坛 题目不难,先给出代码 这里主要说几个问题: python中写入文件可以用的模式如下:f=o...

  • 生信编程实战第9题(python)

    题目来自生信技能树论坛 这个题目不难,但是我想说明的是大的数据集和小的数据集的脚本很多时候是不一样的 比如这道题,...

  • 生信编程实战第8题(python)

    题目来自生信技能树论坛 这道题很简单,但是应该更重要的是学会用R的方法,我后面会用R把这个系列的题目重做一遍,这里...

  • 生信编程实战第5题(python)

    题目来自生信技能树论坛 先从hg38的gtf中提取"ANXA1"基因 在题目之前先分析要处理的数据的结构是什么样的...

  • 生信编程实战第3题(python)

    题目来自生信技能树论坛 做题之前我们先看看文件的内容是什么 gtf有9列1.染色体名 2.注释信息的来源,比如”G...

  • 生信编程实战第7题(python)

    题目来自生信技能树论坛 做这个题目之间必须要了解一些背景知识 1.超几何分布超几何分布是统计学上一种离散概率分布。...

网友评论

    本文标题:生信编程实战第10题(python)

    本文链接:https://www.haomeiwen.com/subject/jmkgiftx.html