宏基因组分析实战教程1. 背景知识

上次我写的学习经验和推荐的教程——《微生物组入门必读+宏基因组实操课程=新老司机赶快上车》,小伙伴们当天阅读破2700+人次,3.5天破3000+,达到了宏基因组快车满三千人发车的要求。我也按约定...

上次我写的学习经验和推荐的教程——《微生物组入门必读+宏基因组实操课程=新老司机赶快上车》,小伙伴们当天阅读破2700+人次,3.5天破3000+,达到了宏基因组快车满三千人发车的要求。我也按约定继续分享宏基因组分析实战教程。

喜欢本教程的小伙伴,请务帮助拉到文末点个赞,鼓励我继续写作的方式,你懂的。

本系统教程以2017年9月26-30日在 UC Davis举办的宏基因组Workshop的学习笔记为主线。课程介绍详见 《宏基因组分析实操课程》

同时结合笔者的经验,对教程操作过程中可能遇到的问题进行说明并提供解决方法,并对本教程没有涉及而又很常用的分析进行专题讲解,预计共分20次课程,每周二 and/or 五更新。

课程简介

原文链接:https://2017-cicese-metagenomics.readthedocs.io/en/latest/welcome.html

1. 学习目标

  • 了解相关工具
  • 获得命令行的一些经验
  • 基本完成数据分析
  • 简介科学数据分析的套路

2. 安全空间与行为准则

  • 目的是提供安全且友好的学习环境
  • 行为准则请阅读《木匠软件》
  • 鼓励提出问题,可能别人也需要

3. 主讲介绍

  • Harriet Alexander - postdoc at UC Davis.
  • Phil Brooks - postdoc at UC Davis.
  • Titus Brown - prof at UC Davis in the School of Vet Med.

4. 亚马逊云计算

  • 软件安装简单
  • 大数据分析方便
  • 爆发力强
  • 无地域限制

5. 便签规则

  • 无便签:正在进行中
  • 绿便签:一切顺利
  • 红便签:需要帮助

练习使用云计算平台

官方提供了一种平台我没有使用成功,笔者也尝试了几种都没有成功,或没有免费版。这里自己有服务器的直接使用即可,没有服务器的人推荐使用阿里云(国内速度快,朋友用过体验还不错,学生有优惠)。

Jetstream计算平台

此节步按教程操作页无法登陆,可能不适合国内用户或需要授权

https://2017-cicese-metagenomics.readthedocs.io/en/latest/jetstream/boot.html

注册:访问 https://use.jetstream-cloud.org/application/images , 点login,

登陆默认为XSEDE的账号,但也支持Google和ORCiD iD,这里我用google,再点create new user, 使用单位邮箱注册,注册设置Key,返回邮件后继续注册。 我的Username为microking,密码为大写+小写+数字才合格。

以后访问 http://portal.xsede.org 登陆

访问 https://use.jetstream-cloud.org/application/images

亚马逊云

https://amazonaws-china.com/cn/ 提供每月750h,1G内存,5G存储,100W免费请求

注册一直没成功,国内有服务器应该可用的,可能是最近18+1大的原因

阿里云

https://www.aliyun.com/ 直接使用淘宝账户登陆,学生可购买9.9每月的1折优惠,1核,2G内存,1M带宽,40G存储;学习数据分析应该够用了。如果不是学习,还是建议自己买高配电脑或服务器吧,好点配置三年租金和服务器等价了。

测试数据

刘博士帮助把测试数据建立了一个百度云同步共享文件夹,有非常多的好处,请读完下文再决定是否下载:

  1. 下载被墙的数据;很多数据存在google, amazon的部分服务器国内无法直接下载,而服务器一般科学上网不方便,下载数据困难。大家下载失败的数据请到共享目录中查找;
  2. 预下载好的软件、数据库;有很多需要下载安装、注册的软件(在线安装包除外),其实已经在共享目录了,节约小伙伴申请、下载的时间;
  3. 数据同步更新;任何笔记或教程不可避免的有些错误、或不完善的地方,后期通过大家的测试反馈问题,我可以对教程进行改进。共享目录不建议全部下载或转存,因为文件体积非常大,而且还会更新。你转存的只是当前版本的一个备份,就不会再更新了。建议直接在链接中每次逐个下载需要的文件,也对文件有一个认识过程。
  4. 方便结果预览和跳过问题步骤;服务器Linux在不同平台和版本下,软件安装和兼容性问题还是很多的,而且用户的权限和经验也会导致某些步骤相关软件无法成功安装(有问题建议选google、再找管理员帮助;想在群里提问或联系作者务必阅读《如何优雅的提问》)。在百度云共享目录中,有每一步的运行结果,读者可以下载查看分析结果,并可基于此结果进一步分析。不要纠结于某一步无法通过,重点是了解整个流程的分析思路。

最后送上本教程使用到的所有文件同步共享文件夹链接:http://pan.baidu.com/s/1hsIjosk 密码:y0tb 。

Shell入门

需要有服务器实际操作,上面原作者提供的云无法使用,阿里云需付费,如需要读者可自行购买或在自己的linux服务器上使用。

Shell学习材料推荐

  1. Shell基本命令:常用入门教程 https://github.com/swcarpentry/DEPRECATED-boot-camps/blob/master/shell/shell_cheatsheet.md
  2. Shell小抄:常用命令熟背 https://fosswire.com/post/2007/08/unixlinux-command-cheat-sheet/
  3. Shell宝典:百科全书,资料查阅;https://explainshell.com/

image图1. 学习程序的重要性

初识Shell

# 下载课程相关文件
git clone https://github.com/edamame-course/edamame-data.git
# 进入课程目录
cd edamame-data
# 进入本节目录
cd shell
# 查看当前目录文件
ls

显示命令参数

# 查看命令的帮助
man ls

查找文件

# 区分目录和文件
ls -F
# 查看当前目录下的某文件
find -name youfoundit.txt
# tab键补全命令和文件名,如下命令再按tab,是不是补全了文件名
ls S
# 路径常用字符
cd . # 当前目录
cd .. # 上级目录
cd ~ # 家目录

通配符
*代表一个或多个字符,? 代表1个字符

ls /usr/bin/*.sh # 查看所有以.sh结尾的文件
ls /usr/bin/*.? # 显示扩展名只有1个字符的文件

历史命令
Ctrl+C # 终止当前命令,打开新提示符
Ctrl+R # 反向索引历史命令

history # 每条命令有数字编号
!2017 # 数字是显示的编号,可执行对应的命令

查看文件内容

cd MiSeq # 进入测试数据目录
cat C01D01F_sub.fastq # 显示文件内容到屏幕
less C01D01F_sub.fastq # 按页查看内容
head -n 1 C01D01F_sub.fastq # 查看第1行,默认前10行
tail -n 1 C01D01F_sub.fastq # 查看最后1行,默认后10行

进入less后的基本操作
“space”: 向前翻页
“b”: 后退
“g”: 跳转至开头
“G”: 跳转至结尾
“q”: 退出

检索文件

grep 22029:7208 C01D01F_sub.fastq # 查找某行
grep -A 3 22029:7208 C01D01F_sub.fastq # 查找某行,并显示接下来三行
# 此命令可用于按4行筛选fastq文件,注意连续匹配会出现 -- 分隔符,用grep -v '--'去除

重定向

grep -B 2 TTATCCGGATTTATTGGGTTTAAAGGGT *.fastq > good-data2.txt # 将检索结果保存至文件,-B 2同时输出匹配行前面两行
grep TTATCCGGATTTATTGGGTTTAAAGGGT *.fastq | less # 保存结果分页查看
grep TTATCCGGATTTATTGGGTTTAAAGGGT *.fastq | wc -l # 保存结果统计行数

文件操作

cp good-data2.txt good-data2.backup.txt # 复制文件
mkdir backup # 创建目录
mv good-data2.backup.txt backup/ # 移动文件至目录
mv backup/good-data2.backup.txt backup/good-data2.backup_IMPORTANT # 文件重命名
rm backup/good-data2.backup_IMPORTANT # 删除文件

运行程序

cd .. # 退回上一级shell目录
which ls # 查看程序位置
echo $PATH # 查看环境变量
hello.sh # 报错,找不到程序
./hello.sh # 必须有程序的绝对,或相对位置才可以

查找文件

find . -print # 查看当前目录及以下所有文件
find . -type f -print # 只找文件
find . -type f -name "*1*" # 查找名中含1的文件
find . -type f -name "*1*" -or -name "*2*" -print # 查找名中含1或2的文件
find . -type f -name "*1*" -and -name "*2*" -print # 查找名中含1和2的文件

运行本地blast

# 更新软件库并安装blast,已经安装的请跳过
sudo apt-get update && sudo apt-get -y install python ncbi-blast+
# 创建本实验目录并进入
mkdir blast
cd blast
# 下载测试数据
curl -O ftp://ftp.ncbi.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.1.protein.faa.gz
curl -O ftp://ftp.ncbi.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.2.protein.faa.gz
curl -O ftp://ftp.ncbi.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.3.protein.faa.gz
curl -O ftp://ftp.ncbi.nih.gov/refseq/D_rerio/mRNA_Prot/zebrafish.1.protein.faa.gz
# 查看下载结果
ls -l
# 解压
gunzip *.faa.gz
head mouse.1.protein.faa 
head -11 mouse.1.protein.faa > mm-first.fa

# 以1为例建数据库
makeblastdb -in zebrafish.1.protein.faa -dbtype prot
# 比对某条序列至数据库,结果至屏幕
blastp -query mm-first.fa -db zebrafish.1.protein.faa
# 比对某条序列至数据库,结果至文件
blastp -query mm-first.fa -db zebrafish.1.protein.faa -out mm-first.x.zebrafish.txt
less mm-first.x.zebrafish.txt

# 分析250条序列
head -500 mouse.1.protein.faa > mm-second.fa
blastp -query mm-second.fa -db zebrafish.1.protein.faa -out mm-second.x.zebrafish.txt
less mm-second.x.zebrafish.txt

# 输出表格结果 -outfmt 6
blastp -query mm-second.fa -db zebrafish.1.protein.faa -out mm-second.x.zebrafish.tbl.txt -outfmt 6
# less -S不换行查看
head mm-second.x.zebrafish.tbl.txt | less -S

点击阅读原文,跳转最新文章目录阅读

https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA

  • 发表于 2017-10-23 20:37
  • 阅读 ( 7985 )
  • 分类:其他组学

0 条评论

请先 登录 后评论
不写代码的码农
刘永鑫

工程师

64 篇文章

作家榜 »

  1. 祝让飞 118 文章
  2. 柚子 91 文章
  3. 刘永鑫 64 文章
  4. admin 57 文章
  5. 生信分析流 55 文章
  6. SXR 44 文章
  7. 张海伦 31 文章
  8. 爽儿 25 文章