LncFinder | 非编码RNA的识别与分析神器!!!~

news2025/1/21 20:19:05
alt

1写在前面

非编码RNA(ncRNAs), 是指不编码蛋白质RNA。😗
其中包括rRNAtRNAsnRNAsnoRNA, lncRNAmiRNA等多种已知功能的RNA,还包括未知功能的RNA。🤓

长链非编码RNAlncRNA)指的是长于200核苷酸的不编码蛋白质的转录物(随着对ncRNAs的不对认知,这个概念也在不断修改😂)。

在我们完成测序后,一个很重要的步骤就是识别序列,本期我们介绍一个基于Logarithm-Distance, Multi-Scale Structural InformationEIIP-Based Physicochemical PropertylncRNA识别与分析工具,LncFinder。🧐


alt

2用到的包

rm(list = ls())
library(LncFinder)
library(tidyverse)

3示例数据

包内提供了示例数据,我们一起看一下吧。

data("demo_DNA.seq")

Seqs <- demo_DNA.seq

str(Seqs)
alt

4不基于二级结构特征的lncRNA预测

4.1 开始预测

result_1 <- LncFinder::lnc_finder(Seqs, #fasta或二级结构seq
SS.features = F, ## 二级结构seq
format = "DNA", ## 'DNA' / 'SS'
frequencies.file = "human",
svm.model = "human",
parallel.cores = 2 ## -1为调用所有cores
)

4.2 查看结果

DT::datatable(result_1)
alt

5基于二级结构特征的lncRNA预测

这里我们就需要有一个二级结构序列文件(Dot-Bracket Notation)做为input了。😘


5.1 windows下运行

## 转为string
Seqs_windows <- sapply(Seqs, seqinr::getSequence, as.string = T)

## 写为fasta文件
seqinr::write.fasta(Seqs_windows,
names = names(Seqs_windows),
file.out = "tmp.RNA.fa",
as.string = T
)

RNAfold.path <- '"E:/Program Files/ViennaRNA/RNAfold.exe"'

RNAfold.command <- paste(RNAfold.path, "--noPS -i tmp.RNA.fa -o output")

system(RNAfold.command)

5.2 UNIX/Linux下运行

data("demo_DNA.seq")

Seqs_unix <- demo_DNA.seq

Seqs_unix <- LncFinder::run_RNAfold(Seqs_unix,
RNAfold.path = "RNAfold",
parallel.cores = 2)

5.3 网页获取

网址如下:👇
http://rna.tbi.univie.ac.at/cgi-bin/RNAWebSuite/RNAfold.cgi

5.4 开始预测

result_2 <- LncFinder::lnc_finder(Seqs_unix, 
SS.features = T,
format = "SS",
frequencies.file = "human",
svm.model = "human",
parallel.cores = 4)
alt

5.5 查看结果

这里我们就可以获得.()组成的Dot-Bracket了。🤪

DT::datatable(result_2)
alt

6构建新模型

6.1 创建frequency文件

这里输入文件是DNA序列。

data(demo_DNA.seq)

Seqs <- demo_DNA.seq

myFile_1 <- LncFinder::make_frequencies(cds.seq = Seqs[1:5],
lncRNA.seq = Seqs[5:10],
SS.features = F,
cds.format = "DNA",
lnc.format = "DNA",
check.cds = T,
ignore.illegal = F
)

当然你的input也可以是前面计算好的二级结构文件。😏

data(demo_SS.seq)

SS.Seq <- demo_SS.seq

myFile_2 <- LncFinder::make_frequencies(cds.seq = SS.Seq,
lncRNA.seq = Seqs,
SS.features = F,
cds.format = "SS",
lnc.format = "DNA",
check.cds = F,
ignore.illegal = T)


我们甚至可以再复杂一点,把这两个示例结果都用上。🥳

myFile_3 <- LncFinder::make_frequencies(cds.seq = Seqs, 
mRNA.seq = SS.Seq[1:5],
lncRNA.seq = SS.Seq[6:10],
SS.features = T,
cds.format = "DNA",
lnc.format = "SS",
check.cds = T,
ignore.illegal = T)

6.2 开始构建新模型

这里为了节约时间,我们把range设置的小一点,大家在实际应用中使用默认值就好了。🤒

myFile <- LncFinder::make_frequencies(cds.seq = Seqs, 
mRNA.seq = SS.Seq[1:5],
lncRNA.seq = SS.Seq[6:10],
SS.features = T,
cds.format = "DNA",
lnc.format = "SS",
check.cds = T,
ignore.illegal = F)


myModel <- LncFinder::build_model(mRNA.seq = SS.Seq[1:5],
lncRNA.seq = SS.Seq[6:10],
frequencies.file = myFile,
SS.features = TRUE,
lncRNA.format = "SS",
mRNA.format = "SS",
parallel.cores = -1,
folds.num = 10,
seed = 123,
gamma.range =
(2^seq(-2, 0, 1)), ## ranges for SVM parameter
cost.range = c(1, 4, 8) ## the ranges for SVM parameter
)
alt

6.3 pre-built model

这个包里包含了一些预制好的model,大家有兴趣可以在这个网址看到:👇
https://github.com/HAN-Siyu/LncFinder/tree/master/Data/Additional%20Models

然后通过load使用吧。🤩

load("gallus.data.RData")

7调整SVM模型参数

这里我们调用一下已经识别的示例数据。🥳

data("demo_dataset")

dat <- demo_dataset

DT::datatable(dat)
alt

接着我们将return.model设为T,返回最佳模型。🤪
同样这里为了节约时间,我们把range设置的小一点。😉
拿到最佳模型就开始去identify吧。🤩

tuneSVM <- LncFinder::svm_tune(dataset = dat,
positive.class = "NonCoding",
folds.num = 5,
seed = 123,
gamma.range = (2^c(-3, -1)),
cost.range = c(1, 4, 8),
return.model = T,
parallel.cores = -1)

alt

8LncFinder的表现

按照原文中的比较,在人类小鼠小麦数据集上,表现都比较出色, 优于其他方法(左右滑动查看吧):👇

alt
alt
alt
alt

9如何引用

📍 Han S, Liang Y, Ma Q, et al. LncFinder: an integrated platform for long non-coding RNA identification utilizing sequence intrinsic composition, structural information and physicochemical property. Brief Bioinform. 2019;20(6):2009-2027. doi:10.1093/bib/bby065


最后祝大家早日不卷!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

📍 往期精彩

📍 🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!
📍 🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
📍 🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
📍 🤩 scRNA-seq | 吐血整理的单细胞入门教程
📍 🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~
📍 🤩 RColorBrewer | 再多的配色也能轻松搞定!~
📍 🧐 rms | 批量完成你的线性回归
📍 🤩 CMplot | 完美复刻Nature上的曼哈顿图
📍 🤠 Network | 高颜值动态网络可视化工具
📍 🤗 boxjitter | 完美复刻Nature上的高颜值统计图
📍 🤫 linkET | 完美解决ggcor安装失败方案(附教程)
📍 ......

alt

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/105669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

35. 搜索插入位置

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入:…

机器学习100天(十六):016 逻辑回归损失函数

机器学习 100 天,今天讲的是:逻辑回归损失函数。 一、如何找到最佳分类直线 讲完了逻辑回归基本原理之后,我们再来思考一个非常关键的问题:就是如何找到最佳的分类直线呢? 如图中所示,如何判断这三条直线哪个更好?线性回归里,我们可以用均方误差作为损失函数,选择均…

非零基础自学Golang 第14章 反射 14.4 反射三定律

非零基础自学Golang 文章目录非零基础自学Golang第14章 反射14.4 反射三定律14.4.1 接口到反射类型的转换14.4.2 反射到接口类型的转换14.4.3 修改反射类型对象第14章 反射 14.4 反射三定律 在使用反射时&#xff0c;牢记这三条定律会让你对反射有更加清晰的认识。 14.4.1 接…

网络攻防中如何在海量虚假IP中找到目标服务或者设备的真实IP地址

网络攻防中如何在海量虚假IP中找到目标服务或者设备的真实IP地址。 Fav-up是一款功能强大的IP查询工具,该工具可以通过Shodan和Favicon(网站图标)来帮助研究人员查询目标服务或设备的真实IP地址。 工具安装 首先,该工具需要本地设备安装并部署好Python 3环境。然后广大研究…

5 | 如何更换证书

目录1 操作场景2 操作类型2.1 更换自有证书2.2 腾讯云托管证书2.3 一键替换证书3 结果校验1 操作场景 如果证书已过期&#xff0c;用户在浏览网站的时候会显示证书不可信&#xff1b; 2 操作类型 2.1 更换自有证书 登录 Web 应用防火墙控制台&#xff0c;在左侧导航中&…

load_ext是干什么的(autotime,autoreload)

文章目录load_extautotimeautoreload声明&#xff1a;本文都是自己的理解。 load_ext load_ext是jupyter notebook中的一个命令&#xff0c;而jupyter notebook和Ipython几乎可以等同。那load_ext作用是什么呢&#xff1f;我感觉作用就是类似于import。 load_extload extenst…

单片机AT89C51六位数码管秒表

详细代码讨论加我QQ&#xff1a;1271370903 1.1设计目的 本设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理&#xff0c;结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来&#xff0c;使得系统能够实…

【Unity大气渲染】关于单次大气散射的理论知识

参考 最近在实现程序化天空盒&#xff0c;到了实现大气散射这一步&#xff0c;索性查漏补缺&#xff0c;把大气散射这块儿的理论知识补充明白了。跟着【实战】从零实现一套完整单次大气散射_一的推荐&#xff0c;学习这块我直接从Volumetric Atmospheric Scattering啃起。 补…

平安夜,愿大家平安健康!

12月24日平安夜(Christmas Eve)&#xff0c;是圣诞节前夕的晚上&#xff0c;寓意着耶稣诞生的夜晚会给世人带来平安幸福。 据《圣经》记载&#xff0c;耶稣诞生的那一晚&#xff0c;在旷野看守羊群的牧羊人&#xff0c;突然听见有声音自天上传来&#xff0c;向他们报耶稣降生的…

华为云桌面能为设计行业提供哪些“黑科技”?

华为云桌面能为设计行业提供哪些“黑科技”&#xff1f; 如今&#xff0c;传统设计模式中的软硬件更新迭代成本高、团队协作低效、资产利用率低和上下游进步不同步等缺陷日益显露&#xff0c;已经不能适应市场需求。华为云桌面携手赞奇科技打造出一个全方位的一站式云上内容制作…

[内网渗透]—GPO批量控制域内主机

GPO GPO(组策略管理),用来存储Active Directory中的策略。 自Windows Server2008开始,GPO开始支持计划任务,便于管理域中的计算机和用户,默认情况下,域用户的组策略每90分钟更新一次,但会随机偏移0-30分钟,域控制器的组策略每5分钟刷新一次 应用场景 在拿到域控后,…

数字硬件建模SystemVerilog-组合逻辑建模(3)使用函数表示组合逻辑

数字门级电路可分为两大类&#xff1a;组合逻辑和时序逻辑。锁存器是组合逻辑和时序逻辑的一个交叉点&#xff0c;在后面会作为单独的主题处理。组合逻辑描述了门级电路&#xff0c;其中逻辑块的输出直接反映到该块的输入值的组合&#xff0c;例如&#xff0c;双输入AND门的输出…

艾美捷Annexin V-FITC凋亡检测试剂盒:简单、快速

艾美捷Annexin V-FITC凋亡检测试剂盒&#xff1a;简单、快速的检测&#xff0c;区分凋亡细胞和坏死细胞。 艾美捷Annexin V-FITC凋亡检测试剂盒基本参数&#xff1a; 中文名称&#xff1a;Annexin V-FITC apoptosis detection kit 英文名字&#xff1a;Annexin V-FITC apopto…

Redis6入门到实战------ 四、Redis配置文件介绍

1.1 单位 配置大小单位,开头定义了一些基本的度量单位&#xff0c;只支持bytes&#xff0c;不支持bit 大小写不敏感 1.2 INCLUDES包含 类似jsp中的include&#xff0c;多实例的情况可以把公用的配置文件提取出来 1.3 网络相关配置 1.3.1 bind 默认情况bind127.0.0.1只能接…

linux基础学习-vim使用方法

直接输入vim&#xff0c;进入的是空白vim基本使用 命令模式&#xff1a;按键代表命令 i/a&#xff0c;切换为编辑模式:,切换到末行模式dd&#xff0c;删掉一行&#xff08;前面可以加数字&#xff09;yy&#xff0c;复制光标所在行&#xff08;前面可以加数字&#xff09;p&…

一建,PMP,软考,优先考哪个?

需要pmp资料可看封面或在文末获取。 这三者的共同点都是含有“项目管理”知识&#xff0c;可以用于项目管理岗位。 根据容易程度和知识点的基础程度来分&#xff0c;最好按照&#xff1a;PMP&#xff0c;软考&#xff0c;一建的顺序来考。 分别介绍一下三者&#xff1a; 【…

Robust Pose Estimation in Crowded Scenes with Direct Pose-Level Inference 阅读笔记

基于直接姿态级推理的拥挤场景鲁棒姿态估计 NeurIPS 2021 论文链接 代码链接 摘要&#xff1a;拥挤场景下的多人姿态估计具有挑战性&#xff0c;因为重叠和遮挡使得难以检测人体边界框并从单个关键点推断姿态线索&#xff08;关键点位置&#xff09;。为解决该问题&#xff0…

[MySQL]-死锁案例-唯一索引上的并发插入

[MySQL]-死锁案例-唯一索引上的并发插入 森格 | 2022年12月 本文是对实际work中遇到的死锁问题的复现&#xff0c;其目的是学会去分析死锁日志、还原日志上下文、理解死锁产生原因、MySQL处理机制&#xff08;回滚事务的选择&#xff09;&#xff0c;最后到死锁的解决方案的提…

7张图,剖析Redis缓存,文末附Redis工具类源码,建议收藏

一、缓存是什么&#xff1f; 缓存就是数据交换的缓存区&#xff0c;是存储数据的地方&#xff0c;一般读写性能较高。 二、缓存的作用和成本 1、缓存的作用 降低后端负载 提高读写效率&#xff0c;降低响应时间 2、缓存的成本 数据一致性成本 代码维护成本 运维成本 三、…

IDEA中新建找不到Vue Component | IDEA右键Create New Servlet找不到Setvlet

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 解决&#xff1a;IDEA中新建找不到Vue Component 打开IDEA&#xff0c;依次打开 &#xff08;文件——设置——编辑器——文件或代码模板&#xff09; 找到右侧&#…