SAM是Sequence Alignment/Map 的缩写。像bwa等软件序列比对结果都会输出这样的文件。samtools网站上有专门的文档介绍SAM文件。具体地址:http://samtools.sourceforge.net/SAM1.pdf
很多人困惑SAM文件中的第二列FLAG值是什么意思。根据文档介绍我们可以计算,但是为了方便大家,下面给大家提供一个脚本工具,大家直接输入flag值就可以知道它代表的含义了。
该脚本的使用方法如下截图所示:

脚本工具的使用方法:
将下面的代码保存在记事本里面,另存为一个html文件,如文件名:FlagExplain.html(拓展名一定要为.html)。双击既可以在浏览器里面打开了。
01 |
<html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"> |
02 |
<title>Explain SAM Flags</title> |
03 |
<script type="text/javascript"> |
04 |
lstFlags = [["read paired", 0x1], |
05 |
["read mapped in proper pair", 0x2], |
06 |
["read unmapped", 0x4], |
07 |
["mate unmapped", 0x8], |
08 |
["read reverse strand", 0x10], |
09 |
["mate reverse strand", 0x20], |
10 |
["first in pair", 0x40], |
11 |
["second in pair", 0x80], |
12 |
["not primary alignment", 0x100], |
13 |
["read fails platform/vendor quality checks", 0x200], |
14 |
["read is PCR or optical duplicate", 0x400]]; |
16 |
function explainFlags() { |
17 |
var flagValue = parseInt(document.getElementById('tb').value); //returns 0 or NaN if can't parse |
19 |
for(var i = 0; i < lstFlags.length; i++) { |
20 |
var checkbox = document.getElementById('cb' + i) |
21 |
if(lstFlags[i][1] & flagValue) { |
22 |
summary += " " + lstFlags[i][0] + "<br>"; |
23 |
checkbox.checked = true; |
25 |
checkbox.checked = false; |
29 |
document.getElementById('summary').innerHTML = summary; |
32 |
function checkboxClicked() { |
33 |
//compute the new flag value |
35 |
for(var i = 0; i < lstFlags.length; i++) { |
36 |
var checkBox = document.getElementById('cb' + i); |
37 |
if(checkBox.checked) { |
38 |
newFlagValue |= lstFlags[i][1]; |
41 |
var textbox = document.getElementById('tb'); |
42 |
textbox.value = newFlagValue; |
47 |
<noscript>This page requires JavaScript. Please enable it in your browser settings.</noscript> |
51 |
This utility explains SAM flags in plain English. <br> |
54 |
<form onsubmit="explainFlags(); return false;"> |
56 |
<input id="tb" type="text" size="10"> |
57 |
<input type="submit" value="Explain"><br> |
60 |
<script type="text/javascript"> |
61 |
for(var i = 0; i < lstFlags.length; i++) { |
62 |
document.write("<input type=checkbox name=cb" + i + " id='cb" + i + "'onclick='checkboxClicked();'> " +lstFlags[i][0] + "</input><br>"); |
64 |
</script><input type="checkbox" name="cb0" id="cb0"onclick="checkboxClicked();"> read paired<br><input type="checkbox"name="cb1" id="cb1" onclick="checkboxClicked();"> read mapped in proper pair<br><input type="checkbox" name="cb2" id="cb2"onclick="checkboxClicked();"> read unmapped<br><input type="checkbox"name="cb3" id="cb3" onclick="checkboxClicked();"> mate unmapped<br><input type="checkbox" name="cb4" id="cb4" onclick="checkboxClicked();"> read reverse strand<br><input type="checkbox" name="cb5" id="cb5"onclick="checkboxClicked();"> mate reverse strand<br><inputtype="checkbox" name="cb6" id="cb6" onclick="checkboxClicked();"> first in pair<br><input type="checkbox" name="cb7" id="cb7"onclick="checkboxClicked();"> second in pair<br><input type="checkbox"name="cb8" id="cb8" onclick="checkboxClicked();"> not primary alignment<br><input type="checkbox" name="cb9" id="cb9"onclick="checkboxClicked();"> read fails platform/vendor quality checks<br><input type="checkbox" name="cb10" id="cb10"onclick="checkboxClicked();"> read is PCR or optical duplicate<br> |
68 |
</div></form></body></html> |
- 31、SAM文件中flag含义解释工具--转载
转载:http://www.cnblogs.com/nkwy2012/p/6362996.html SAM是Sequence Alignment/Map 的缩写.像bwa等软件序列比对结果都会输出这 ...
- 推荐一个SAM文件或者bam文件中flag含义解释工具
SAM是Sequence Alignment/Map 的缩写.像bwa等软件序列比对结果都会输出这样的文件.samtools网站上有专门的文档介绍SAM文件.具体地址:http://samtools. ...
- 怎样将多个CSS文件导入一个CSS文件中
问题: 在HTML中引入css的其中的两个方法: 导入式和链接式的目的都是将一个独立的css文件引入一个文件中,二者的区别不大,事实上,二者最大的区别在于链接式使用html的标记引入外部css文 ...
- 在VS中让一个JS文件智能提示另一个JS文件中的成员
“在VS中如何让一个JS文件智能提示另一个JS文件中的成员” 有时候会有这种情况:当我的一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1. ...
- 多个.txt文件合并到一个.txt文件中
如果想要将多个.txt文件合并到一个.txt文件中,可以先将所有.txt文件放到一个文件夹中,然后使用.bat文件完成任务. 例如,在一个文件夹下有1.txt, 2.txt, 3.txt三个文件,想把 ...
- java:利用java的输入/输出流将一个文件的每一行+行号复制到一个新文件中去
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- 如何调用另一个python文件中的代码
模块的搜索路径 模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自己的模块或包的路径,可以动态的加入(sys.path.apend)即可.下面是sys.path在Wi ...
- shell如何传递变量到另一个脚本文件中
http://www.jbxue.com/article/shell/20707.html本文介绍了shell脚本传递变量到另一个脚本文件中的方法,在脚本中调用另一脚本,即创建了一个子进程,感兴趣的朋 ...
- 把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中
把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中步骤如下: 把需要合并的文件放到同一个文件夹 在该文件夹中新建一个excel文件 打开新建的excel问价,把鼠标放到sh ...
随机推荐
- chrome正受到自动测试软件的控制-----web自动化测试如何去掉这段提示
本文为原创文章 在web自动化测试的时候,特别是在用chrome浏览器的时候经常会出现 “chrome正受到自动测试软件的控制” 这样的一句提示, 这是因为安装chrome浏览器的时候没有设置允许调 ...
- 浅谈Android View事件分发机制
引言 前面的文章介绍了View的基础知识和View的滑动,今天我们来介绍View的另一个核心知识,View的事件分发机制. 点击事件的传递规则 所谓的点击事件的分发机制,其实就是对MotionEven ...
- inline详解
1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放置程序的局部数据(也就是 ...
- VUE路由去除#问题
最近自己在写一个vue的小型管理系统,在浏览器中看到的路由都是带有#的,很是不好看.为了解决此问题,大家一般都会想到:mode: 'history'.可是在开发阶段没有问题,但是一旦build打包后, ...
- dedecms开启多站点
dedecms开启多站点后,填写域名才能正确的地址 if ( ! function_exists('GetFileUrl')) { function GetFileUrl($aid,$typeid,$ ...
- discuz $_G变量
class.core.php中 global $_G; $_G = array( 'uid' => 0, 'username' => ...
- Webform和MVC,为什么MVC更好一些?(转)
转自http://www.admin10000.com/document/5277.html 前言 如果你看了最近微软的议程,你会发现他们现在的焦点除了MVC,还是MVC.问题在于为什么微软如此热衷于 ...
- php PDO遇到的坑
<?php $dbConn = new PDO( "mysql:host=localhost;dbname=adtuu",'root','root', array( // 强 ...
- hihocoder博弈游戏·Nim游戏·三
在这一次游戏中Alice和Bob决定在原来的Nim游戏上增加一条规则:每一次行动时,不仅可以选择一堆取走任意数量的石子(至少取1颗,至多取出这一堆剩下的所有石子),还可以选择将一堆石子分成两堆石子,但 ...
- 搭建Linux-java web运行环境之一:安装jdk+tomcat
环境 OS:Red Hat Enterprise Linux Server release 7.3 (Maipo) JDK:jdk-7u80-linux-x64.tar.gz Tomcat:apach ...