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

2023-08-29  本文已影响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

#下载安装包
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)

上一篇下一篇

猜你喜欢

热点阅读