看教程不够直观,那就看视频吧! >>点击加载视频
上次我写的学习经验和推荐的教程——《微生物组入门必读+宏基因组实操课程=新老司机赶快上车》,小伙伴们当天阅读破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. 主讲介绍
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存储;学习数据分析应该够用了。如果不是学习,还是建议自己买高配电脑或服务器吧,好点配置三年租金和服务器等价了。
测试数据
刘博士帮助把测试数据建立了一个百度云同步共享文件夹,有非常多的好处,请读完下文再决定是否下载:
最后送上本教程使用到的所有文件同步共享文件夹链接:http://pan.baidu.com/s/1hsIjosk 密码:y0tb 。
Shell入门
需要有服务器实际操作,上面原作者提供的云无法使用,阿里云需付费,如需要读者可自行购买或在自己的linux服务器上使用。
Shell学习材料推荐
图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
点击阅读原文,跳转最新文章目录阅读
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!