安装生物信息学软件-MetaPhlAn2
上周20161021-20161028的任务还没有搞完,所以今天来填坑(微笑脸)
××××××××××××××××××××我是萌萌哒分割线×××××××××××××××××××××××××××××××
本文参考:https://bitbucket.org/biobakery/biobakery/wiki/metaphlan2
MetaPhlAn2是基于宏基因组鸟枪法测序数据绘制或展示微生物群落组成结构的工具

ps: 与系统发育相关的图的表示

安装:
1. 下载并解压 2. 修改/etc/profile,添加路径 3. 直接使用metaphlan2.py
4. 使用这种命令时要给出bowtie2的路径--bowtie2_exe<bowtie2>.
××××××××××××××××××××××××××啦啦啦××××××××××××××××××××××××××××
帮助信息:metaphlan2.py -h | less使用上下箭头滚动查看,q退出。

实验内容:
Step 0 : 下载数据(右键,copy link address)
mkdir mytest
cd mytest
下载工具wget可以直接访问生物 bakery项目的主分支下的示例目录biobakery_demos中的data文件夹中的metaphlan2输入文件夹,并获取到SRS014459-Stool.fasta.gz这个具体的数据集

Step 1: 使用单个reads文件作为输入
metaphlan2.py SRS014476-Supragingival_plaque.fasta.gz --input_type fasta > SRS014476-Supragingival_plaque_profile.txt
**bowtie2out.txt** : intermediate mapping results to unique sequence markers
可以用这个命令查看(不过我觉得用gedit也可以啊==除非是命令行)
less -S SRS014476-Supragingival_plaque.fasta.gz.bowtie2out.txt
**profile.txt** :最终的结果
解释:
1. 这就是对分类的描述:Kingdom: k__, Phylum: p__, Class: c__, Order: o__, Family: f__, Genus: g__, Species: s__
2. 数字是百分比
3. OTU equivalents can be extracted by using only the species-level s__ clades from this file (again, making
sure to include clades unclassified at this level).
Step 2: 多线程处理--nproc命令
metaphlan2.py SRS014459-Stool.fasta.gz --input_type fasta --nproc 4 > SRS014459-Stool_profile.txt
Step 3: 多输入处理
for f in *.fasta.gz do metaphlan2.py $f --input_type fasta --nproc 4 > ${f%.fasta.gz}_profile.txt done
Step 4: 合并结果(使用utils/merge_metaphlan_tables.py脚本)
metaphlan merger script processes *_profile.txt and redirects to merged_abundance_table.txt.
能够使用LibreOffice Calc进行查看的大致情况是由于数据量较大而显得略显凌乱。具体可见下图中所示的分类信息和各文件数量统计

非看不可的是官方手册呢!虽然说起来wiki上的tutorial还不错呢!然而却存在一些不够全面的地方呢!它还提供了一个非常简洁易用的绘图脚本哦!绘出来的效果相当可爱呢!实在没有必要再去折腾其他那些繁琐麻烦的功能了吧!
心好累!!!下次再补这个的画图好了,如果用的到的话!!!
https://bitbucket.org/biobakery/metaphlan2#markdown-header-basic-usage
Step 5: 数据可视化,heatmap
(1) 安装brew
sudo apt install linuxbrew-wrapper
(2) 安装hclust2
brew tap biobakery/biobakery
brew install hclust2

在遇到安装问题时(或:我遇到了一个异常复杂的问题)。因此我决定先配置R语言环境(或:我决定首先进行R语言包的配置),并使用其中的相关函数如heatmap来绘制热图。
安装R参见:
http://www.cnblogs.com/pxy7896/p/6012895.html
=============================装完R之后再来装就神奇的成功了===================================
(3) 产生物种species丰度表(只有物种层面的)
为了提取特定字段的数据并进行筛选操作,在终端中执行以下命令:首先运行grep命令带有正则表达式参数-s__或^ID作用于merged_abundance_table.txt文件;随后通过管道连接器将结果与另一个grep命令结合使用,并过滤掉包含-t__标记的行;最后利用sed工具替换开头至第一个-s__字段的内容,并将最终结果输出至merged_abundance_table_species.txt文件中以供后续分析研究
命令解释:
grep作为基于指定模式展示结果的一个程序,请参阅官方文档:http://www.gnu.org/software/grep/manual/grep.pdf
2.


3. 画图
错误1: 找不到.py,加路径:/home/pxy7896/.linuxbrew/Cellar/hclust2/1.0.0-277c0d6
错误2:

安装matplotlib
sudo apt-get install python-matplotlib
然后发现没有scipy。。。同样安装。。
然后发现没有pandas。。。同样安装。。

这个问题。。。我还没解决。。。。
因此直接采用官方提供的数据(输入文件存为test.txt)。总有一天这个坑可能会被填上。给自己立下flag。
/home/pxy7896/.linuxbrew/Cellar/hclust2/1.0.0-277c0d6/hclust2.py -i test.txt -o abundance_heatmap_species.png --ftop 25 --f_dist_f braycurtis --s_dist_f braycurtis --cell_aspect_ratio 0.5 -l --flabel_size 6 --slabel_size 6 --max_flabel_len 100 --max_slabel_len 100 --minv 0.1 --dpi 300
参数解释~
提取前25个最重要的特征,并采用Bray-Curtis距离度量方法进行样本之间以及微生物之间的距离计算。随后设置细胞宽度与高度的比例为0.5,并采用对数尺度来确定热图颜色分布。同时将样本和特征标签的字体大小设置为6号,并限定最长样本和特征标签长度为100字符;将最小显示值设定为0.1,并选择图像分辨率300进行输出。

Step 6: 数据v可视化,GraPhlAn
安装:

(1) 产生输入文件:
跳过前两行,
使用merged_abundance_table.txt作为输入文件,
生成merged_abundance.tree.txt作为树状图,
注释merged_abundance annot.txt,
设置前100个最丰富的物种作为主要物种,
阈值设为最低允许的丰富度值,
至少选择生物标记数量不少于十个生物指标,
注释第5、6步的数据分析结果,
外源注释添加到第七步的数据分析结果,
每个类群至少包含一个样本作为参考系
感到疑惑。我已更正环境变量路径却无法定位export2graphlan.py文件
所以只好写一串了。最后产生

跳过前两行后,在树状图中标记数量最多的前100个类群,并设定一个最小的丰度门槛来筛选可注释的类群;在层级5和6中提取至少10个特征物种;在树状图中标注层级7,并将其作为外部图例使用;确保所标记的类群最小规模为
(2) 画cladogram
/home/pxy7896/.linuxbrew/Cellar/graphlan/0.9.7/binary/graphlan_annotate.py --annot merged_abundance annot.txt merged_abundance tree.txt merged_abundance.xml

在用户指定的环境中运行此脚本时,请注意以下配置项:
/home/pxy7896/.linuxbrew/Cellar/graphlan/0.9.7/bin/graphlan.py
- 以300像素分辨率执行绘图操作:
graphlan.py \
- 输入丰富的度曲线数据文件:merged_abundance.xml
- 生成用于后续分析的总丰富度曲线XML文件:
$merged_abundance.png
- 添加外部图例以清晰标识各分组:
--外 legends
现在就出现了两个说明图片。。。和一张很好看的图~


各采用不同颜色区分各组别;层级越深,则物种丰富度越高;由内到外依次标注门、纲、目、科属。其中某些特定的生物标记(biomarkers)在图表中直接标注;其余通过缩写形式代表的物种名称则列于图表左侧 legend旁。
