interlap:快速、简单的间隔重叠测试

interlap的Python项目详细描述


interlap:简单、快速的间隔重叠测试[构建状态](https://travis-ci.org/brentp/interlap.svg?branch=master)“(https://travis ci.org/brentp/interlap)

interlap比单纯的搜索快20倍(请参阅:https://brentp.github.io/interlap/benchmark.html)
,并且**没有内存开销**,因为它在排序列表上操作。它是纯python,没有依赖关系。


它使用二进制搜索和对最长观测间隔的了解,以100个千间隔快速查询数据集。


请参阅文档,网址是[https://brentp.github.io/interlap/](https://brentp.github.io/interlap)

usage
----

interlap takes元组或列表,其中前两个元素是开始、结束,其余的
元素可以是任何内容。


``python
>;>interlap import interlap
>;>inter=interlap()

=random.sample(range(22,10000000,12,10000000,12),50000)
>gt>gt;range=[(i,i+random.randint(2000,20000),randint(2000,20000))for i in sites]

>
>>;inter.update(range)
>>gt;inter.inter.add((20,22,{'info':'hi'})>

>
>>>;[20,21]inter.inter.add((20,22,{'info''info':'hi''}}}))


>
>>>>>>>>>(21))
(20,22,{'info':'hi'})

>
>>gt>inter.add((2,3,{'info':'hello'}))


*注意*:下面显示如何处理边案例。
>>gt>gt;list(inter.find((2,2))))
[(2,3,{'info':'hello'}]
>

(2,3,3,{'info':'hello'}]>
>list(inter.find((3,3,3,3,3,3,3,2,3,3,3,{'info':'hello''>>>>>>>>>

测试隔行扫描中的每个项目。这5万个查询需要0.5秒:

>;>;对于s,e,范围:
…inter

interlap对象中的断言(s,e)是可接受的:

>;
断言(seo[0],seo[1])在inter

````


----

```` shell



````


示例中,我们希望每个染色体有一个interlap作为基因组数据。
下面的代码片段显示了一种简单的方法,可以在创建
然后查询一些间隔的过程中这样做。

``python


from interlap import interlap
from collections import defaultdict
import sys

=defaultdict(interlap)


toks in(x.rstrip().split(“\t”)for toks in(x.rstrip().split(“\t”)for x in x in open(sys.argv[1]):
start,end=map(int,toks[1:3])
inter[toks[0]].add((start,end,toks))

现在在另一个文件中发现重叠:toks in(x.rstrip().split(“\t”)for toks in x in openx in(sys.argv[2]):

开始,结束=映射(in t,toks[1:3])


打印列表(inter[toks[0]]。查找((开始,(结束))

```

why
--



重叠
测试。

使用排序列表并保持
对最长观测间隔的跟踪是最快的*纯python*方法
*只要最长观测间隔不包含集合中的大量
间隔部分*



interval set操作
` interval`类的行为类似于通常所说的间隔集。

`` python

ss了解更多详情

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

推荐PyPI第三方库


热门话题
java如何在点击JButton触发的进程仍在处理时更新JLabel?   try-catch为什么Java有嵌套的try语句?   java SSH命令执行失败,出现异常“net.schmizz.sshj.connection.ConnectionException:引发连接重置异常”   java在ApacheCamel的接口类解析器中,resolveMandatoryClass(字符串名称)有什么用途?   java如何在Eclipse远程调试器中找到有问题的线程?   java线程:containerlaunch退出代码127的异常   lambda左连接Java中的2个对象列表   Swift 2.0协议扩展和Java/C抽象类之间有区别吗?   安卓改造:使用GSON将JSON解析为多个Java对象   Spring中服务层的java角色(澄清)   html Java与网站的通信   Spring boot rest api是在不创建java类的情况下将getResultList()转换为映射以显示响应的最佳方法吗?   使用“getElementById”从javascript获取值到java   java如何在文本视图中以粗体和多色显示文本   java是设置TextView颜色的最有效方法