python根据序列长度筛选序列,查找序列中指定碱基序列
2016-12-25 12:02
302 查看
先把所有的fasta 序列合并为一个文件
cat *.fasta > result_all_Sequence.fasta
筛选大于90bp的
然后查找其中的GCAT
cat *.fasta > result_all_Sequence.fasta
筛选大于90bp的
然后查找其中的GCAT
from glob import glob import os os.chdir("D:\\") file_in = open("result_all_Sequences.fasta", 'r') #定义文件file_in,为打开文件result_all_Sequences.fasta fa_Con = file_in.read() #.read()是把文件的全部内容读进来 file_in.close() #.close()是把文件关闭 every_fas = fa_Con.split(">") #.split(">")是指以>为分隔符把字符串分割为列表,分割后的列表里面不会包含>,即分割后>消失 ## 写入文件 out_file = open("res.fasta", 'w') # w是可写 for i in every_fas: if i != "": start = i.index("\n") if len(i[start:]) >= 90: out_file.write(">" + i) out_file.close() # 读取刚刚筛选过的文件 file_in = open("res.fasta", 'r') #定义文件file_in,为打开文件result_all_Sequences.fasta fa_Con = file_in.read() #.read()是把文件的全部内容读进来 file_in.close() #.close()是把文件关闭 every_fas = fa_Con.split(">") #.split(">")是指以>为分隔符把字符串分割为列表,分割后的列表里面不会包含>,即分割后>消失 out_file = open("ress.fasta", 'w') ## 查找每条序列的GCAT for i in every_fas: if i != "": start = i.index("\n") #.index("\n")是指显示\n的位置或下标 #print(i[start:]) # i[start:]是从\n开始一直到最后 seq_con = i[start:] st_1 = seq_con.find("GCAT") if st_1 != -1 and st_1 != len(seq_con) - 4: out_file.write(">" + i[:start+1]+seq_con[st_1+4:]) out_file.close()
相关文章推荐
- Python实现函数,在Sqlite中根据分数段查找指定的名字
- 在RFT中根据指定的标题查找顶层窗口
- 如何根据指定路径查找文件发布
- python glob 用通配符查找指定目录中的文件 - 开源中国社区
- 002_019 Python 根据指定的搜索路径和模式寻找文件
- 002_018 Python 查找目录中的第一个文件,指定类型
- 根据GPS经纬度查找指定范围内的对象
- NSString:创建,长度,取字符,是否以某字符串开头,结尾, 查找指定字符串的范围,截取,拼接,替换,比较,替换,数值转换,大小写转换
- find:根据指定条件查找文件
- python 截取指定长度汉字
- python随机生成指定长度的密码
- 用python查找指定格式或名称的文件及修改指定文件夹名称
- Implementations of interface through Reflection 反射根据继承的信息查找指定的类
- C#如何根据字节截取字符串指定长度
- 根据字典和指定长度,按排列组合生成字符串(七个方案)
- Python 在目录中查找指定的字符串 python完成分析log的工作
- 【php数组函数序列】之in_array() - 查找数组中是否存在指定值
- 根据指定表、列和条件筛选数据的通用存储过程
- 最大子序列的查找的python 实现
- 用python查找在指定目录下特定文件夹下的指定文件