mirna预测靶基因结果怎么看_基因预测

mirna预测靶基因结果怎么看_基因预测上一篇《动物miRNA靶基因预测方法(一)——软件安装》介绍了4种靶基因预测软件的下载与安装,本篇则介绍每个软件的使用说明。事实上,软件的使用是很简单的,只要准备好miRNA和mRNA的序列数据,运行一两条命令就可获得预测结果,难就难在数据的准备,往往你的数据并符合软件运行的格式,所以这里会更多的介绍如何获得各软件的数据格式。1、miRanda的使用阅读说明文档README这里提取一…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 

前两篇介绍了4种靶基因预测软件的下载与安装,以及数据的准备过程。本篇将正式开始进行靶基因的预测, 并对4种个软件的结果进行整理,最终得到4软件结果的交集。

靶基因预测

1、miRanda

miranda file1 file2 [options..]

miranda的使用需要准备两个文件,file1是miRNA序列的fasta文件,file2是mRNA序列的fasta文件。

此外,你还可以根据需求设置可选参数。

以下列举几个常用的参数选项:

-sc  S     将得分阈值设置为S         [默认:140.0]

-en  -E    将能量阈值设置为-E kcal / mol        [默认值:1.0]

-strict     严格要求5’种子区配对         [默认:关]

-out file      输出结果到文件         [默认:关]

miranda test.txt total_reverse_CDS201703.txt -out out.txt
grep '>>' out.txt > miranda_result.txt

Jetbrains全家桶1年46,售后保障稳定

第一条命令是进行靶基因预测,第二条命令则是从预测结果中提取关键信息(grep搜索含有’>>’的行并输出至指定文件夹)。

2、TargetScan

Targetscan的使用很简单: targetscan_50.pl  miRNA.fa  mRNA.fa  outfile

perl targetscan_50.pl test_targetscan.txt total_reverse_CDS201703_targetscan.txt targetscan_results.txt

3、PITA

perl pita_prediction.pl -utr total_reverse_CDS201703.txt -mir test.txt -prefix test &

-prefix后面跟的是文件名(不含后缀), 命令后面加个&是为了把程序放在后台运行,因为这个软件运行真的太慢了!

在经过漫长的等待后,程序终于跑完了,结果文件有两个,test_pita_results_targets.tab,test_pita_results.tab,我们要的信息就在test_pita_results.tab文件中,但是这个文件并不是我们真正想要的,PITA这个软件真的太不友好了,还需要我们自己提取△△G小于或等于-10kcal/mol的行.

 cat test_pita_results.tab | awk '$13 <= -10 {print $0} > pita_results.txt

但是,由于test_pita_results.tab这个文件太大了,我的有400多兆,这条命令执行起来也是超慢的,于是我用了一个很古老的方法,也就是复制粘贴,因为我观察过了,文件中每一条结果是按照△△G由小到大排序的,所以直以将前面小于等于-10的结果(事实上只有很少的一部分)复制粘贴到另一个文本中就好了.

在选择文本时,有一个小技巧.

mirna预测靶基因结果怎么看_基因预测

这样就可以快速的选择目标区域了,然后ctrl C ,ctrl V ,搞定!

4、RNA22

将你的miRNA和mRNA文件放在Parameters.properties和RNA22v2.class所在文件夹中,然后打开Parameters.properties文件,根据注释信息修改即可.

mirna预测靶基因结果怎么看_基因预测
划线为修改部分

需要java1.6及以上版本才可运行RNA22v2,在服务器输入java –version查看Java版本,若不符合则可下载最新版java.

java RNA22v2

因为RNA22的运行也是比较慢的,可以放在后台运行.

结果整理

mirna预测靶基因结果怎么看_基因预测
miranda结果
mirna预测靶基因结果怎么看_基因预测
targetscan结果
mirna预测靶基因结果怎么看_基因预测
RNA22结果

 

mirna预测靶基因结果怎么看_基因预测
PITA结果

以上是4种软件靶基因预测结果, miRNA和靶mRNA名称在前两列中, 并且以制表符tab分隔, 我希望从文件中提取前两列的信息,并将其合并为一列.

def TidyMirandaResult(path, inputfile, outfile):
    infpath = r'{}\{}'.format(path,inputfile)
    outfpath = r'{}\{}'.format(path, outfile)
    with open(infpath) as f:
        for row in f:
            row = row.split('\t')
            line = row[0][2:] + ':' + row[1] + '\n'
            with open(outfpath, 'a') as r:
                r.writelines(line)

def TidyTargetscanResult(path, inputfile, outfile):
    infpath = r'{}\{}'.format(path, inputfile)
    outfpath = r'{}\{}'.format(path, outfile)
    i = 0
    with open(infpath) as f:
        for row in f:
            i += 1
            if i == 1:
                continue
            row = row.split('\t')
            line = row[1] + ':' + row[0] + '\n'
            with open(outfpath, 'a') as r:
                r.writelines(line)

def TidyRNA22Result(path, inputfile, outfile):
    infpath = r'{}\{}'.format(path, inputfile)
    outfpath = r'{}\{}'.format(path, outfile)
    with open(infpath) as f:
        for row in f:
            row = row.split('\t')
            line = row[0] + ':' + row[1] + '\n'
            with open(outfpath, 'a') as r:
                r.writelines(line)


def main():
    path = r'D:\用户\桌面\练习\结果'
    TidyMirandaResult(path, 'miranda_result.txt', 'miranda_TidyResult.txt')
    TidyRNA22Result(path, 'RNA22_result.txt', 'RNA22_TidyResult.txt')
    TidyTargetscanResult(path, 'targetscan_result.txt', 'targetscan_TidyResult.txt')
    TidyTargetscanResult(path, 'pita_results.txt', 'pita_TidyResult.txt') # pita结果处理和targetscan是一样的

main()

 

绘制韦恩图

在线网站:https://bioinfogp.cnb.csic.es/tools/venny/index.html

mirna预测靶基因结果怎么看_基因预测

这个网站最多做4组数据的韦恩图,刚好适合我,还可以调颜色,调字体,点击图中的数字就会列出交集结果,个人觉得这个网站做韦恩图还是很方便很不错的.

从结果可以看到,4种软件的交集结果有8763条,意味着测试的miRNA在总转录本中有8763条潜在的靶位点,记住是靶位点,不是靶基因,因为一个基因可能在多个miRNA中有靶位点.

将4软件结果的交集数据保存为txt文本,从该文本中提取出mRNA和靶基因名称

i = 0
with open(r'D:\用户\桌面\练习\结果\4软件结果交集.txt') as f:
    for row in f:
        i += 1
        if i == 1:
            continue
        row = row.split(':')
        line = row[1]
        with open(r'D:\用户\桌面\练习\结果\靶基因.txt', 'a') as r:
            r.writelines(line)

有了靶基因名称就可以做一些KEGG富集分析了.

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213952.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 成员变量和局部变量的区别是什么_实例变量和成员变量的区别

    成员变量和局部变量的区别是什么_实例变量和成员变量的区别成员变量和局部变量的区别?A:在类中的位置不同成员变量:在类中方法外局部变量:在方法定义中或者方法声明上B:在内存中的位置不同成员变量:在堆内存局部变量:在栈内存C:生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失D:初始化值不同成员变量:有默认初始化值局部变量:没有默认初始化值,必须定义,赋值,然后才…

    2025年7月17日
    6
  • 多进程和多线程区别以及优缺点[通俗易懂]

    多进程和多线程区别以及优缺点[通俗易懂]多进程和多线程主要区别是:线程是进程的子集,一个进程可能由多个线程组成。多进程的数据是分开的、共享复杂,需要用IPC,但同步简单;多线程共享进程数据、共享简单,但同步复杂。多进程,window应用程序中消息有两种送出途径:直接和排队。Windows或某些运行的应用程序可直接发布消息给窗口过程,消息可送到消息列象连续不断轮询消息列队的OS中当前执行的每个进程,事件驱动不是由事件的顺序来控制的,而是由事件的发生来控,而事件的发生是随机的、不确定的,这就允许程序的用户用各种合理的顺序来安排程序的流程。多线

    2025年7月9日
    3
  • 如何开发一个接口_网站接口开发

    如何开发一个接口_网站接口开发1、客户端请求加密、服务端请求解密2、防止重复提交一般是在数据库加状态,在status=0的状态下更新,更新完状态变为1,这样就可以防止重复提交———————————————————————————签名基本原理是通过key/secret的实现:1,服务器……

    2026年1月14日
    4
  • 使用Windows Live Writer 常见的几个Blog接口

    使用Windows Live Writer 常见的几个Blog接口Pjblog:MovableTypehttp://你的Blog根目录/xmlrpc.aspi170:MetaWeblogAPIhttp://www.i170.com/user/你的i170的用户名Blogbus:Blogger       http://rpc.blogbus.com/bloggermydonews:htt

    2022年10月19日
    1
  • java 堆栈的声明_Java 堆栈[通俗易懂]

    java 堆栈的声明_Java 堆栈[通俗易懂]Java堆栈堆栈是一种线性数据结构,用于存储对象的集合。它基于先进先出(LIFO)。Java集合框架提供了许多接口和类来存储对象的集合。其中之一是Stack类,它提供了不同的操作,例如推,弹出,搜索等。在本节中,我们将讨论JavaStack类,其方法和实现在Java中的堆栈数据结构程序。但是在转到JavaStack类之前,请先快速了解堆栈的工作原理。堆栈数据结构具有两个最重要的操作,分别…

    2022年7月7日
    22
  • ffmpeg从入门到精通 下载_从入门到精通nginx——Nginx的下载和环境安装

    ffmpeg从入门到精通 下载_从入门到精通nginx——Nginx的下载和环境安装Nginx的下载  nginx的官网:http://nginx.org/  百度云盘地址https://pan.baidu.com/s/1kjQST_x1Sf_thg3XDmqx6w密码:18sc将nginx上传至linux环境搭建安装C语言环境  因为nginx是C语言写的,而且是源码安装,安装前需安装C语言环境。安装依赖库  基本的Nginx功能依赖于一些基本的库,在安装Nginx之前需要提…

    2022年6月26日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号