用Biopython批量比对序列(环境python)
1、前提:已经安装了python和Biopython包
具体地点击这里
2、处理原始序列
要比对的序列A为存在“C:\Users\luowanting\Desktop” 的 Seq.txt,其内容如下
>1
MQQTTASWWTY
>2
MQQAATASWWTY
>3
MQQTTASQTWTY
>4
MQQTTASRKKTY
>5
MQQTTASGGCTY
>6
MSSATTASWWTY
>7
MAASTTASWWTY
要比对的序列模板B为存在“C:\Users\luowanting\Desktop” 的 Template.txt,其内容如下
>Template
MAASGASWWTY
首先将其处理为7个可序列比对的文件
#处理将比对的序列,2个一组
import shutil
# shutil.copyfile 复制文件
path="C:/Users/luowanting/Desktop/"
f=open(path+"Seq.txt")
seq={} # seq字典数据结构,name是键,seq[name]是值
for line in f: if line.startswith('>'): #写名字name=line.replace('>','').split()[0]seq[name]=''newfile=path+name+".txt"shutil.copyfile(path+"Template.txt",newfile) #复制模板文件到newfile, 没newfile就创建,newfile里有东西就删除outfile=open(newfile, "a") # 在复制的模板后面写入,a不删除之前有的继续写outfile.write('\n'+">"+name+'\n') else: #写序列seq[name]+=line.replace('\n','').strip() outfile=open(newfile, "a")outfile.write(seq[name])outfile.close()
f.close()
新生成7个Template+A1/A2…/A7文件,如1.txt和2.txt如下图所示:
3、调用Biopython进行序列比对
提前在clustalw官网下载“clustalw2.exe”存放在D盘
单个文件的序列比对代码如下:
# 引用 Clustalw2.exe对1.txt进行序列比对
import Bio
import os
path="C:/Users/ASUS/Desktop/"
from Bio.Align.Applications import ClustalwCommandline
#提前在clustalw官网下载该程序到D盘,D:\clustalw2.exe
clustalw_exe = r"D:\clustalw2.exe"
clustalw_cline = ClustalwCommandline(clustalw_exe, infile=path+"1.txt")
assert os.path.isfile(clustalw_exe), "Clustal W executable missing"
clustalw_cline()
3、调用Biopython进行序列比对批量的序列比对
将1.txt、2.txt、3.txt、4.txt、5.txt、6.txt、7.txt放在文件夹"C:/Users/ASUS/Desktop/test” 下;
然后运行如下代码对文件夹以txt结尾的文件都进行比对。
# 写循环,引用 Clustalw2.exe进行批量序列比对
import Bio
import os
path="C:/Users/ASUS/Desktop/1"
from Bio.Align.Applications import ClustalwCommandline
clustalw_exe = r"D:\clustalw2.exe"
for file in os.listdir(path):if file.endswith('txt'): #新生成的txt文件也会在这里,可能会有无尽的循环,所以需要条件语句ifclustalw_cline = ClustalwCommandline(clustalw_exe,infile=path+"/"+file)assert os.path.isfile(clustalw_exe), "Clustal W executable missing"clustalw_cline()
要注意文件路径,容易写错。
最后将生成7个.aln文件,即序列比对文件。
4、如何对序列比对文件进行批量的可视化?
这是一个问题,我也没解决,好看又批量的可视化,谁能给我推荐一下呢?
用Biopython批量比对序列(环境python)相关推荐
- 从FASTA文件中批量提取指定序列【Python脚本】
文章目录 前言 一:读取含特定字符的序列并输出 演示 二:读到某一个字符之前的全部输出 使用方法 三:输出前n条序列 使用方法 总结 前言 背景:学测序流程的时候,做到mapping的时牛的基因组有两 ...
- 根据ID从FASTA文件中批量提取序列【Python】
根据ID从FASTA文件中批量提取序列[Python] 生信问题记录 我的需求 input: FASTA文件,含六千余个蛋白序列.命名为FA.fasta txt文件,经过interpro注释后,筛选出 ...
- biopython:2:序列组成
第一章:biopython 第二节:序列组成 SeqIO同时读取两个文件read1文件和read2文件,利用itertools from Bio import SeqIO import itertoo ...
- python序列类型-什么是序列,Python序列详解(包括序列类型和常用操作)
所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们. 为了更形象的认识序列,可以将它看做是一家旅店,那么店中的每个房间就如同序列存储数 ...
- python numpy安装教程_手把手教你搭建机器学习开发环境—Python与NumPy的超简安装教程...
手把手教你搭建机器学习开发环境Python语言是机器学习的基础,所以,想要入门机器学习,配置好Python的开发环境是第一步.本文就手把手的教你配置好基于Python的机器学习开发环境.超简单!第一步 ...
- python django开发工具_利用pyCharm编辑器创建Django项目开发环境-python开发工具第一篇...
[前置说明] 1.django环境与python对应关系: Django version Python versions 1.11 2.7, 3.4, 3.5, 3.6, 3.7 (added in ...
- 一个批量转换文件编码的python脚本
一个批量转换文件编码的python脚本 需要将工作目录下的文件进行转码,开始的编码是GBK的,需要将其转换为utf-8的.文件较多,手动转换肯定不行,用Python写个脚本来实现.找到一段代码参考: ...
- 【python】什么是序列,Python序列详解
什么是序列,Python序列详解 概述 序列索引 序列切片 序列相加 序列相乘 检查元素是否包含在序列中 序列相关的内置函数 range 快速初始化数字列表 概述 所谓序列,指的是一块可存放多个值的连 ...
- CSP 202112-1 序列查询 python
CSP 202112-1 序列查询 python 题目描述 思路 其实这道题,我觉得提示给的非常清楚了,这个提示啊,直接送分了哈哈哈,所以我们只要根据提示,利用乘法运算,计算就可以得到结果 代码 # ...
最新文章
- 硬盘温度70度正常吗_70多岁老年人原来血压160,现在130正常吗?医生为你分析实情...
- vue 编辑弹框,编辑页面,列表数据也会跟着变
- xlwt设置excel字体、对齐方式、边框、颜色、背景色
- 怎么打开linux的超级终端,电脑超级终端在哪里|电脑打开超级终端的方法
- 【C语言】关机程序的实现以及函数
- 解决在mysql官网下载慢的问题
- 增量式光电编码器原理及其结构
- 山重水复疑无路,柳暗花明又一村 。
- java千万级别数据处理(2)-千万级别FTP下载
- 计算机考研院校排名2015,2015年计算机考研学校排名
- 终结HashMap面试?我是谁?我在哪
- 数据结构PTA习题:基础实验4-2.7 修理牧场 (25分)
- Mysql 常用 时间函数
- iOS 常用第三方库及插件
- Google Earth Engine APP——UI地图加载一个高程显示标签并显示高程案例
- 瑞幸点燃导火索,兄弟公司神州租车迎大变局
- 欧盟将启动超40亿欧元投资,提升数字经济领域竞争力
- ECSHOP安装流程
- NK-RTU980烧写裸机程序
- GnuCash下载试用及当前问题mark