Bioperl 解析blast的输出结果
用bioperl 解析blast的默认输出结果, 整理成-m8格式的输出
#!/usr/bin/perl use Bio::SearchIO;
my ($blast) = @ARGV;
my $searchio = new Bio::SearchIO(-format => "blast",
-file => "test.bls"); while (my $result = $searchio->next_result) {
while (my $hit = $result->next_hit) {
while (my $hsp = $hit->next_hsp) {
my $query_name = $result->query_name;
my $query_length = $result->query_length;
my $align = $hsp->homology_string;
$align =~ s/ //g;
my $hit_name = $hit->name;
my $identity = sprintf "%0.2f", $hsp->frac_identical * ;
my $mismatch =()= $hsp->seq_inds('hit','nomatch');
my $gaps = $hsp->gaps;
my $align_length = $hsp->hsp_length;
my $query_start = $hsp->start('query');
my $query_end = $hsp->end('query');
my $hit_start = $hsp->start('hit');
my $hit_end = $hsp->end('hit');
my $evalue = $hsp->evalue;
my $bit_score = $hsp->bits;
print qq{$query_name\t$hit_name\t$identity\t$align_length\t$mismatch\t$gaps\t$query_start\t$query_end\t$hit_start\t$hit_end\t$evalue\t$bit_score\n};
}
}
}
Bioperl 解析blast的输出结果的更多相关文章
- blast | diamond 输出结果选择和解析 | 比对
之前的文章:构建NCBI本地BLAST数据库 (NR NT等) | blastx/diamond使用方法 | blast构建索引 | makeblastdb 本地运行blast时,需要指定out fo ...
- 解决python解析文件时输出乱码
首先获取到json模块,encoding指定文件编码utf-8,errors报错时忽略错误,print()输出结果看看是否有问题. # -*- coding: utf-8 -*- import jso ...
- c# 错误 两个输出文件名解析为同一个输出路径
检查同项目的其他文件夹下面已有其他同名窗体,影响设计器
- bioperl 格式化genebank的输出
代码如下: use Bio::SeqIO; use Bio::DB::GenBank; use Bio::DB::Query::GenBank; my $db_obj = Bio::DB::GenBa ...
- XXE任意文件读取(当xml解析内容有输出时)
利用XXE漏洞读取文件 参考:https://www.jianshu.com/p/4fc721398e97 首先找到登录源码如下: 由题目可以利用XXE漏洞读取文件 先登录用Burp Suite抓包: ...
- Blast使用详解
Blast,全称Basic Local Alignment Search Tool,即"基于局部比对算法的搜索工具",由Altschul等人于1990年发布.Blast能够实现比较 ...
- JAVA基础学习之XMLCDATA区、XML处理指令、XML约束概述、JavaBean、XML解析(8)
1.CDATA区在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理.遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直 ...
- atitit.java解析sql语言解析器解释器的实现
atitit.java解析sql语言解析器解释器的实现 1. 解析sql的本质:实现一个4gl dsl编程语言的编译器 1 2. 解析sql的主要的流程,词法分析,而后进行语法分析,语义分析,构建sq ...
- 使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创建json,从json中获取数据 #include <stdio. ...
随机推荐
- asp.net读取用户控件,自定义加载用户控件
1.自定义加载用户控件 ceshi.aspx页面 <html> <body> <div id="divControls" runat="se ...
- 使用 "java -jar"命令启动jar包时报不支持的jdk版本异常
在使用java -jar 命令启动一个jar包的时候,提示版本不支持: [root@hadoop01 eureka-server-master]# java -jar xuebusi-eureka-s ...
- audio音乐播放
1.audio标签 <audio @play="ready" @error="error" ref="audio" :src=&quo ...
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
原文出处:https://blog.csdn.net/yort2016/article/details/68065728 冒泡排序 主要是拿一个数与列表中所有的数进行比对,若比此数大(或者小),就交换 ...
- java 多线程 23 : Timer
前言 定时/计划功能在Java应用的各个领域都使用得非常多,比方说Web层面,可能一个项目要定时采集话单.定时更新某些缓存.定时清理一批不活跃用户等等.定时计划任务功能在Java中主要使用的就是Tim ...
- DCHP是什么意思
不是DCHP,应该是DHCP. DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部 ...
- git pull出现There is no tracking information for the current branch
使用git pull 或者 git push 的时候报错 gitThere is no tracking information for the current branch. Please spec ...
- 元组(Tuple)
元组(Tuple) 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组. 元组是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组 ...
- JAXP操作xml
DOM对象详解1.基本的DOM对象 DOM的基本对象有5个:Document,Node,NodeList,Element和Attr.下面就这些对象的功能和实现的方法作一个大致的介绍. Document ...
- MVC教程七:扩展HtmlHelper方法
在上一篇文章的最后,列出了一些常见的HtmlHelper的方法,这些都是ASP.NET MVC已经定义好的,如果我们想自己定义一个HtmlHelper方法可以吗?答案是肯定的,那么如何自定义一个Htm ...