使用半监督孪生神经网络进行宏基因组分箱
项目描述
S³N²Bin(用于宏基因组分箱的半监督连体神经网络)
注意:此工具仍在开发中。欢迎您试用并感谢反馈,但预计会出现一些错误/快速更改,直到它稳定下来。请使用Github 问题报告错误,并使用讨论区进行更多开放式讨论/问题。
使用来自参考基因组的信息进行半监督深度学习的宏基因组分箱命令工具。
安装
S 3 N 2 Bin 在 Python 3.6-3.8 上运行。
从源安装
您可以从 github 下载源代码并安装。
使用 conda 安装依赖包:Bedtools、Hmmer、 Fraggenescan和cmake。
conda install -c bioconda bedtools hmmer fraggenescan
conda install -c anaconda cmake=3.19.6
python setup.py install
例子
简单的单/组合装箱模式
您将需要以下输入:
- 一个 contig 文件(
contig.fna在下面的示例中) - 映射中的 BAM 文件
你可以用一行代码得到结果。该single_easy_bin命令可用于单样本和联合组装分箱模式(使用带有 GTDB 参考基因组的 mmseqs 的 contig 注释)。single_easy_bin包括以下步骤
predict_taxonomy:generate_data_single和bin。
S3N2Bin single_easy_bin -i contig.fna -b *.bam -o output
在本例中,S³N²Bin 会将 GTDB 下载到
$HOME/.cache/S3N2Bin/mmseqs2-GTDB/GTDB. 您可以使用参数更改此默认值
-r。
简单的多样本分箱模式
该multi_easy_bin命令可用于多样本分箱模式(使用带有 GTDB 参考基因组的 mmseqs 的 contig 注释)。multi_easy_bin包括以下步骤
predict_taxonomy:generate_data_multi和bin。
您将需要以下输入。
-
组合的 contig 文件
-
映射中的 BAM 文件
对于每个 contig,名称的格式是<sample_name>:<contig_name>,其中
:是默认分隔符(可以通过--separator
参数更改)。注意:确保样本名称是唯一的,并且分隔符在拆分时不会引起混淆。例如:
>S1:Contig_1
AGATAATAAAGATAATAATA
>S1:Contig_2
CGAATTTATCTCAAGAACAAGAAAA
>S1:Contig_3
AAAAAGAGAAAATTCAGAATTAGCCAATAAAATA
>S2:Contig_1
AATGATATAATACTTAATA
>S2:Contig_2
AAAATATTAAAGAAATAATGAAAGAAA
>S3:Contig_1
ATAAAGACGATAAAATAATAAAAGCCAAATCCGACAAAGAAAGAACGG
>S3:Contig_2
AATATTTTAGAGAAAGACATAAACAATAAGAAAAGTATT
>S3:Contig_3
CAAATACGAATGATTCTTTATTAGATTATCTTAATAAGAATATC
你可以用一行代码得到结果。
S3N2Bin multi_easy_bin -i contig_whole.fna -b *.bam -o output
高级bin模式
您可以自己运行各个步骤,这可以使用计算集群来加快分箱过程(尤其是在多样本分箱模式下)。
有关使用的更多详细信息,包括有关如何单独运行各个步骤的信息,请阅读文档。
输出
输出文件夹将包含
-
用于训练和聚类的数据集。
-
保存半监督深度学习模型。
-
输出箱。
-
一些中间文件。
对于每个样本,重建的 bin 都在output_recluster_bins目录中。
有关输出的更多详细信息,请阅读文档。