Fastqc 能够识别的碱基编码格式

Fastqc 能够自动识别序列的碱基编码格式,我查看一下源代码,发现是碱基编码格式一共分为

1)sanger/illumina 1.9

2) illumina 1.3

3) illumina 1.5

其核心的代码为

 public static PhredEncoding getFastQEncodingOffset(final char lowestChar) {
        if (lowestChar < ‘!‘) {
            throw new IllegalArgumentException("No known encodings with chars < 33 (Yours was " + lowestChar + ")");
        }
        if (lowestChar < ‘@‘) {
            return new PhredEncoding("Sanger / Illumina 1.9", 33);
        }
        if (lowestChar == ‘A‘) {
            return new PhredEncoding("Illumina 1.3", 64);
        }
        if (lowestChar <= ‘~‘) {
            return new PhredEncoding("Illumina 1.5", 64);
        }
        throw new IllegalArgumentException("No known encodings with chars > 126 (Yours was " + lowestChar + ")");
    }

通过找到对应的ASCII值最小的碱基质量值来判断对应的编码格式,

在ASCII码表中, ! 代表33,  @ 代表64,A 代表65,~ 代表 126

在维基百科关于fastq格式的描述中介绍了碱基编码的各种格式

在sange format 中采用 33到126 表示0到93, 所以sange 格式的偏移量为33

从illumina 1.3 开始,使用 64和126 来表示0到62, 所以illumina 1.3 格式的偏移量为64

从illumina 1.5 开始,0和1不在使用,最低的质量值为66,

从illumina 1.9 开始,又采用和sange 一样的编码格式

所以如果碱基质量的最低值如果小于64,则不可能是illumina 1.3 和illumina  1.5 的格式,因为这两种格式中最低的质量值都是64,

为什么碱基最低的等于65就是illumina 1.3 这里没看懂

小于33或者大于126都是未知的编码格式

时间: 2024-08-30 03:13:57

Fastqc 能够识别的碱基编码格式的相关文章

转 音视频封装格式、编码格式知识

常见的AVI.RMVB.MKV.ASF.WMV.MP4.3GP.FLV等文件其实只能算是一种封装标准. 一个完整的视频文件是由音频和视频2部分组成的.H264.Xvid等就是视频编码格式,MP3.AAC等就是音频编码格式. 例如:将一个Xvid视频编码文件和一个MP3音频编码文件按AVI封装标准封装以后,就得到一个AVI后缀的视频文件,这个就是我们常见的AVI视频文件了. 由于很多种视频编码文件.音频编码文件都符合AVI封装要求,则意味着即使是AVI后缀,也可能里面的具体编码格式不同.因此出现在

【Eclipse提高开发速度-插件篇】Checkstyle的使用

1.CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发者遵守某些编码规范的工具. CheckStyle提供了大部分功能都是对于代码规范的检查 CheckStyle检验的主要内容 ·Javadoc凝视 ·命名约定 ·标题 ·Import语句 ·体积大小 ·空白 ·修饰符 ·块 ·代码问题 ·类设计 ·混合检查(包活一些实用的比方非必须的System.out和printstackTrace) 一.CheckStyle 安装方法 安装的的时候能够通过 Help>Ecl

CheckStyle的安装及使用

安装过程 点击这里下载CheckStyle的Eclipse插件(如不能跳转,请复制链接:http://sourceforge.net/projects/eclipse-cs/) 将解压后的 plugins 和 features 目录下的文件分别复制到 Eclipse 的对应目录下. 重启Eclipse,可在 Window 下的 preference 中验证是否添加,成功则如图: 使用: 在Eclipse的指定工程目录上右击→Checkstyle→Check Code with Checkstyl

HTTP 协议简介

HTTP 协议简介 博客分类: acl开发--HTTP协议篇 网络协议http协议 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下: 其中,对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下: 二.HTTP协议 2.

linux架构学习第二十五天HTTP协议详解

内容: 1.http协议概述 2.http协议特点 3.http的工作模式(过程) 4.http请求报文.响应报文格式.常见状态码解析 5.web资源概述(静态资源.动态资源) 1.http协议概述 http协议工作在TCP/IP模型的应用层,其定义web服务间通信的约定通信方式,HTTP基于tcp传送数据,默认是80端口(服务器端) 几个名词: http:hyper text transfer protocol,超文本传输协议,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(

Eclipse插件CheckStyle的安装和使用

转载自:http://www.cnblogs.com/lanxuezaipiao/p/3202169.html CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代码规范检查过程,从而使得开发人员从这项重要但是枯燥的任务中解脱出来. CheckStyle检验的主要内容 ·Javadoc注释 ·命名约定 ·标题 ·Import语句 ·体积大小 ·空白 ·修饰符 ·块 ·代码问题 ·类设计 ·混合检查(包活一些有用的比如非必须

第01篇 提高代码质量插件

我使用插件对我的代码进行分析,我这里使用的checkStyle的插件,还有很多其他的插件,用了一个,其他都差不多,还有一个PMD的插件, 一直重来没有注重代码规范,所以这里我开始注意 第一步:安装CheckStyle插件 ? ? ? ? 出现如下窗口之后,选择ADD ? ? ? ? 之后,Namd的名称一般都是插件名称,路径为下载路径 直接update, 添加更新源地址:http://eclipse-cs.sf.net/update/, 也可以从http://sourceforge.net/pr

android checkstyle结果分析说明

1.Missing a Javadoc comment:缺少JavaDoc注释 2.First sentence should end with a period:你的注释的第一行文字结束应该加上一个"." 3.Expected @throws tag for 'Exception':在注释中希望有@throws的说明,在方法前得注释中添加这样一行:* @throws Exception if has error(异常说明) 4.Parameter docType should be

checkStyle结果分析

checkStyle结果分析   序号      输出内容意义 1Type is missing a javadoc commentClass  缺少类型说明 2"{" should be on the previous line"{" 应该位于前一行.解决方法:把"{"放到上一行去 3Methos is missing a javadoc comment 方法前面缺少javadoc注释.解决方法:添加javadoc注释 类似这样: /** *