之前讲过预测植物miRNA的一款软件miR-PREFER, 今天在介绍一款软件miRDeep-p2, 也叫miRDP2

  • 安装

  在此之前,应安装一下软件

  Bowite, Bowtie2, Vienna (RNA二级结构预测软件大礼包)

安装以上软件以后,在mirdp2下载最新版的miRDP2,以及ncRNA_rfam.tar.g

1 tar -xf miRDP2-v1.1.4.tar

2mv 1.1.4 miRDP2-v1.1.4

TestData下载测试数据集--TestData.tar.gz

  • miRNA数据处理

(1)去接头,长度选择在18-30 bp,选用cutadapt

(2) 去低质量reads, 可以用fastp

(3)将fastq 文件转成fasta文件,并去除冗余序列,每个reads的编号:read0_x29909,x后面表示相同的序列数,最后要保证FASTA中的每个序列都唯一。

可以选用以下脚本(将.fq 放在一个文件夹):

 1 #!/usr/bin/env python
2
3 import os,re
4 from collections import defaultdict
5
6 li = os.listdir(os.getcwd())
7 oli = filter(lambda x: x.endswith(".fa"),li)
8 oli.sort()
9
10
11 for fil in oli:
12 info = defaultdict(int)
13 with open(fil) as f,\
14 open("%s.fa" %fil,"w") as o:
15 while 1:
16 name = f.readline()
17 seq = f.readline()
18 plus = f.readline()
19 qual = f.readline()
20 if name == '':
21 break
22 info[seq.strip()] +=1
23 count = -1
24 for k,v in info.items():
25 count +=1
26 o.write(">read%s_x%s\n%s\n" %(count,v,k))
  • 运行

再次之前,修改一下miRDP2-v1.1.4_pipeline.bash中的一个参数,因为我的RNAfold跑不通,所以修改

RNAfold --noPS  中的 --noPS参数。为-noPS

新建文件夹,用于存放测试数据

1 mkdir miRDP2_Test

将下载的测试数据以及Rfam文件上传到改文件夹,并压缩

1 tar xf ncRNA_rfam.tar.gz 2 tar xf TestData.tar.gz

建立索引

1 bowtie-build -f ./TestData/TAIR10_genome.fa ./TestData/TAIR10_genome.fa
3 ##为Rfam建立索引,一定得在流程中script/index 下目录下
5 bowtie-build -f ./ncRNA_rfam.fa miRDP2-v1.1.4/scripts/ram_index

其中ncRNA_rfam.fa 为Rfam中非编码RNA (包括rRNA, tRNA,snRNA, and snoRNA), 也可以从Rfam上自行下载所有RNA.fa序列,并根据RNA类型进行分类合并。

运行流程

1 miRDP2-v1.1.4_pipeline.bash -g ./TestData/TAIR10_genome.fa -x ./TestData/TAIR10_genome -f -i ./TestData/GSM2094927.fa -o ./ 

2
3 #-g 基因组序列
4 #-x 索引
5 #-f sRNA-seq 为fasta格式
6 #-i 输入RNA文件,多个文件用逗号隔开
7 #可选
8 #-L:reads匹配到最少的位置,默认15, 以防有重复序列
9 #-M:bowtie 的错配,默认为0

结果:

  • miRNA预测结果: GSM2094927-15-0-10_filter_P_prediction, 每列的内容分别为,“染色体编号”,“所在链”,“代表性的短读编号”,“前体编号”,“成熟miRNA位置”,“前体位置”,“成熟序列”,“前体序列 ”
  • 日志文件: script_log和 script_err, 在运行出错时用于排除
  • 软件大概步骤

1)将reads 比对到ncRNA seq,和known miR mature seq得到 rfam_reads.aln, known_miR.aln

利用脚本 preprocess_reads.pl 对上述 rfam_reads.aln, known_miR.aln 过滤reads,得到 *.fa 以及 *-precessed.fa,*.total_reads

(2)mapping filtered reads

将 *-precessed.fa 比对参考基因组, 得到 *_processed.aln

用 convert_bowtie_to_blast.pl 将 *_processed.aln --》 *-processed.bst (

用 filter_alignments.pl 过滤掉比对到一定次数以上(默认15)的reads, *-processed.bst ---》 *-processed_filter${len}.bst

(3)根据比对位置,提取上下游一定长度序列作为前提序列,并预测二级结构

利用 excise_candidate.pl ,将 *-processed_filter${len}.bst --》 *_precursors.fa

利用 RNAfold 软件 预测2级结构, *_precursors.fa --》 _structures

(4)提取不是ncRNA的reads 作为signature preparation

将 *.fa 比对到参考基因组, 得到 *.aln

利用convert_bowtie_to_blast.pl 将 *.aln --》*.bst

用 filter_alignments.pl 过滤掉比对到一定次数以上(默认15)的reads, 将 *.bst ---》 *_filter${len}.bst

用 filter_alignments.pl 将  *_filter${len}.bst --》 *_filtered.fa

准备 reads signature file

对 *_precursors.fa 进行bowtie-build 建库

将  *_filtered.fa 比对到 *_precursors.fa, 得到  *_precursors.aln

利用convert_bowtie_to_blast.pl 将 **_precursors.aln --》*_precursors.bst

将 *_precursors.bst  --〉*_signatures

 (5)miRDP core algorithm

利用  mod-miRDP.pl 将 *_signatures, *_structures --》_predictions

------END------

关注下方公众号可获得更多精彩

miRNA预测工具miRDeep-P2的更多相关文章

  1. facebook开源的prophet时间序列预测工具---识别多种周期性、趋势性(线性,logistic)、节假日效应,以及部分异常值

    简单使用 代码如下 这是官网的quickstart的内容,csv文件也可以下到,这个入门以后后面调试加入其它参数就很简单了. import pandas as pd import numpy as n ...

  2. Facebook支持python的开源预测工具Prophet

    Facebook 宣布开源一款基于 Python 和 R 语言的数据预测工具――“Prophet”,即“先知”.取名倒是非常直白. Facebook 表示,Prophet 相比现有预测工具更加人性化, ...

  3. 七种常见的核酸序列蛋白编码能力预测工具 | ncRNAs | lncRNA

    注:这些工具的应用都是受限的,有些本来就是只能用于预测动物,在使用之前务必用ground truth数据来测试一些.我想预测某一个植物的转录本,所以可以拿已经注释得比较好的拟南芥来测试一下.(测试的结 ...

  4. Ensembl突变数据描述之(一)——突变物种数据库及预测工具

    以下是对Ensembl突变数据库中储存的数据的描述,对于Ensembl数据库中不同的物种,我们从各种来源(例如,dbSNP数据库)导入突变数据(SNP.CNV.等位基因频率.基因型等),导入的突变数据 ...

  5. 5、预测和鉴定miRNA的靶基因

    转载:http://www.oebiotech.com/Article/mirnabjyyc.html http://www.ebiotrade.com/newsf/2014-9/2014925941 ...

  6. R+先知︱Facebook大规模时序预测『真』神器——Prophet(遍地代码图)

    经统专业看到预测的packages都是很眼馋的.除了之前的forecast包,现在这个prophet功能也很强大.本packages是由机器之心报道之后,抽空在周末试玩几小时.一些基本介绍可见机器之心 ...

  7. DNA sequence open reading frames (ORFs) | DNA序列的开放阅读框ORF预测

    常见的ORF预测工具 Open Reading Frame Finder- NCBI ORF Finder - SMS OrfPredictor  - YSU 基本概念 开放阅读框(英语:Open r ...

  8. 植物 miRNA 研究

    相比动物miRNA 而言, 植物miRNA 的研究相对较少. 植物miRNA 相比动物miRNA , 有以下特点: 1) 植物miRNA 的长度为 21 nt 左右, 动物miRNA 长度在 22 ~ ...

  9. 蛋白质组DIA深度学习之谱图预测

    目录 1. 简介 2. 近几年发表的主要工具 1.DeepRT 2.Prosit 3. DIANN 4.DeepDIA 1. 简介 基于串联质谱的蛋白质组学大部分是依赖于数据库(database se ...

随机推荐

  1. 第1次 Beta Scrum Meeting

    本次会议为Beta阶段第1次Scrum Meeting会议 会议概要 会议时间:2021年5月29日 会议地点:「腾讯会议」线上进行 会议时长:0.5小时 会议内容简介:本次会议为Beta阶段第1次会 ...

  2. [no code][scrum meeting] Beta 2

    例会时间:5月14日11:30,主持者:乔玺华 下次例会时间:5月15日11:30,主持者:肖思炀 一.工作汇报 人员 昨日完成任务 明日要完成的任务 乔玺华 - 开issue,分配时间 黎正宇 - ...

  3. OO第三单元——JML规格化设计

    OO第三单元--JML规格化设计 JML语言的理论基础以及应用工具链情况 理论基础 JML是对JAVA程序进行规格化设计的一种表示语言,是一种行为接口规格语言.JML整合了Java和JAVAdoc,并 ...

  4. [火星补锅] 非确定性有穷状态决策自动机练习题Vol.1 T3 第K大区间 题解

    前言: 老火星人了 解析: 很妙的二分题.如果没想到二分答案.. 很容易想到尝试用双指针扫一下,看看能不能统计答案. 首先,tail指针右移时很好处理,因为tail指针右移对区间最大值的影响之可能作用 ...

  5. Java并发:ReadWriteLock 读写锁

    读写锁在同一时刻可以允许多个线程访问,但是在写线程访问,所有的读线程和其他写线程均被阻塞. 读写锁不像 ReentrantLock 那些排它锁只允许在同一时刻只允许一个线程进行访问,读写锁可以允许多个 ...

  6. cf13B Letter A(分类+简单计算几何,,)

    题意: 给三个线段(每个线段的两个端点的坐标),问这三个线段能否组成字母A. 组成字母A的条件: 1.两个线段有公共端点. 2.这两个线段夹角小于等于90度. 3.第三个线段的两个端点分别在这两个线段 ...

  7. Vue&Element开发框架中增加工作流处理,工作流的各个管理页面的界面处理

    我在起前面的几篇随笔中,大概介绍了工作流的一些场景化处理,包括如何把具体业务表单组件化,并在查看和编辑界面中,动态加载组件内容,以及对于查看申请单的主页面,把审批.取消.发起会签.会签.批示分阅.阅办 ...

  8. Linux 守护进程原理及实例(Redis、Nginx)

    1. 什么是守护进程 守护进程daemon,是指没有控制终端,运行在后台的进程,通常伴随着系统启动产生,系统关机结束.可以使用命令ps -axj查看系统的守护进程,输出如下所示: 父ID PID 组I ...

  9. robot framework 常用关键字介绍

    1.log 打印所有内容 log hello word 2.定义变量 ${a} Set variable 92 log ${a}   3.连接对象 ${a} Catenate hello word l ...

  10. Cookie、Session、localStorage、sessionStorage区别和用法

    Cookie 在学习一个新知识点前,我们应该明白自己的学习目标,要带着疑问去学习,该小节须要了解 Cookies 什么是cookie,cookie的作用 cookie的工作机制,即cookie是运作流 ...