7 宏基因组课程问题记录

7.1 服务器登录和软件安装问题

7.1.1 请问老师,用rstudio登陆服务器和用终端ssh登陆有什么区别?

  1. Rstudio-server登录和终端登录本质是一样的方式,都可以完成一样的功能。
  2. Rstudio-server登录简单易用,适合初学者,可以快速了解服务器的目录结构、文件内容。有界面,而且是熟悉的界面,可以减少陌生感。
  3. Rstudio-server登录还有4个好处:
    1. 运行代码直接点run,省却了代码拷贝的过程,更简单方便。
    2. 代码修改后随时记录。
    3. 网断了也不怕,再次登录上去程序还在运行。相当于自带nohup功能。
    4. 调用服务器的资源,大数据作图更方便。

7.1.2 老师,课程会讲解服务器安装rstudio server的步骤吗?

  1. rstudio server安装的视频见 4.1.7
  2. rstudio server安装需要有root根用户权限。
  3. RStudio-Server安装和内网穿透要点

7.1.3 Rstudio 直接拖拽就能上传自己数据?

  1. Rstudio有数据上传 (upload)和下载 (export)操作,可以直接点击进行。
  2. 如果是大的文件,如几个G或几十G的原始测序数据,建议用FileZilla等工具,传输更稳定快捷。

7.1.4 打包的流程后面还会陆续更新软件版本吗?

  1. 我们提供conda-pack打包后的环境供大家直接下载到自己服务器,解压就可以使用,省却下载安装过程,成功率100%,不受联网或网速限制。
  2. 我们提供的环境是当前最新的。
  3. 如果自己后续需要更新,可以激活环境后,再update;示例代码如下conda activate meta; mamba update -- all

7.1.5 请问没有服务器root权限的话可以用咱们打包好的流程?

  1. 可以的。Conda解决了没有root权限的问题,可以都安装在自己有权限的目录如家目录下。
  2. Linux - 一文掌握Conda软件安装:虚拟环境、软件通道、加速solving、跨服务器迁移

7.1.6 去换行符为啥不用dos2unix命令?

  1. 可以用dos2unix命令,也可以用sed 's/\r//g'替换,是个人习惯问题。

7.1.7 如果有自己的服务器的话,怎么去配置呢?

  1. 参考0Install.sh脚本和往期视频,具体参考4.1.7部分。

7.1.8 服务器是组里一起用的,之前安装过Amplicon,那如果再装metagenome的话,会不会出现冲突?那安装某一个软件的话,是不是需要先指定一个环境?

  1. Conda 的好处就是可以创建不同的环境。不同环境直接的软件不会互相干扰或发生冲突。
  2. Linux - 一文掌握Conda软件安装:虚拟环境、软件通道、加速solving、跨服务器迁移
  3. 安装某一类软件的话,最好先指定一个环境。
  4. 如果是多个环境共用的软件,也可以直接放在主环境里面。

7.1.9 128核/256内存的话,跑humann2 如果用40个核或者更多,内存够吗? 做宏基因组的话,老师推荐一般一个线程配多少内存呢? 宏基因组分析的时候 服务器是把测序数据和数据库都读取到内存里进行比对吗?

  1. 256G 内存运行HuMann2,多少核应该都是够的。HuMann2内存需求不大。
  2. 内存占用通常与软件的运行方式有关,如比对工具把全部索引读入内存,需要的内存空间至少就是索引的大小。如果是序列组装,则会把所有测序数据读入内存,所需内存与测序数据量相当,进行组装。
  3. 运行时使用的核越多,内存需求也越大;但通常不是线性关系,而是达到一定内存需求后,增加核不会再额外增加更多内存消耗。
  4. 评估见 什么配置的电脑可满足基因组索引构建的需求?

7.1.10 自己租服务器的话 跑宏基因组 主要做抗性基因 毒力因子 KEGG GO富集分析 内存大概需要配置多少G

  1. 这部分分析内存需求不大,一般 32G 内存就可以了。

7.1.11 学Amplicon,自己笔记本安装的是R4.0.2的,现在再装R4.1,会不会有冲突?

  1. R 的多个版本是可以共存的,不会冲突。
  2. 在 Rstudio 中调用时可以选择需要的 R 版本。
  3. 建议都升级到 R4.1或更新的版本。

7.1.12 老师,下次课可以讲一下如何从NCBI下载公开数据吗?比如Longitudinal Multi-omics Reveals Subset-Specific Mechanisms Underlying Irritable Bowel Syndrome这篇文章:Microbiome sequencing reads are deposited at the European Nucleotide Archive (ENA) (PRJEB37924).不过这个不是NCBI

  1. NGS基础 - 测序原始数据下载

7.1.13 老师,下次课可以讲一下如何把数据传到NCBI里,并获得NCBI号吗?

  1. 超详细的GEO数据上传攻略,一看就会
  2. 宏基因组数据提交GSA实操手册—发表文章前必备技能

7.1.14 流程里的线程是什么意思,选择几个线程有标准吗?

  1. 线程是让程序并行运行,速度更快。
  2. 没有选择标准,通常不多于服务器可用总线程的一半,毕竟其他人也需要用服务器。
  3. 评估见线程也不是越多越好,多少是好?

7.1.15 我看流程里关于软件安装有好多种命令 conda install * pip install * apt install * sudo apt install * 它们之间的区别?

  1. 不同的软件有不同的安装方式。具体在课程视频软件安装部分有详细介绍。
  2. conda install *: 安装所有 conda 能安装的软件
  3. pip install *: 安装Python 的包
  4. apt install *: 安装Ubuntu软件库中有的软件;需要有根用户权限,所以要加sudo。

7.1.16 如果我在一个环境中安装了一个程序,那在其他环境中能否调用一定程序?

  1. 一般是不可以的。
  2. 对于一部分依赖关系比较少的程序是可以的,在0Install.sh脚本种有类似的使用。

7.1.17 那程序安装时是否需要考虑当前所处的目录呢?

  1. 通常是不需要的。软件装在什么地方你可以自己指定,跟当前工作目录可以没有任何关系。

7.1.18 conda安装需要指定安装位置嘛 不知道安装到哪个文件夹?

  1. 安装Conda时,指定conda的安装位置,后续所有通过conda安装的软件都在这个目录下面。
  2. 具体见Linux - 一文掌握Conda软件安装:虚拟环境、软件通道、加速solving、跨服务器迁移

7.1.19 安装软件时有时Y/N,有时y/N, 还要y/n,回答yes时 y是不是大小写没关系呢?

  1. y/N: 表示默认选中N; Y/n: 表示默认选中Y
  2. 自己输入时根大小写没关系。

7.2 软件使用

7.2.1 当使用KO表做lefse差异,或物种表文件较大时,ehbio在线平台报错”任务超时”。另外尝试lefse conda环境下报错”bash: lefse-format_input.py: 未找到命令”。

  1. 物种文件较大时,建议先过滤肯定没有差异的物种,降低文件大小,在通过在线平台进行分析。
  2. KO 表不知道能不能做 Lefse 分析。
  3. 通过 conda 安装的 lefse 存在问题:
    1. 命名名字变了,所以找不到命令;比如lefse-format_input.py变成了lefse_format_input.py
    2. 命令名字尝试更新为最新版,但代码有问题,就没继续修改;
    3. 后面我把我 github 上的 lefse 配置一版放服务器上。

7.2.2 用自己的笔记本给服务器提交命令后,笔记本能否关机?关机后会否影响服务器运行?

  1. 如果是通过Rstudio-server提交的,可以直接关了页面,程序会照常运行,下次还可以看到状态。
  2. 如果通过Xhsell运行的程序,建议 nohup 你的命令 &;这样你关掉xshell或笔记本,程序正常运行。可以再次登录服务器,通过top命令或ps命令查看程序运行状态。
  3. 如果通过Xshell运行的程序,忘记加nohup了,怎么办?耗时很长的程序忘加nohup就运行了怎么办?

7.3 分析计算

7.3.1 老师,微生物组学分析的时候,丰度前10,它是怎么算的,是所有样本加起来的和,再排序吗?

7.3.2 陈老师您好,想从strain水平找差异,但binning的物种注释只有species水平,请问有什么好的建议?

instrain可以

7.3.3 能否在miniconda3目录下增加一个strainphlan的流程,之前在自己的home目录下conda安装metaphlan未成功,不知道是不是没有sudo权限

见视频

7.3.4 ln创建文件链接,原文件修改或删除后,ln建立的链接是否也跟着进行修改或删除?

链接会失效,但不会删除。

7.3.5 Linux系统装R为3.6,在系统root目录装rstudio-server时都是基于R3.6,这样我们的R包是R4.1,这是否可用?我试着安装了一下R4.1.2,也能运行,但是安装的包却不能调用。

重新安装R包