Linux环境下进行本地Blast比对——操作流程
今天分享一篇学习笔记,主要包含blast序列比对和数据提取方法。
首先,需要准备RNA数据和蛋白质数据,本次利用蛋白质数据建立索引库,然后将RNA比对到蛋白质序列。
RNA数据
创建一个目录,导入mRNA序列数据,通常是一个fasta后缀文件。
在工作目录下创建alignment文件夹
将mRNA序列数据文件wheat-test.fasta拷贝到/alignment中
蛋白质数据
新建一个文件夹存放蛋白质序列数据和索引文件(蛋白质序列后缀是fa)
在alignment文件夹内创建database文件夹
将Arabidopsis_protein.fa.gz拷贝到alignment/database中,并解压获得蛋白质序列文件Arabidopsis_protein.fa
建立索引
建立索引需要输入文件为蛋白质序列数据,类型可以选蛋白或者核酸,输出索引需要制定一个名称,最终生成比对索引数据库。
运行makeblastdb
软件,对Arabidopsis_protein.fa建立索引文件,以下是该软件的提示信息。
$ makeblastdb -helpUSAGE makeblastdb [-h] [-help] [-in input_file] [-input_type type] -dbtype molecule_type [-title database_title] [-parse_seqids] [-hash_index] [-mask_data mask_data_files] [-mask_id mask_algo_ids] [-mask_desc mask_algo_descriptions] [-gi_mask] [-gi_mask_name gi_based_mask_names] [-out database_name] [-max_file_sz number_of_bytes] [-logfile File_Name] [-taxid TaxID] [-taxid_map TaxIDMapFile] [-version]-dbtype <String, `nucl', `prot'>
-in:输入文件(xxx.fa)
-dbtype:选择类型(prot\nucl)
out:输出索引文件名(index)
makeblastdb -in input_file -dbtype prot/nucl -out output_prefile
建立索引完成后,可以在当前目录下发现几个新生成的索引文件。
序列比对
运行blast子程序
blastn:将给定的核酸序列与核酸数据库中的序列进行比对
blastp:使用蛋白质序列与蛋白质数据库中的序列进行比对
blastx:将给定的核酸序列按照六种阅读框架将其翻译成蛋白质与蛋白质数据库中的序列进行比对
tblastn:将给定的氨基酸序列与核酸数据库中的序列(双链)按不同的阅读框进行比对
tblastx:将DNA被检索的序列和核酸序列数据库中的序列按不同的阅读框全部翻译成蛋白质序列,然后进行蛋白质序列比对
blastn -query input_file -db database -evalue 1e-5 -out wheattest_Aradidopsis.out
实际操作示例代码:
blastx -query ./wheat-test.fasta -db ./database/index -evalue 1e-5 -out wheattest_Aradidopsis.out
query:待查询的序列,可以理解为需要进行比对的序列。
db:本地的数据库,可以理解为由已知信息构建的索引模板,用于对待查询序列进行比对。
evalue:比对的阈值,即判断比对准确性的标准。
最终结果
会自动生产一个包含比对结果的文件,利用less -S
打开后可以看到一系列比对信息。
提取满足条件的指定数据
利用awk命令
awk '$6 > 5 && sqrt($7*$7) > 1 && $10 < 0.01 {print $1 "\t" $2 "\t" $3 "\t" $4 "\t" $5 "\t" $6 "\t" $7 "\t" $10}' ./ matrix.DE_results.txt > name.list
利用cat命令
cat matrix.DE_results.txt | awk '$6 > 5 && sqrt($7*$7) > 1 && $10 < 0.01 {print $1 "\t" $2 "\t" $3 "\t" $4 "\t" $5 "\t" $6 "\t" $7 "\t" $10}' > name.list
上面两条命令均表示对matrix.DE_results.txt
文件进行筛选,生成新文件name.list,条件解释:
第6列大于5
第7列绝对值大于1,第10列小于0.01
对满足上面条件的数据输出第1、2、3、4、5、6、7、10列,保存为新文件。
本文由 mdnice 多平台发布
Linux环境下进行本地Blast比对——操作流程相关推荐
- Linux离线安装NTP服务,内网环境下配置本地时间同步
参考文章:Linux离线安装NTP服务,无外网环境下配置本地时间同步 | 航行学园 1.常用命令 rpm -qa | grep ntp #查询已安装的ntp版本信息等 rpm -e --nodeps ...
- Linux环境下的网络编程
本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代 码实例.要理解本文所谈的技术问题需要读者 ...
- [原]对Linux环境下任务调度一点认识
我一直以来有一个误解,那就是在终端运行某个程序时,按下Ctrl + D时我误以为就是杀死了这个进程,今天才知道原来不是.比如我利用libevent在Linux环境下写了一个网络监听程序,当启动程序之后 ...
- openfire在windows环境和linux环境下的配置
一般很多时候开发人员会用openfire作为消息推送或者即时通讯的服务器,下面主要介绍一下openfire在windows环境和linux环境下的配置. 一.openfire在windows环境下的配 ...
- linux彻底卸载multipath,深度分析LINUX环境下如何配置multipath
首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...
- win7 php 上传文件,在LNMP原来的基础上,win7环境下如何上传PHP文件到Linux环境下...
首先,下载一个WINSCP客户端 连接主机后,上传文件到自己的保存目录 接着进入数据库添加我们的数据库 mysql -uroot -p //这个是进入mysql的命令,但是要是你没有加 ln -s ...
- 自动打包linux,Linux环境下Springboot自动打包发布功能
实现核心功能:完成Linux环境下Springboot自动打包发布功能 详细功能: 自动更新Svn最新代码 删除原有打包文件 自动打包 将打包之后的项目文件复制到其他服务器 关闭本地项目进程 重新启动 ...
- linux gfs文件系统,Linux环境下使用GFS文件系统
GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备.由于GFS是日志文件系统,所以,如果将其应用到单独的一台计算机上,即完全等同于 本地日志文件系统,享受日志文件系统带来的 ...
- Linux环境下基于策略的路由
Linux环境下基于策略的路由 原文作者:Matthew G. Marsh 原文出处:[url]http://www.sysadminmag.com/linux/articles/v09/i01/a3 ...
- Windows下的SQL Server备份文件BAK在Linux环境下还原遇到的问题
前段时间在Linux环境下安装了最新的SQL Server2017,参照微软官方文档配置完成以后,将本地的BAK备份文件发送到了Linux下的一个文件夹,我在自己电脑上的SQL Server 2012 ...
最新文章
- Linux篇---ftp服务器的搭建
- 姿态估计算法汇总|基于RGB、RGB-D以及点云数据
- 使用bat文件快速解决adb找不到设备的问题
- 小米开发出100W手机快充技术:实测逆天
- lucene计分公式详解
- Pat乙级1011题:A+B和C
- 【BZOJ - 3436】小K的农场(差分约束)
- SpringMVC 文件上传及下载
- 剑指Offer之数组中只出现一次的数字
- PHP修复输入验证代码中的漏洞
- stored_outline优化稳定执行计划
- 使用GDAL打开裸数据(RAW)
- Win10系统下面的TR1008解决方案
- FisherYates费雪耶兹随机置乱算法
- Rasa3 domain官方文档翻译
- VTN_Virtual Tenant Network——虚拟租赁网络
- 官方出品!手把手教你在华为HMS平台开发App
- 2021-12-17
- tpwr886n路由器设置虚拟服务器,tl-wr886n路由器设置步骤图解 | 192路由网
- 3分钟搞明白信用评分卡模型模型验证
热门文章
- 美团网官网最新底部导航页面制作及CSS样式设计
- 月薪2300深圳流水线女工,逆袭为年薪80万谷歌工程师,又因疫情失业:我绝不轻易认输...
- 使用Python爬取招聘数据、数据处理与可视化
- 【机器学习】琴生不等式(Jensen's inequality)
- 2020中南大学计算机学院考研初试成绩,中南大学2020考研复试分数线已公布
- 梅特勒托利多xk3124电子秤说明书_托利多电子秤设置说明
- 贤内助——ICMP协议
- 京东话费充值系统架构演讲读后感
- 马尔可夫毯(Markov Blanket)
- Application provided invalid, non monotonically increasing dts to muxer in stream