按分布从全基因组构建人工mags

randmag的Python项目详细描述


简介

随着测序速度的不断提高,分析数据面临挑战。 特别是,单个扩增基因组和亚基因组组装基因组(sags&mags)可能 由于其不完整或受污染的倾向,证明具有挑战性 与其他基因组的接触。存在许多工具来应对挑战。 分析的各个阶段,但没有一个是完美的。为了设计新的 处理sags和mags的工具方法模拟这些数据的能力 布景是最重要的。

<> > RANMAG是一个纤细的软件,目标是从现有的人造磁石或凹坑中生产。 完整的基因组。Randmag根据提供的整个基因组生成随机mag,a 给定的连续长度分布,以及所需的完整性- 污染程度。

与randmag一起打包的是一个包含长度为192243的2284个contigs的文件 细菌杂志[1]来自塔拉海洋亚基因组调查。

  1. [TullyEtAl_2018]

依赖关系

Python(>;=3.6)

python库

如果是从pypi包构建的,那么这些将自动安装,否则可以 使用pipInstall pip)轻松安装。

必需的

  • 生物圈(>;=1.70)
  • 纽比(>;=1.13.1)
  • matplotlib(>;=2.0.2)
  • scipy(>;=1.1.0)
  • Seaborn(>;=0.9.0)
  • 熊猫(>;=0.23.4)

位置参数

genome_tab            Genomes in .fna in list format
distribution          Set of lengths to base the distribution on

genome_tab应该是一个包含基因组列表的简单文件(核苷酸fasta文件) 它将被用来制造人造磁棒,例如:

GCF_000007265.1_ASM726v1_genomic.fna
GCF_000007325.1_ASM732v1_genomic.fna
...

distribution也应该是一个包含表示 一种用于分割人工容器的容器尺寸分布,例如:

23967
15981
149609
...

可选地,distribution可以用Tara_bact填充以使用contig集 引论中描述了塔拉海洋的长度。

可选参数

-h, --helpshow this help message and exit
-c COMPLETENESS, --completeness COMPLETENESS
Range of completeness levels to be produced. Default=1.0
-r CONTAMINATION, --contamination CONTAMINATION
Range of contamination to be included in produced MAGs. Default=1.0
-n NUM, --num NUM
Number of randomised MAGs to produce. Produces one randomised per provided genome by default.

示例

首先,创建一个包含基因组fasta文件列表的文件,这些文件将作为人工mags的基础:

$ head -n5 reference_fna.list
/nobackup/genomic_sources/genbank_reference_bacteria_fna_20181128/ncbi-genomes-2018-11-28/GCF_000005845.2_ASM584v2_genomic.fna
/nobackup/genomic_sources/genbank_reference_bacteria_fna_20181128/ncbi-genomes-2018-11-28/GCF_000006745.1_ASM674v1_genomic.fna
/nobackup/genomic_sources/genbank_reference_bacteria_fna_20181128/ncbi-genomes-2018-11-28/GCF_000006765.1_ASM676v1_genomic.fna
/nobackup/genomic_sources/genbank_reference_bacteria_fna_20181128/ncbi-genomes-2018-11-28/GCF_000006785.2_ASM678v2_genomic.fna
/nobackup/genomic_sources/genbank_reference_bacteria_fna_20181128/ncbi-genomes-2018-11-28/GCF_000006845.1_ASM684v1_genomic.fna

然后是第二个文件,它是表示contig大小分布的长度列表:

$ head -n5 Tara_bact
23967
15981
149609
37636
121320

示例1-拆分为contigs

这个例子将reference_fna.list中的所有.fna文件按照 在Tara_bact

中的连续长度分布
$ randMAG reference_fna.list Tara_bact

结果是在当前工作目录中为 每个输入。fna。还生成了simulated_MAGs.tab,一个包含输入的表格文件 文件,指定的唯一8字符后缀、完整性和冗余部分:

$ head -n5 simulated_MAGs.tab
GCF_000005845.2_ASM584v2_genomic    mpmwoutk        1.0     1.0
GCF_000006745.1_ASM674v1_genomic    mmqehxfx        1.0     1.0
GCF_000006765.1_ASM676v1_genomic    engiyxoz        1.0     1.0
GCF_000006785.2_ASM678v2_genomic    rtvayhqu        1.0     1.0
GCF_000006845.1_ASM684v1_genomic    bzpsqnfq        1.0     1.0

本例中fasta文件的内容保持不变,除了 被分成两部分。

示例2-更改完整性/污染

要更改fasta文件的完整性和污染,-c-r 需要使用参数。可以使用-n参数精确地获取 所需数量的unqiue mags:

$ randMAG reference_fna.list Tara_bact -c 0.7 -r 1.2 -n 10000

这将生成至少70%完整且至少20%受污染的文件:

$ head -n5 simulated_MAGs.tab
GCF_000005845.2_ASM584v2_genomic    kfcckaxy        0.6956260400391929      1.2092498368299183
GCF_000006745.1_ASM674v1_genomic    xqnerzfy        0.6927500102156292      1.202911467089386
GCF_000006765.1_ASM676v1_genomic    kiubfyau        0.6988059837775469      1.200510423558475
GCF_000006785.2_ASM678v2_genomic    xxltcsmv        0.6849106013550827      1.2144702270571384
GCF_000006845.1_ASM684v1_genomic    rcxezdoq        0.6927952822804169      1.2028640216997193

以及使用-n

$ wc -l simulated_MAGs.tab
10000 simulated_MAGs.tab

参考文献

[TullyEtAl_2018]Tully,B.J. et al. (2018) The reconstruction of 2,631 draft metagenome-assembled genomes from the global oceans. Sci. Data, 5, 170203

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java多项式逆算法   特定于java的ID不接受RestFB for Facebook中的我的访问令牌   单线程java中的多线程多可运行   java为什么即使在添加setJMenubar()方法后,Jmenubar在我的Jframe中也不可见?   当字段为LOB时,java无法从字符串转换为Long类型   java内存与同步互斥不一致   如何在Java中以位级精度读写文件   rest如何在java中对jersey客户端使用SSL客户端证书   在安卓 emulator中访问google api时发生java运行时错误   在Java中,如何确定一个日期是否介于两个日期之间?   运行简单spring应用程序时出现java错误   运行java jar和java cp时,spring boot没有主清单属性错误