美文网首页
miRNA靶标预测软件本地化运行

miRNA靶标预测软件本地化运行

作者: 谢俊飞 | 来源:发表于2023-08-29 14:53 被阅读0次

    miRNA功能研究最为关键的一步就是进行miRNA靶标基因的筛选,虽然研究人员已经开发出多种用于miRNA靶标的预测软件,有些还提供在线版本,但是使用过程中仍然存在以下问题:

    1. 在线版本仅限于部分模式物种,对于非模式物种并不支持;
    2. 在线版本并不能进行批量化操作;
    3. 不能进行个性化的分析;

    Linux软件安装可以通过conda(类似于手机app)和手动两种安装方式,手动则需要单独安装包所需要的依赖包。所以,优先考虑用conda进行安装,conda没有收录的再考虑手动安装。

    建立用于miRNA分析的mirna环境

    #创建环境
    conda create -n mirna
    #激活环境
    conda activate mirna
    

    1.miRanda

    官网:http://cbio.mskcc.org/miRNA2003/miranda.html

    conda安装

    图片.png
    conda安装包查询
    https://anaconda.org/anaconda/repo
    #安装
    conda install -c bioconda miranda
    #查询安装路径
    (mirna) user@user-PowerEdge-R740:~$ whereis miranda
    miranda: /home/public/miniconda3/envs/mirna/bin/miranda
    #帮助文档
    (mirna) user@user-PowerEdge-R740:~$ miranda -h
    

    用法: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 输出结果到文件 [默认:关]

    图片.png
    值得注意的是,微生信平台推出了在线版的miRanda。
    http://www.bioinformatics.com.cn/local_miranda_miRNA_target_prediction_120

    2. TargetScan

    官网:https://www.targetscan.org/cgi-bin/targetscan/data_download.fly72.cgi

    • 图片.png
    #下载安装包
    wget -c https://www.targetscan.org/fly_72/fly_72_data_download/targetscan_70.zip
    #解压
    unzip targetscan_70.zip
    #添加环境变量
    vim ~/.bashrc
    export PATH=/home/public/software/targetscan:$PATH
    source ~/.bashrc
    #检测是否可行
    targetscan_70.pl -h
    
    图片.png
    用法: targetscan_70.pl miRNA.fa mRNA.fa outfile
    targetscan对输入文件类型有所不同,miRNA需要输入miRNA名字,物种ID,和种子序列的2-8nt;
    UTR序列则包含:gene ID, 物种ID,比对好的序列。

    暂时不知道如何除了UTR序列达到符合输入文件的类型?


    3. RNAhybrid

    conda安装


    图片.png
    #安装
    conda install -c genomedk rnahybrid
    #检测是否可运行
    RNAhybrid -h
    #运行
    RNAhybrid -s 3utr_fly -t /home/public/datas/mirna/file2/3UTR.fasta -q /home/public/datas/mirna/file1/mir_8_3p.fasta > /home/user/output/RNAhybrid_test.txt
    

    Usage: RNAhybrid [options] [target sequence] [query sequence].


    4. PITA

    官网:https://genie.weizmann.ac.il/pubs/mir07/mir07_exe.html

     #下载
    wget -c https://genie.weizmann.ac.il/pubs/mir07/64bit_exe_pita_prediction.tar.gz
    #解压
    tar -zxvf pita_prediction.tar.gz
    #安装
    make install
    #修改PITA权限
    sudo chmod -R 777 ./PITA
    #添加环境变量
    as above 
    #查看帮助文档
    pita_prediction.pl --help
    

    用conda安装依赖包:viennarna

    图片.png
    
    
    报错解决方案

    Report 1. "Unescaped left brace in regex is illegal here in regex"

    报错1

    Solutions: 网友分析可能是软件写的比较早,Perl不支持以前的写法[1]

    图片.png

    从示例中可以看出,最大的区别就是在双引号的第一个双引号,需要额外的加上括号。

    {}修改为[{]}
    

    插一句题外话,vim默认并没显示行号,先解决显示行号问题[2].

    Report 2. Compilation failed in require at……

    Solutions:查看报错提示的文本后(如下图),原来依赖关系导致,所以R1解决之后
    这个问题就不存在了。

    报错

    Report 3. Can't use 'defined(@array)' (Maybe you should just omit the defined()?)

    报错3
    Solutions:网友解释仍旧是perl版本升级导致[3],按照如下对应修改即可。
     if(defined(@fill_lines) and $#fill_lines>=0) 修改改为  if(@fill_lines) and $#fill_lines>=0)
    

    5. RNA22

    下载地址:https://cm.jefferson.edu/rna22/Interactive/
    在线版本可用,但是可以下载本地版后上传服务器进行批量化操作。

    #install java
    sudo apt install openjdk-8-jre-headless
    # 查看
    java -version
    # 修改权限否则无法执行
    sudo chmod -R 777 /home/user/software/RNA22/
    #creat output file
    touch output.txt
    #运行
    java RNA22v2
    #提取结果
    #过滤并提取结果
    cat ./output.txt | awk '$5 <= -18 {for(i = 1; i <= 5; i++) printf("%s ", $i); printf("\n")}'>./extract.txt
    

    6. PicTar

    在线版本可用

    数据合并:
    https://www.jianshu.com/p/6fbfebbc818b


    5. TargetFinder

    TargetFinder下载使用---miRNA靶点识别
    用于植物靶标鉴定

    miRNA预测结果整理:

    linux下运行python

    打开Terminal后输入指令:python,会出现>>>,这个时候就可以在里面输入python脚本开始运行了

    使用exit()退出python环境

    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()
    
    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)
    

    参考资料:

    1. 动物miRNA靶基因本地预测(三)—— 靶基因预测与结果分析
    2. miRNA结合位点预测软件miRanda的使用教程
    3. 动物miRNA靶基因本地预测(一)—— 软件安装

    1. Unescaped left brace in regex

    2. 设置vim 显示行号

    3. Can't use 'defined(@array)

    相关文章

      网友评论

          本文标题:miRNA靶标预测软件本地化运行

          本文链接:https://www.haomeiwen.com/subject/ecaxirtx.html