24

我与生信技能树的一年多,和曾老师加微信好友的一年

我与生信技能树的缘分在2019年的夏天开始的,之前做的实验都是湿实验,学的生信知识还是大学仅有的一门生物信息学课上,学的极其基础只是学会用一些网页工具和序列比对的工具。缘分兜兜转转,因为考研调剂调到了生物信息学,当时我只是想有个学上,觉得生信这个专业稍微好调剂点,而且有一点点兴趣,但是对于自己后面究竟要干点什么是不 Continue reading

24

芯片加上测序再结合qPCR应该是很保险了吧

看到朋友圈有人转发了一个研究,是2020年8月4日, 著名肝脏学杂志Hepatology在线发表了哈尔滨医科大学附属第二医院崔云甫团队的 一项circRNA研究工作,报道胆管癌中ERBB2来源circRNA(文中命名为circ-CCAC1)在胆管癌中具有促癌作用。circ-CCAC1可以通过胞外囊泡进入内皮细胞并导致内皮细胞屏障的破损 Continue reading

24

新物种的基因组组装的冷暖自知

最近有一些朋友咨询新物种的基因组组装相关数据分析,我其实是七年前有参与过一点点啦,是大黄鱼等基因组,好像还是什么973项目,那个时候基因组都是cns级别文章。但是自从离开北京后一直做的都是人类疾病,尤其是癌症领域的数据分析,没有把新物种的基因组组装相关数据分析捡起来。

Continue reading

24

要说多少遍非零状态的R包安装失败根本就不是看它本身

前些天我们在《生信技能树》和《生信菜鸟团》同步宣传了:Linux公益课2021的视频,并且提供了一个免费的服务器是,是60万的超高配置服务器 ( 96线程512G内存48T硬盘的5台)的其中一台。但是很多人上完这个公益课,还想蹭我们的服务器(因为承诺是免费一个月),所以要求我安装一些R包。 Continue reading

24

什么才是生物信息学呢?

看到了朋友圈有人转发了这样的一个系列:

创作者的心声很有意思:想和大家一起开始学习生物信息学。因为最近看文献(涉及生信),总是大概明白了,自己还是无法操作。我也关注了很多生信的公众号,加了几个群,心动种草了一些线上课程。但是实在是觉得自己的基础知识太薄弱了,都看不懂群里的提问。所以决定要系统学一下,先看几本书吧,然后再学个线上操作课。

让我想起来了一个故事,就是现阶段生物信息学本科培养的人才与社会工作实践脱钩的问题。因为我看到他这个学习内容完全就是现阶段生物信息学本科培养大纲。

比如,他最新的一个是:【陪你学·生信】十二、RNA相关的简单分析,提到了Mfold 可以做RNA的二级结构预测,很有意思。在其网页工具上面输入你需要fold的序列,点击 fold RNA。如果事先不知道关于这段序列的任何信息,那么其他的参数都保持默认,就可以拿到该RNA序列的二级结构,确实是超级好用。

其实呢,这样的绝大部分生物信息学本科专业所教的知识点啦,但是这些呢,并不是社会实践中的生物信息学,真正的生物信息学不仅仅是能使用它这个mfold的网页工具,还需要能解决问题。比如这个网页工具是有序列输入长度限制的,如果你的序列超级长,比如最近流行的新冠病毒的某个RNA基因,就会超出限制,那么我们就得使用另外一个方法来进行mfold, 就是命令行软件使用。

软件安装3部曲

很久以前我分享过1000个生物信息学软件安装,见:生物信息学常见1000个软件的安装代码!,它们是有规律的,比如对C语言的源代码软件来说,就是3部曲啦,首先,登陆你的Linux系统,然后敲入下面的命令,全部的代码如下:

mkdir -p ~/biosoft/mfold && cd ~/biosoft/mfold 
wget http://www.unafold.org/download/mfold-3.6.tar.gz
tar zxvf mfold-3.6.tar.gz
cd mfold-3.6
./configure prefix=$HOME/biosoft/bin/
make
make install
# 前提是你的电脑存在 $HOME/biosoft/bin/ 文件夹,并且该 $HOME/biosoft/bin/ 文件夹是在环境变量
# 如果不在环境变量,就需要下面的2行代码哦!
PATH=$PATH:$HOME/biosoft/bin
export PATH

这样的话,你的Linux系统里面就有了mfold这个命令,如果你认真看它,其实就会发现它是一个shell脚本:

#!/bin/bash
# This shell script folds an RNA or DNA sequence and creates output
# files.
export _POSIX2_Version=0
export Package_URL="http://mfold.rna.albany.edu"

export DATDIR=`mfold_datdir|sed -e 's@/$@@'`
export Package=mfold
export Version=3.6

# Abort subroutine
abort() {
 rm -f mfold.log fort.*
 if [ $# -gt 0 ] ; then
 echo -e "$1"
 fi
 echo "Job Aborted"
 exit 1
}

虽然如此简单,但是没有这个基础的小伙伴仍然是会花式报错哦:

image-20210111214306533

输入数据的准备

既然我们在其网页工具都是输入序列即可,软件使用理论上也是如此,前面的网页工具使用的时候,我就是输入了软件安装包里面自带的测试序列:

>MDV-1 (-) RNA
GGGGAACCCCCCUUCGGGGGUCACCUCGCGCAGCGGGCUGCGCGAAGGGGCCACGCUGCGAAGCAGCGUG
GCGGUUCUCGUGCGUUACCGAAACGCACGAAGGUCGCGCCUCUUCACGAGGCGUCACCUGGGAGAGCGCG
AAAGCGCUAGCCCGUGACUCGUCACGGUCGAACUCCCGUACGAGGUGCCCGCACCUCGUCCCCCCUUCCG
GGGGGUCCCCA

默认参数运行mfold

如果前面的对mfold软件的C语言的源代码安装三部曲正常的话,该软件就可以调用,先看看帮助文档,如下:

$mfold
Usage is
mfold SEQ='file_name' with optional parameters:
 [ AUX='auxfile_name' ] [ RUN_TYPE=text (default) or html ]
 [ NA=RNA (default) or DNA ] [ LC=sequence type (default = linear) ]
 [ T=temperature (default = 37 deg C) ] [ P=percent (default = 5) ]
 [ NA_CONC=Na+ molar concentration (default = 1.0) ]
 [ MG_CONC=Mg++ molar concentration (default = 0.0) ]
 [ W=window parameter (default - set by sequence length) ]
 [ MAXBP=max base pair distance (default - no limit) ]
 [ MAX=maximum number of foldings to be computed (default 100) ]
 [ MAX_LP=maximum bulge/interior loop size (default 30) ]
 [ MAX_AS=maximum asymmetry of a bulge/interior loop (default 30) ]
 [ ANN=structure annotation type: none (default), p-num or ss-count ]
 [ MODE=structure display mode: auto (default), bases or lines ]
 [ LAB_FR=base numbering frequency ] [ ROT_ANG=structure rotation angle ]
 [ START=5' base # (default = 1)] [ STOP=3' base # (default = end) ]
 [ REUSE=NO/YES (default=NO) reuse existing .sav file ]

对于软件安装包里面自带的测试序列,我们可以这样运行:

$mfold SEQ='test.txt' 
# 不知道为什么我的报错了,如下:
mfold version 3.6
REUSE= NO
test.txt.pnt created.
Sequence length is 221
Folding at 37 degrees using version 3.0 dat files.
Save file created using nafold.
Save file is empty. No foldings.
Job Aborted

好奇怪啊,我也不知道为什么我的报错了。因为这个软件并不是我的刚需,我也懒得去解决这个bug啦,如果有这方面经验的小伙伴欢迎留言交流哈!

输出结果解读

如果是正确运行,大概会出现如下结果:

542K Mar 21 2009 mdv1.37.ct
5.1K Mar 21 2009 mdv1.37.ext
 13K Mar 21 2009 mdv1.37.plot
 39 Mar 21 2009 mdv1.dG
 61K Oct 24 2009 mdv1.jpg
 239 Nov 19 2009 mdv1-local.seq
 33 Nov 19 2009 mdv1.log
 51K Oct 24 2009 mdv1.pdf
 14K Mar 21 2009 mdv1.plot
 12K Oct 24 2009 mdv1.png
 21K Oct 24 2009 mdv1.ps
 109 Mar 21 2009 mdv1.run
4.0K Jan 11 16:12 mfold

相当于你在网页工具里面提交序列,选择参数,然后运行拿到的交互式结果。

其它编程语言的mfold

比如:https://pypi.org/project/seqfold/, seqfold is an implementation of the Zuker, 1981 dynamic programming algorithm, the basis for UNAFold/mfold, with energy functions from SantaLucia, 2004 (DNA) and Turner, 2009 (RNA).

类似的,也会有R语言,java等等开发的mfold。

conda或者docker

更高级啦,这里略。如果你感兴趣,可以考虑加入我们的《生信小成之conda交流群》。

我们邀请到了,简书conda教程单篇阅读量破40万的人气作者卖萌哥为咱们《生信技能树》和《生信菜鸟团》粉丝在钉钉群直播授课。直播是免费的哈,赶快下载钉钉软件加入吧,“Linux公益课(2021) 生物信息学”群的钉钉群号:33840083,下周六(2021-01-16)晚上八点开课哈。

同时我们提供一个微信交流群(钉钉软件我们并不是随时在线,不方便交流,钉钉仅仅是直播授课时候开启聊天),还是老规矩,18 元进群,一个简单的门槛,隔绝那些营销号!仅此而已,考虑清楚哦! 进群方式详见公众号推文:很多事情不一定有答案(但是可以有交流渠道)

我的疑问是

到底是各式各样的网页工具操作是生物信息学呢,还是基于Linux的NGS操作才是生物信息学呢?