基因组装配架子工。

BESST的Python项目详细描述


besst
==


Linux/OSX支持python2(versions>;=2.7)和python3(versions>;=3.4)[![构建状态](https://travis-ci.org/ksahlin/besst.svg?branch=master)](https://travis ci.org/ksahlin/besst)


besst是一个用于构建基因组组装的软件包。besst v1.0.4首先在[2]中进行了描述,并在v2.0中进行了各种改进(例如[3])。BESST基于Gapest[1]。

有关安装,请参阅docs/install.md。手册可在docs/manual.md中找到。

使用BESST时,请引用[2]和更高版本的手稿!bibtex条目在文件besst.bib.

1中可用。Sahlin K,Street N,Lundeberg J,Arvestad L(2012年),"脚手架算法的改进间隙大小估计",《生物信息学》28(17),2215-2222[链接](http://bioinformiscs.oxfordjournals.org/content/28/17/2215.long)
2.Sahlin K,Vezzi F,Nystedt B,Lundeberg J,Arvestad L(2014),"BESST——大型碎片装配的高效脚手架。"BMC生物信息学15,281[链接](http://www.biomedcentral.com/1471-2105/15/281)
3。萨林K,奇奇,Arvestad L(2016年)"带有PE污染配对库的装配脚手架。"生物信息学[链接](https://bioinformisc.oxfordjournals.org/content/early/2016/03/09/bioinformiscs.btw064)



a
————


besst的设计目的是从数据中尽可能多地推断。如果这是您第一次运行besst,建议您在运行besst时尽量少设置参数,即

``sh
runbesst-c/path/to/contigfile.fa-f/path/to/file1.bam/path/to/file2.bam…-o/path/to/output-orientation{fr/rf}
```
有关详细信息,请参阅下面的"输入"部分。然后,besst将尽可能地从数据中推断出并将推断出的参数以及更多信息打印到"/path/to/output/besst_output/statistics.txt"。这个文件对调试很有用。


BESST只需要一个已排序和索引的BAM文件—可以使用您最喜欢的对齐器。然而,我们在使用bwa mem时有过最好的经验,在我们的评估中使用了大多数数据的默认参数。



besst目前只适用于唯一对齐的读取(目的是扩展它以考虑多个对齐上的概率分布)。通过查看标志,可以在已排序的BAM文件中检测到唯一性。因此,不适合指定使对齐器输出一个读取的多个(次优)对齐并将读取报告为映射到多个位置的任何参数。蝴蝶结"-k<;int>;"(int不是1)是一个与besst不兼容的参数示例。



首先,务必使用适配器边缘工具。适配器的修剪极大地改善了两个适配器的对齐,而带有读取(适配器不同侧的读取顺序的结果)的嵌合体部件可以极大地改善对齐,从而改善支架。我们建议使用任何工具,根据识别和移除适配器(我们对工具nxtrim有很好的经验)来将成对读取类型分为mp、pe和未知方向。读对有未知的方向
如果根据适配器查找,您不能挑出任何(或只有一小部分)配对对,请将besst作为默认值运行。BESST通过在Contigs上的AlignEMTNS识别MP分布、PE污染水平和分布。在本例中,不要指定-m和-s,因为besst对库特征有一个相对高级的推断(其中一些来自[getdistr]中描述的理论(http://biorxiv.org/content/biorxiv/early/2015/08/04/023929.full.pdf))。


从我们使用过的mp库中找到的适配器数量
,我们通常看到大约30%的这三个类别mp,pe,未知且应相对正常(见[NXTRIM]补充数据中的污染水平调查(http://bioinformiscs.oxfordjournals.org/content/early/2015/02/05/bioinformiscs.btv057/suppl/dc1))。如果你能挑出大约这个数量的mps和pes:成对的末端污染仍然可以帮助besst脚手架提供短程链接补充到远程mp链接。正如[BESST-v2]中部分描述的那样(http://www.biorxiv.org/content/early/2015/08/28/025650.abstract),这些信息源的同时使用改进了脚手架,而不是BESST和其他独立脚手架工人在多个独立库的情况下采用的逐步方法。我们建议使用完整的适配器修剪库,即所有MP、PE和未知读取,保留原始方向,如果pe和mp上的分布是明显分开的,并且组件包含足够小的contig,短程pe可以提供帮助(例如n75<;mp的平均值作为近似值)。请参见图,以获取清晰分离的MP分布的示例。注意,例如,nxtrim将以fr方向输出所有读数,因此mps必须反向补充。

![使用额外的PE污染](docs/figures/isize_narrow_cont.png)


如果MP分布很广,并且已经具有良好的短期跨越范围和良好的覆盖率,则仅使用标识为MPS的链接。下面是这种分布的一个例子



![仅使用MPS](docs/figures/isize_wide_cont.png)


安全的方法当然总是同时尝试这两种方法。



besst没有脚手架,怎么回事?

运行besst时,可以在"outputfolder<;outputfolder>;/besst_output/statistics.txt"文件中使用-o指定outputfolder,立即完成许多调试工作。BESST输出插入大小分布(配对和PE污染)的统计信息,以及覆盖率统计信息和脚手架使用的读取对数量(每个库)。下面是一个文件开头的示例。确保库分布、contamine分布和速率看起来正常,以及覆盖率统计。如果这不能解决问题或您不确定如何继续,请邮寄**ksahlin@kth.se**.

``sh
pass 1



过滤前平均值:2471.05005763
过滤前标准值:1621.22128565
平均收敛:2454.01278202
标准收敛:1438.84572664
过滤前平均值:383.841809945
过滤前stddev:541.063248334
contamine平均收敛:371.132937665
contamine标准收敛:105.713828422

library statistics
库集平均值:2454.01278202
库集标准差:1438.84572664
mp library pe污染:
估计的接触率(rev comp-oriented)为:0.228445500646
lib接触率平均值(平均碎片大小):371.132937665
lib接触率stddev:105.713828422
用于此计算的接触读取数:106857.0
-t(库插入大小阈值)设置to:8209.39568857
-k设置为(contigs大于的脚手架):8209.39568857
创建边所需的链接数:5
读取长度设置为:100.38
控制链接的相对权重设置为(默认值=3):3

迭代0:41.3993628025

分析BAM文件…
l50:37 n50:42455初始contig程序集长度:4588376
由于长度限制而烧焦的contig的数量78
初始化BESST对象的时间:0.0022530557251
脚手架中包含的contig/脚手架的数量:130
初始化图形所用的总时间:0.00791215896606
读取BAM文件和创建脚手架图…
已用读取文件:30.2451779842
可疑读取链接数:0
有用读取数(读取映射到不同contigs唯一性):434284
映射到不同contigs的非唯一读取数(读取对中至少有一个读取非唯一性)(从脚手架中过滤掉):29267
"有用读取"(过滤掉):325897
指示和删除的重复读取数:4890
过滤掉极端观测前的平均覆盖率=69.01403104
过滤前的标准覆盖率极端观测值=61.5185426061
滤波后平均覆盖率=51.1057077906
滤波后标准覆盖率=17.4310506587
覆盖计算中最长覆盖长度:106467
覆盖计算中最短覆盖长度:8270
```





注意:
----

这些修复程序对包含数千到数百万个contig的大型碎片程序集的影响最大。


任何read aligner+samtools都可以用来获取这些文件。读取对需要在成对读取模式下对齐。BESST提供了一个脚本(https://github.com/ksahlin/besst/blob/master/scripts/reads_to_ctg_map.py),用于一次性获取带BWA mem或BWA sampe的已排序和索引BAM文件。使用此脚本进行映射的一个示例调用是

``sh
python reads_to_ctg_map.py/path/to/lib1_a.fq/path/to/lib1_b.fq/path/to/contigs.fasta--threads n
```
`--nome`可以指定给上述调用,以使用bwa sampe作为成对的读取对齐管道。

input:
----
必需参数:

*-c<;指向contig文件的路径>;

*-f<;指向bam文件的路径>;(插入大小的增加顺序)

*-方向<;fr/rf每个库一个>;






示例运行:
——
库在对齐前已被反向补充,应指定"-orientation fr fr"。

但是,如果程序集与库插入大小相比非常零碎(包含的内容不足以计算库统计信息),最好指定平均值和标准偏差。


:库的插入大小的平均值,每个库一个整数。

*-s<;int>;:库的标准偏差,每个库一个整数。

*-t<;int>;:阈值是一些您认为不会有太多pe/mp的较高级别插入大小大于(在模式结束时)。

*-r<;int>;:每个库的平均读取长度。

*-z<;int…>;重复分类的覆盖范围截止(例如-Z 100表示覆盖范围超过100的容器将从脚手架上丢弃)。为每个库设置一个截止点。

*-d检查重复序列,如果重复序列正在发生,则只对其中一个进行计数(计算链接数时)。


最小控制量被视为"大控制量"(仅用于统计评分)。每个库一个编号。

*--从所有脚手架中删除小于此值的控件。这些康提格人甚至没有被培养在besst.的输出中。



int>;在图形中创建链接边缘所需的见证链接的最少数量(每个库一个)

*-y扩展具有较小contig的支架(默认打开)。

*--没有评分不执行统计评分,只在contig之间运行路径搜索。

*--评分切断<;float>;只考虑score>;score_u cutoff(默认值1.5)的路径





(默认值=0(关)<;0或1>;)

*-a<;float>;合并单倍型区域的最大长度差比。

*-b<;int>;覆盖范围平均值/2的标准偏差的nr,以允许单倍型的分类

*-q并行化路径查找器的工作负载使用Pyhton的多处理库提供多个处理器时的模块。



更多说明:
----


1。insert size的定义:besst采用以下定义:
*insert size=片段长度。
*对于PE:
```
S T
---gt;````
从S到T,即InsertSize=ReadLen1+Gap+ReadLen2。所以当平均值和/或阈值被提供时,它应该是这个距离的平均值和阈值。映射读取:如果要映射配对对库,则需要将其映射为配对结束库,即正向-反向模式。所有读对库都应按此顺序排列。

>3。脚手架的顺序:对于算法来说,按照插入大小的顺序给库是至关重要的。

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

推荐PyPI第三方库


热门话题
java OnClick用于ListView中的特定项   java如何多次循环相同的TestNG测试。包括课前和课后   java如何在Codenameone中设置BrowserComponent浏览器窗口大小   java Socketchannel始终为空   java以编程方式向JavaFX WebEngine历史添加新条目   java Hibernate+Spring与Oracle一起使用分层查询(从+连接方式开始)   Java中的安卓 getView和Beacon(Estimote)问题   计时器如何在java中设置暂停选项   java为什么输入1000000000000的输出不正确?   java如何在程序执行期间更改log4j2中的日志记录级别   java阻止代码引发XML异常   未找到媒体类型为application/json的java JAX RS MessageBodyWriter   java如何将BuffereImage中的特定颜色(0xFF00FF)设置为透明?   java如何列出web元素,如果网页中没有特定链接的id,如何单击网页中的特定链接?   在Java中读取txt文件时获取EOFEException   java如何避免为每个视图添加inject方法?   JavaSpringController:Facebook上类似文章的永久链接   java在尝试执行脚本时遇到错误“net.serentiybdd.core.exceptions.serentitymanagedexception:No session ID”