关于RNA-Seq数据去接头(Adapter)这事需要讲一讲

首先来了解一下三个概念: 1、adapter是一段短的序列已知的核酸链,用于链接序列未知的目标测序片段。 2、barcode,也称为index,是一段很短的寡居核酸链,用于在多个样品混合测序时,标记不同的样品。 3、insert是用于测序的目标片段,因为是包括在两个adapter之间,所以被称为“插入”片段。

首先来了解一下三个概念:

1、adapter是一段短的序列已知的核酸链,用于链接序列未知的目标测序片段。

2、barcode,也称为index,是一段很短的寡居核酸链,用于在多个样品混合测序时,标记不同的样品。

3、insert是用于测序的目标片段,因为是包括在两个adapter之间,所以被称为“插入”片段。

一个常见测序片段类似与adapter--barcode--insert--adapter。测序开始时前几个碱基无法测得,第一个adapter在数据输出时被去除;由于测序仪读长限制,第二个adapter通常无法测得。所以,经常得到类似 barcode--部分insert的read。最后,把barcode去除,只保留测度insert的片段,这个操作的术语是demultiplexing。但是有时候测序时会测穿,也就是说会得到barcode--insert的read--部分adapter,那么这里就包含了接头了,这里的接头也就是大家经常说去接头要去除的部分。

有了以上思路之后,如何去除接头应该就心里有数了,不要照抄网上的教程,没有理解原理有些教程用到你根本不行,虽然有时候你可能按照网上教程不报错并且会看到去除了些,但是这才是最坑的,没去除干净你自己也发觉不了,这还不是最坏的,毕竟接头含量大多数时候较少影响不大,但是如果你做组装或者人品不好的时候,结果就会很出乎意料。

扯这么多,是因为踩过网上教程的坑,现在回归正题

假设我有一个双端测序的数据,最原始的没有去除接头的,然后公司也告诉了我接头序列

接头序列:

adapt1:AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT

_REV:AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT

adapt2:GATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG

NNNNNN:barcode

barcode:

以上咱们已经了解了这个数据的基本情况,下一步咱们使用cutadapt进行去除接头操作

跟进cutadapt教程主要有几个参数:

-a:左端reads的接头

-A:右端reads的接头,注意右端出现的接头是因为侧穿了,所以他的接头序列是左端reads的接头的反向互补序列

-m:表示去除接头后如果read长度小于这个m值就不要了

--pair-filter:采用双末端模式来去除接头,保持两端数据匹配

完整命令如下:

cutadapt -a adapt2 -A adapt1_REV -m 20 --pair-filter=both -o out_fq1 -p out_fq2 fq1 fq2

例子完整命令:

先安装cutadapt:

pip install cutadapt

按照上面流程进行构建命令:

cutadapt -a GATCGGAAGAGCACACGTCTGAACTCCAGTCACAGTCAAATCTCGTATGCCGTCTTCTGCTTG -A AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT -m 50 --pair-filter=both -o Sample1_combined_rmAD_R1.fastq -p Sample1_combined_rmAD_R2.fastq Sample1_combined_R1.fastq Sample1_combined_R2.fastq

结果如下:

关于RNA-Seq数据去接头(Adapter)这事需要讲一讲的更多相关文章

  1. RNA-Seq数据去接头(Adapter)

    1.adapter是一段短的序列已知的核酸链,用于链接序列未知的目标测序片段. 2.barcode,也称为index,是一段很短的寡居核酸链,用于在多个样品混合测序时,标记不同的样品. 3.inser ...

  2. RNA seq 两种计算基因表达量方法

    两种RNA seq的基因表达量计算方法: 1. RPKM:http://www.plob.org/2011/10/24/294.html 2. RSEM:这个是TCGAdata中使用的.RSEM据说比 ...

  3. sql 游标例子 根据一表的数据去筛选另一表的数据

    sql 游标例子 根据一表的数据去筛选另一表的数据 DECLARE @MID nvarchar(20)DECLARE @UTime datetime DECLARE @TBL_Temp table( ...

  4. 【云栖大会】阿里巴巴集团CTO张建锋:用计算和数据去改变整个世界

    摘要: 当浩瀚的数字化信息能够联网在线,在万物互联网的新世界中,所有东西都可能有感知.变智能,想象一下电表.冰箱.心电图监测仪等设备的信息都能数字化并联网,从城市管理到个人生活,都会迎来翻天覆地的变化 ...

  5. RNA -seq

    RNA -seq RNA-seq目的.用处::可以帮助我们了解,各种比较条件下,所有基因的表达情况的差异. 比如:正常组织和肿瘤组织的之间的差异:检测药物治疗前后,基因表达的差异:检测发育过程中,不同 ...

  6. iOS请求服务器数据去空NSNull

    我们在处理数据库接口的过程中,如果数据中出现null,我们是没法处理的.我在使用NSUserDaults保存后,出现崩溃. null产生原因 null是后台在处理数据的时候,如果没有设置value值, ...

  7. 继上篇-jquery ajax提交 本篇用ajax提交的数据去数据库查询

    上篇讲到如何用jquery ajax提交数据至后台,后台接收并返回给ajax.https://www.cnblogs.com/tiezhuxiong/p/11943328.html 今天我们把数据传到 ...

  8. Js数据去重复,时间更换格式,cookie,localStorage和sessionStorage的使用等通用方法

    一,数组去重复 function unique(arr) { // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for (var i in arr ...

  9. mysql数据去重复distinct、group by

    使用distinct 和group by都可以实现数据去重. select distinct 字段 group by 一般放在where条件后

随机推荐

  1. hadoop-2.7.3完全分布式部署

    一.环境介绍      IP       host JDK linux版本 hadop版本 192.168.0.1 master 1.8.0_111 centos7.2.1511 hadoop-2.7 ...

  2. zabbix 邮件报警 监控mysql主从

    1)设置邮件模板及邮件服务器 邮箱密码记得写授权密码 2)配置接受报警的邮箱 3)添加报警触发器 配置邮箱服务器 yum -y install mailx yum -y install sendmai ...

  3. WIN7系统 如何上传文件到FTP服务器中

    https://zhidao.baidu.com/question/214644671.html

  4. anchor_generator.proto:11:3: Expected "required", "optio nal", or "repeated"

    转自:https://github.com/tensorflow/models/issues/1834 When I use the commond " protoc object_dete ...

  5. php预定义字符

    Php中预定义字符的处理: 1,htmlspecialchars()把一些预定义的字符转换为 HTML 实体. 函数原型:htmlspecialchars(string,quotestyle,char ...

  6. float double 如何存储计算2 (这个写的也不错)

    目前java遵照IEEE制定的浮点数表示法来进行float,double运算.这种结构是一种科学计数法,用符号.指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号. 我 ...

  7. 2018面向对象程序设计(Java) 第2周学习指导及要求

    2018面向对象程序设计(Java) 第2周学习指导及要求(2018.9.3-2018.9.9)   学习目标 适应老师教学方式,能按照自主学习要求完成本周理论知识学习: 掌握Java Applica ...

  8. mongo的csv文件参考

    https://blog.csdn.net/u012318074/article/details/77713228

  9. SQL Server子查询填充DataSet时报500内部错误的解决办法

    运行环境为Visual Studio 2010,数据库为SQL Server 2008. 执行下面SQL语句 SELECT SubsiteId, SubsiteTitle, count(Collect ...

  10. asp.net导出excle

    思路:实际上是读取页面上某个控件下的内容再导出 protected void btnExcel_Click(object sender, EventArgs e) { string bgType = ...