肠道微生物是近两年的研究热点,但是去年登上Science封面的是一篇研究肿瘤中的微生物的文章,另人眼前一亮,有些肿瘤即使没有与外界环境相通,也是有微生物的存在的。外行看热闹,内行要看看他是具体怎么进行研究的。

首先是研究手段,并不是宏基因组,是16S,估计是由于肿瘤中的微生物含量过少,多数不能满足宏基因组的建库所需DNA的量。然后,作者是用了一种不同于常规16S的研究手段进行的,扩增并测序了5段V区(68%的长度),然后合并分析的,作者称之为SMURF的方法流程,认为这个方法是接近于三代16S全长的物种分辨率的,并给出了参考文献。可应用于任何一组扩增子,从而实现有效的下游分析。

鉴于三代测序的成本居高不下,这个方法还是有一定市场的,二代的白菜价格,获得三代的结果,何乐而不为呢?有这么好的学习资源,我们当然要学习一下嘛。建库实验方面并没有多大的问题,我们主要来看下数据分析的部分。

算法的运行方式有两种,matlab里面运行,类似R语言,或者依赖于MCR库,不需要安装matlab(类似于R语言的运行方式吧),我选择了后者,毕竟matlab收费的。

还有个超级可爱的图标,github上看不到,拖回国内才发现。

软件安装与配置

提前声明,这个脚本会报错,不能使用,如想使用可采用qiime2插件进行。以下内容可无视。


# 下载依赖的matlab MCR平台(作者使用matlab写的分析软件)虽然这是美帝的,但是学习先进技术嘛!
mkdir MCR && cd MCR
wget https://www.mathworks.com/supportfiles/downloads/R2014a/deployment_files/R2014a/installers/glnxa64/MCR_R2014a_glnxa64_installer.zip
unzip MCR_R2014a_glnxa64_installer.zip
# 安装下,必须有图形界面才能安装成功。
sudo ./install
# 设置环境变量,这里是临时的,所以退出终端后埼再添加一次
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64
export XAPPLRESDIR=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/X11/app-defaults
# 报了个这个,因为找不到图形界面,算法不需要,应该不影响
#Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
cd ..
# 下载脚本
# https://github.com/NoamShental/SMURF.git
# 我把它拉到了gitee上,克隆速度快上许多,特别是这个,因为挺大的
git clone https://github.com/NoamShental/SMURF.git
cd SMURF
# 数据库准备
cat ./Green_Genes_201305/unique_up_to_3_ambiguous_16S/GreenGenes_201305_unique_up_to_3_ambiguous_16S.fasta.gz*> ./Green_Genes_201305/unique_up_to_3_ambiguous_16S/Green_Genes_201305_unique_up_to_3_ambiguous_16S.fasta.gz
gunzip ./Green_Genes_201305/unique_up_to_3_ambiguous_16S/Green_Genes_201305_unique_up_to_3_ambiguous_16S.fasta.gz

运行与结果

运行好像一条命令就行了,前提是配置好引物等参数。
需要修改的参数:

% ********************** GENERAL PARAMETERS ********************
base_samples_dir = '/';
...
% ********************** SAMPLE PREP PARAMETERS ********************
% Set the 16S reference DB
uniS16_dir = './Green_Genes_201305/unique_up_to_3_ambiguous_16S';
db_filename = 'Green_Genes_201305_unique_up_to_3_ambiguous_16S';
# 其他参数,不确定是否需要vi Configs/db_params_script.m#把 ../ 替换为./或者在Standalone文件夹运行,不需要改
vi Configs/adhoc_db_params_script.m

运行啦

chmod +x ./StandaloneVersion/SMURF_lintime ./StandaloneVersion/SMURF_lin ./Configs/compiled_params_script.m

当然,示例文件肯定不会报错,很轻松出结果嘛。


```bash
time  ./StandaloneVersion/SMURF_lin ./Configs/compiled_params_script.m
Doing quality filters
Part 1/1 - Block 1/5
Part 1/1 - Block 2/5
Part 1/1 - Block 3/5
Part 1/1 - Block 4/5
Part 1/1 - Block 5/5
Number of reads: 472350
Percent of long enough reads: 0.94713
Percent of good reads: 0.91592
Counting fasta write: 1
Elapsed time is 9.831863 seconds.
Mapped to primers 82% of unique reads
Mapped to primers 97% of read counts
regions_files =
6x1 struct array with fields:namedatebytesisdirdatenum
ans =
./Green_Genes_201305/unique_up_to_3_ambiguous_16S_amp6Regions_2mm_RL130/GreenGenes_201305_unique_up_to_3_ambiguous_16S_amp6Regions_2mm_RL130_region1.mat
Loading bacterial DB for region 1 out of 6 from original region 1
Loading bacterial DB for region 2 out of 6 from original region 2
Loading bacterial DB for region 3 out of 6 from original region 3
Loading bacterial DB for region 4 out of 6 from original region 4
Loading bacterial DB for region 5 out of 6 from original region 5
Loading bacterial DB for region 6 out of 6 from original region 6
Region 1 out of 6
Keep high freq: 28% of reads
Keep high freq: 91% of counts
Building matrix M
Building matrix Q--------------------------------------------
...
--------------------------------------------
Region 6 out of 6
Keep high freq: 2% of reads
Keep high freq: 89% of counts
Building matrix M
Building matrix Q
--------------------------------------------
Region 1 out of 6
Keeping reads matched to DB: 95% of reads
Keeping reads matched to DB: 98% of counts
--------------------------------------------
...
--------------------------------------------
Region 6 out of 6
Keeping reads matched to DB: 97% of reads
Keeping reads matched to DB: 100% of counts
--------------------------------------------
Filter out columns (bacteria)
Normalize frequency counts
Build matrix A_L2
Iter:4674. Error reduction of X (L1 norm): 9.7149e-07
Total iterations time: 60.4761
Error using main_multiple_regions (line 34)
Not enough input arguments.
Error in main_smurf (line 36)MATLAB:minrhsreal  9m1.616s
user    11m32.462s
sys 0m38.527s

所以它是报错了,这个代码有问题,但是github上发现了另一个实现方式,qiime2 Sidle插件,也可以做到,切换工具,继续学习。

SMURF-Science封面文章使用的16S新流程相关推荐

  1. 中国新冠研究登上Science封面,全球首次揭示新冠病毒人体蛋白受体结构

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:新智元 [导读]日前,西湖大学周强实验室的一项关于新冠病毒的研究登上了最新一期S ...

  2. 西湖大学新冠研究登上Science封面,解析ACE2全长结构,是他们看清了新冠病毒如何入侵人体...

    郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 西湖大学周强团队的此前成功解析了新冠病毒受体ACE2全长结构,现在,这一成果登上了Science封面. 这篇论文最早在一个多月前发表在了预 ...

  3. 哈佛新研究登上Science封面:这个机械外骨骼,是一条“轻功”短裤

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 刚刚,Science封面刊发外骨骼穿戴设备的最新研究. 这是一款"神奇"的设备,能像穿短裤(方便)一样穿在身上(简洁) ...

  4. NBT封面文章:水稻根系微生物组与氮肥利用效率关系(端午水稻专题)

    文章目录 中科院遗传发育所揭示籼粳稻根系微生物组与氮肥利用效率关系 评论 Reference 作者简介 白洋 储成才 张婧赢 刘永鑫 张娜 猜你喜欢 写在后面 今天端午节,祝大家节日快乐! 大家每年端 ...

  5. 谷歌量子计算突破登Science封面!首次对化学反应进行量子模拟

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 今天,谷歌的量子计算机登上了Science封面,他们成功用12个量子比特模拟了二氮烯的异构化反应. 这已经是谷歌量子计算机第二次登上顶级学 ...

  6. AlphaZero登上Science封面:从小白开始制霸多个游戏

    DeepMind 推出的 AlphaGo 曾在围棋项目中取得了超越人类的表现,其研究曾经两次登上 Nature.近日,AlphaGo 的「完全自我博弈加强版」AlphaZero 的论文又登上另一大顶级 ...

  7. Science封面6连发:人类最完整的基因组测序完成!

    全世界科学家近40年的努力,今天终于圆满了! Science连发6篇封面文章,宣布人类完整基因组测序计划正式完成. 据路透社.Science等报道,这项成果填补了前人几十年努力后仍然存在的空白,为全球 ...

  8. 发表 SCI 封面文章是一种怎样的体验?

    成楚旸 ,专栏"化学札记"已开通,欢迎关注 袁霖. 渠志倍 等 298 人赞同 谢邀. 因为老板比较在意这个,我们组又有专业美工,所以我们组比较好的paper都会试着投封面. 自己 ...

  9. 手把手带你重现菌群封面文章全部结果图表

    文章简介 图表解读与绘制 1. 水稻根系微生物随时间变化吗? 2. 微生物组随时间变化的规律 3. 哪些菌门随时间呈现规律变化呢? 4. 哪些菌可以作为生育时间的biomarkers? 猜你喜欢 写在 ...

最新文章

  1. Storm原理与实践--大数据技术栈14
  2. canvas系列教程02-直线和曲线
  3. Android中ExpandableListView控件基本使用
  4. Restic 跨平台加密备份工具
  5. 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优...
  6. bootstrap 仿实例
  7. C++线程和Java线程的对比
  8. 史上最全三维建模软件汇总
  9. java 汉字转拼音_java汉字转拼音
  10. 免费ICP域名备案查接口
  11. 【 数理逻辑 二 】逻辑概述、现代逻辑学发展历程和形式系统与形式语言
  12. 已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。
  13. 首钢股份——超低排放排头兵
  14. matplotlib生成没有留白的图片
  15. EPICS应用程序开发2 -- EPICS概要
  16. OGG遇到相关问题汇总
  17. OC学习----设计模式
  18. Elasticsearch之自定义同义词开发实践
  19. OpenStack Mitaka Horizon 主题开发
  20. 初步使用Arduino

热门文章

  1. Java SE 运算符
  2. 广州佰新网络:平面设计包括哪些细分领域?
  3. unity-shader-深度图及其应用
  4. 刷题总结——分配笔名(51nod1526 trie树)
  5. php文件断点续传,php文件下载限速,文件断点续传,多线程下载文件原理解析
  6. Android开发之代码检测工具Lint和阿里巴巴编码规范扫描(代码检测工具)
  7. CAD快速进入到手机及地图叠加(导入外业精灵、导入图新地球、导入GlobalMapper、CAD转tif、CAD转mbt、CAD转KML)
  8. iMazing高效便捷的数据转移功能
  9. 3704对象关闭时_实时错误‘3704’:对象关闭时,不允许操作。
  10. CString:Getbuffer和Releasebuffer的作用