送你最实用的python小程序-匹配

尔云间 一个专门做科研的团队

云生信学生物信息学 关注我们

小云学生信的时候有很多人都来嘱咐小云,学生信一定要会一门编程语言,于是小云就选择了当时很火的Python,但小云学的不是很明白,只记住了一些基本语法,会写一些小程序,而这些小程序里最常用的就是匹配小程序

比如说,小云筛选得到了18个基因,下一步要做个单因素分析,需要用到这些基因的表达量,于是小云就写了个小程序来快速查找基因。

先来看看输入文件,18gene.txt

这个文件就是放入需要匹配的基因名就好了,下面是表达矩阵.txt,包含448个样本,8937个基因。大概格式如下。

下面就开始进入小程序了

import collections #引入collections模块,这个模块是python自带的,直接引用就好了,不需要安装。
output=open("18result.txt","w")  #提前打开写入文件
dict1=collections.OrderedDict() 引入collections模块后就可以使用模块里的函数了,OrderedDict是建立一个有序的字典了,以前python本身的字典函数dict是无序的,但最新版本的python的字典是有序的了。
with open("表达矩阵.txt") as file1: #打开表达量文件
    title1=file1.readline() #读取标题
    for line in file1: #对文件每一行进行相同的处理,所以要写一个循环。
        line1=line.rstrip("
\r")
        ID=line1.split("	")[0].strip('"')  #写入基因ID
        list1=line1.split("	")[1:]
        line2="	".join(list1) #写入后面的表达量
        dict1[ID]=line2 #构建字典
output.write(title1) #写入标题
with open("18gene.txt") as file2:
    for i in file2:
        ID2=i.rstrip("
\r").split("	")[0].strip('"') #读取目标基因的ID
        output.write(ID2+"	"+dict1.get(ID2,"a")+"
") #将目标基因与查到的表达量都写入文件


output.close() #关闭文件

这就是小云写的最多的python匹配小程序了,用的时候吧文件名替换一下就行了,小伙伴们学会了吗?欢迎来和小云讨论哟。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章