前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谁说Windows下无法做生信分析(植物miRNA gene预测给你看)

谁说Windows下无法做生信分析(植物miRNA gene预测给你看)

作者头像
生信技能树
发布2020-03-06 09:38:11
1.2K0
发布2020-03-06 09:38:11
举报
文章被收录于专栏:生信技能树生信技能树

周末接了一个师兄的电话,大致场景如下:只有一台windows电脑,也没有服务器怎么跑perl写的流程呢?因此就有本文,记录了在测试时的所遇到的坑。

miRNA介绍

miRNA 是一类由具有发夹结构的初级转录本 (pri-miRNA)经过一系列加工过程,包括核酸内切酶 DCL1 加工后生成,通过对靶标 mRNA 直接切除或抑制其翻译在转录及转录后水平对基因表达起调节作用的内源性非蛋白质编码小 RNA,成熟miRNA序列长度一般为20-24个碱基。

由于小 RNA 表达的时空特异性,导致传统的实验方法研究小 RNA 效率很低,成本较高,因此借助计算方法研究小 RNA 是一个很好的补充,大大加速了该领域的研究进程。

通过计算方法识别miRNA基因主要基于以上提到的miRNA序列及结构上的特征,以及不同物种间的保守性。可以分为以下几类方法:

  • 同源比对的方法主要是通过已知保守miRNA的在不同物种间的序列相似性进行同源序列搜索预测miRNA的方法。
  • 基因查找方法可以不考虑miRNA的保守性,对整个基因组进行扫描,但只适用于动物miRNA基因的预测。
  • 基于动物miRNA经常成簇存在于基因组上的特点,通过对已知miRNA附近区域进行茎环结构预测来发现成簇存在的miRNA。
  • 基于比较基因组方法代表性研究是Jones-Rhoades和Bartel (2004)利用拟南芥和水稻全基因组鉴定在两个物种中保守的miRNA序列。
  • 基于大规模测序数据的发掘方法

今天的推送介绍一下比较基因组中所开发使用了 MirCheck 程序如何在本地运行的吧。

README

以下操作步骤均在 win10 64位系统下测试demo数据通过。

MirCheck 主要通过计算一段序列是否存在理想的茎环结构,以及是否有20mers的短序列位于茎的位置上,然后根据其在两个物种中的保守性来查找保守的miRNA基因。

REQUIREMENTS

根据指南,首先需要部署window下的perl:

开始 - 运行 - cmd 或者 win+R -cmd

若显示版本即可使用;若报错,则需要先安装 perl;推荐使用 ActiverPerl 进行安装。

  • ActiverPerl 64位

下载地址:https://pc.qq.com/detail/12/detail_3012.html

安装 (默认即可)

或者选择安装位置:

然后简单测试,显示版本即可正常使用。

注:这里我测试了 powershell 下的 perl是否可以使用,命令框打开方式一致(win+R powershell)

DOWNLOAD

下载MirCheck

http://bartellab.wi.mit.edu/softwareDocs/miRcheck.tar

TEST

以下测试在 powershell中进行:

进入 MirCheck路径

按照下面的步骤进行测试:

代码语言:javascript
复制
# Calls patscan to identify near matches to miRNAs in target genome.
$ perl run_patscan.pl sample_miRNAs.fa sample_genome.fa 2 0 0 sample_miRNA_matches

# Retrieves genomic regions containing matches identifed
$ perl retrieve_genomic_regions.pl window sample_miRNA_matches  sample_genome.fa sample_miRNA_matches_genomic

# Calls patscan to identify near matches to miRNAs in target genome.
$ perl run_patscan.pl sample_miRNAs.fa sample_genome.fa 2 0 0 sample_miRNA_matches

# Calls miRcheck to evaluate secondary structures of miRNA candidates
$ perl evaluate_miRNA_candidates.pl sample_miRNA_matches_genomic_folded sample_miRNA_matches_genomic_mirs

# Script to run einverted (emboss) to find inverted repeats in  genome-sized sequences. Breaks genomic sequences up into overlapping fragments and calls einverted on each fragment.
$ perl run_einverted.pl sample_genome.fa sample_IRs  

# script to retrieve genomic sequences of inverted repeats identified by run_einverted.pl and fold with RNAfold
$ perl fold_inverted_repeats.pl sample_IRs sample_genome.fa sample_IRs_f  

# script that calls miRcheck on folded inverted repeats to identify 20mer miRNA candidates
$ perl extract_einverted_20mers.pl sample_IRs_f sample_IRs_f_20mers

第一步就报错了额

因此需要打开路径下的 run_patscan.pl (notepad+++)进行查看。

第一个问题需要将 touch 改为 echo test>,这是windows下的使用方法。

第二个问题竟然是默认我安装了 patscan,你咋不在 REQUIREMENTS 说呢!

PatScan

Investigates biological patterns. PatScan is an application based on the use of an expressive pattern language to detect predetermined DNA and protein sequence patterns. Users have the possibility to look for repeats, hairpins, stem loops or pseudoknots. The application can be run under a command-line interface for researchers with advanced skills or as a simplified web interface exploiting a drag & drop system.

然后默默地再安装:

patscan下载地址 http://www.theseed.org/servers/downloads/scan_for_matches.tgz

安装也会遇到问题...

在解压路径中进行准备,会生成一个exe文件,也就是MirCheck需要调用的程序。

代码语言:javascript
复制
$ gcc -O -o scan_for_matches  ggpunit.c scan_for_matches.c

然后再次运行第一步:

代码语言:javascript
复制
$ perl run_patscan.pl sample_miRNAs.fa sample_genome.fa 2 0 0 sample_miRNA_matches

成功如下图:

然后第二步:

代码语言:javascript
复制
$ perl retrieve_genomic_regions.pl window sample_miRNA_matches  sample_genome.fa sample_miRNA_matches_genomic

又有一个报错。

然后把 lib路径修改为下载地址,比如 J:/download/chrome/miRcheck/_miRcheck_scripts/miRcheck

代码语言:javascript
复制
# Calls miRcheck to evaluate secondary structures of miRNA candidates
$ perl evaluate_miRNA_candidates.pl sample_miRNA_matches_genomic_folded sample_miRNA_matches_genomic_mirs

# Script to run einverted (emboss) to find inverted repeats in  genome-sized sequences. Breaks genomic sequences up into overlapping fragments and calls einverted on each fragment.
$ perl run_einverted.pl sample_genome.fa sample_IRs  

# script to retrieve genomic sequences of inverted repeats identified by run_einverted.pl and fold with RNAfold
$ perl fold_inverted_repeats.pl sample_IRs sample_genome.fa sample_IRs_f  

# script that calls miRcheck on folded inverted repeats to identify 20mer miRNA candidates
$ perl extract_einverted_20mers.pl sample_IRs_f sample_IRs_f_20mers

之后就一步步运行即可。

Citation

DOI:https://doi.org/10.1016/j.molcel.2004.05.027

参考资料

http://www.biophys.uni-duesseldorf.de/~steger/BioInfII/PatScan/readme_scan_for_matches.html

http://blog.theseed.org/servers/2010/07/scan-for-matches.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • miRNA介绍
  • README
  • REQUIREMENTS
  • DOWNLOAD
  • TEST
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档