miRNA是一类长约22 nt的非编码小RNA。miRNA通过碱基互补配对结合到靶mRNAs 3’UTRs以调控数百个基因的表达。因此,miRNA参与几乎所有生命活动,与生物体的生长、发育、疾病、衰老和死亡息息相关,可以作为疾病诊断和检测的生物标志物。

日常数据分析中,我们经常会遇到各种来源的miRNA测序原始数据,有些测36 bp,有些测50 bp,有些测75 bp或者更长的。形形色色的reads长度,adaptor接头序列,众多测序公司来源的数据,给数据分析带来了诸多不便。其中比较常见的问题就是:接头序列是什么?

小编就曾经遇到过这个问题,问某公司:“你们测序的接头序列是什么”?答复:“保密”!小编当时就想怼他:不知道接头序列,就没法把接头去掉,不去掉接头怎么往下分析?都是一个圈子混的,保不保密我不知道吗?

今天小编就教你如何在不知道接头序列的情况下,把接头序列从原始fastq文件中扒出来,同时把read的组成结构也分析一下。

1,fastq数据格式

图1. fastq格式

Fastq格式是测序原始数据存储标准格式,存储了每条read的序列及碱基质量分数。如图1所示,每4行代表一条read。

以Read1为例:

第1行代表序列的编号,以@开头;一般包括:机器编码(A00212),run id(123),flowcell编号(H3TTTDSX3),lane号(4),flowcell上的tile编号(1101),X坐标(8919)和Y坐标(1000),其后是barcode信息,用于将多个样品拆开(demultiplex)。

第2行是read序列,一般ATCG,有时候有N。N表示荧光信号干扰无法判断到底是什么碱基。

第3行是识别码,以+开头;后边接序列标示符、描述信息等,或者干脆就是+

第4行是碱基质量分数,与read序列一一对应,即每个碱基有一个分数,表明该碱基的可信程度。由于不同型号机器出来的值不太一样,因此可以根据这些值大概判断测序仪型号。

2,miRNA read构成

通常,miRNA read有三种构成方式(如图2所示):

A:miRNA序列后边直接连接adaptor接头序列

B:miRNA序列前面加几个碱基,后边接miRNA序列,然后连接adaptor接头序列

C:miRNA序列后边加几个碱基,然后连接adaptor接头序列

图2. miRNA read构成

3,miRNA常见接头序列

通常illumina测序的小RNA接头序列有:TGGAATTCTCGGGTGCCAAGGAACTCC、AACTGTAGGCACCATCAAT、AGATCGGAAGAGCACACGTCT等,拿到原始数据后,首先可以先用这3种序列去搜下。搜到了就可以先用这些接头去预分析下,拿到去接头后的miRNA长度分布图,如果长度分布正常(在22nt)附近有峰,则表示接头序列正常去掉,这种一般是图2中的A情况。对于B和C就无能为力了。

4,Clustalw检测接头序列

4.1 fastq collapse

在完全未知的情况下,我们可以这样操作。首先,将fastq格式转成fa格式,并且对每条不同的read序列进行计数,所谓的collapse步骤。

可以使用Galaxy在线工具进行操作。https://usegalaxy.org/,搜索collapse,上传fa或者fastq文件即可,其功能是统计每条unique序列的个数

图3. read序列collapse

以小编手里的fastq文件为例,经过collapse后,前10条序列为:

图4.top 10 read

肉眼可见,中间的部分序列在每条read中都存在,可能是潜在的接头序列。

4.2 clustalw多重序列比对

使用在线clustalw多重序列比对软件来检查下我们的top10序列。一般情况下,如果实验做的没问题,个别miRNA的表达量会很高,它们可能占据了绝大部分的reads,因此我们可以利用这个大概率来进行校验。

图5. Clustalw输入top10序列

图6. 多重序列比对结果

其中星号为所有序列中都一样的碱基。可以看出,后边的星号连续排列,因此初步判断为接头序列,而星号前面一个碱基仅在test_8里边与其他的9条不一样,因此,我们也把T作为接头的一部分,于是预测的接头序列就是TGGAATTCTCGGGTGCCAAGGAACTCC……,经过比较,发现与我们上面提到的接头序列一样,因此,可以完全确定接头序列是正确的。

5,blat比对验证read组成

在找到接头序列后,我们可以将接头序列及以后的碱基全去掉,这样我们就得到了可能包含miRNA的reads。

图7. 包含接头的reads

如图7所示,绿色为接头序列,其左侧为可能的miRNA序列,将这10条去接头的序列(图8),粘贴到UCSC genome browser的blat工具中,检索这些序列。

图8. 去掉接头的序列

图9. Blat提交页面

Blat结果如下:

图10. Blat结果

从图10的blat结果可以看出,我们查询的序列是26或者27 bp,其中identity为100%的序列长度跨了22或者23 bp,因此可以推测序列前或者后加了4 bp的短序列。

打开details链接(图11)查看详细比对结果,可以看出都是后边4 bp的短序列没有比对上。

                                              图11. blat详细比对情况

6,结论

因此,综合上面clustalw鉴定的接头序列,和blat鉴定的read组成,我们得出接过来:该fastq的read组成是图12的形式。Read结构分析清楚后,我们就可以按部就班地进行后续的表达、差异、靶基因等分析了。

图12. Read构成

总结:认清问题,寻找解决问题的思路,思路清晰后,就可以找软件工具进行处理。

微生信助力发文章,谷歌引用630+,知网引用470+

教你利用clustalw和blat解决接头问题问题相关推荐

  1. python运行excel高级筛选怎么用_懂点EXCEL就行!教你利用Python做数据筛选(上)...

    前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...

  2. python excel筛选统计_懂点EXCEL就行!教你利用Python做数据筛选(上)

    前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...

  3. python做excel数据条件_懂点EXCEL就行!教你利用Python做数据筛选(上)

    前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...

  4. 华为表哥手把手教你利用Jenkins持续集成iOS项目,教不会我花式拉翔!!!

    手把手教你利用Jenkins持续集成iOS项目: 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP ...

  5. jade怎么查计算机用户名,干货 | 黄继武老师手把手教你利用Jade进行物相检索

    原标题:干货 | 黄继武老师手把手教你利用Jade进行物相检索 前言 Jade是一个32位Windows程序,用于处理X射线衍射数据.除基本的如显示图谱.打印图谱.数据平滑等功能外,主要功能有物相检索 ...

  6. 小白必看、手把手教你利用爬虫爬网页

    接下来从网络爬虫的概念.用处与价值和结构等三个方面,让大家对网络爬虫有一个基本的了解. 网络爬虫及其应用 随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战, ...

  7. CVPR 2018 | ETH Zurich提出利用对抗策略,解决目标检测的域适配问题

    CVPR 2018 | ETH Zurich提出利用对抗策略,解决目标检测的域适配问题 原创: Panzer 极市平台 今天 ↑ 点击蓝字关注极市平台 识别先机 创造未来 论文地址:https://a ...

  8. EL之Boosting之GB(DTR):利用梯度提升法解决回归(对多变量的数据集+实数值评分预测)问题

    EL之Boosting之GB(DTR):利用梯度提升法解决回归(对多变量的数据集+实数值评分预测)问题 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 xList = [] labe ...

  9. python概率随机抽奖_Python利用带权重随机数解决抽奖和游戏爆装备

    关于带权随机数 为了帮助理解,先来看三类随机问题的对比: 1.已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管. 实现思路:按行遍历所有记录,约隔n/m条取一个数据即可 2.在1类情况下,还 ...

  10. oracle数据库path,利用Path环境变量解决oracle数据库和owb工具不兼容问题!

    利用Path环境变量解决oracle数据库和owb工具不兼容问题! 2009年5月4日 现象: 安装了oracle9i和owb10后往往会出现各自工具不能启动的现象,比如安装完oracle9i后再安装 ...

最新文章

  1. Linux下安装Foxit Reader
  2. MAX535 单路13位DAC 模拟SPI驱动
  3. quill鼠标悬浮 出现提示_「超逸酷玩」VT300S RGB电竞游戏鼠标支持云同步自定义设置...
  4. JavaScript | 演示函数中按值调用的示例
  5. JQuery Datatables 服务端分页简单应用学习
  6. arcade 物理系统_如何使用Python和Arcade库创建2D游戏
  7. spring cloud构建互联网分布式微服务云平台-消息总线
  8. Ubuntu18.04安装福昕阅读器
  9. 微信小程序——事件备忘录
  10. java 打印日志乱码
  11. 操作系统面试相关总结
  12. Luarocks 安装艰难过程
  13. 模块[camera]_摄影基础知识: 曝光补偿完全指南
  14. css mix-blend,CSS混合模式mix-blend-mode/background-blend-mode简介
  15. java Excel 从第三行开始读取怎么设置
  16. A100 Jeston TX1TX2使用教程-接口说明
  17. 正则表达式爬取红牛分公司数据
  18. 十年架构师留下最完整的Java学习路线
  19. Confluence创建自动填充序列表格
  20. 无数的手机免费Wap网站!

热门文章

  1. 服务器硬盘坏道,玩家亲身经历:硬盘大量坏道的解决
  2. 浅谈基于过程与基于对象
  3. arduino 矩阵肩膀_表情矩阵——卖萌无需多言(arduino)
  4. 电脑管家修复DNS服务器,DNS是什么?dns劫持是怎么回事?怎么处理?
  5. html浏览器安全调色板,网页安全色调色盘
  6. win7 注册表禁 com服务器,win7系统注册表清理后导致不能上网如何解决
  7. nandflash oob解析
  8. BJT转UTC世界协调时
  9. java安卓分屏是如何实现的_安卓原生分屏有了,谷歌说:Android Q要实现分屏应用多开...
  10. android进入微信加好友页面,Xposed-微信自动加好友功能实现2--自动跳转验证申请页面...