搜索
查看: 2826|回复: 4

BEDtools可以替代生物信息学工程师???

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2016-9-3 11:00:34 | 显示全部楼层 |阅读模式
看到这样的观点,我就笑笑,不说话!
https://thescienceweb.wordpress.com/2015/03/25/most-bioinformaticians-to-be-replaced-by-bedtools/
不过这个软件的确非常好用,你需要写几十上百行代码抵不过它一个命令!初学者可以模仿它的命令实现功能!
欢迎大家跟帖讨论!




上一篇:29.美国康奈尔大学博伊斯汤普森植物研究所
下一篇:R入门-统计分析-测试数据
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

4

主题

24

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2017-3-4 15:43:15 | 显示全部楼层
本帖最后由 tsznxx 于 2017-3-4 15:55 编辑

首先,BedTools的C++代码写的是不错的,大家有空可以看下。BedTools的核心intersectBed算法用的是BIN index技术。这个算法代码很短,核心代码在50行之内,自己实现也是非常容易的。这个算法实现了给定一段基因组区间,从另一个基因组区间文件找overlap的功能。BAM,BigWig,BigBed等的快速overlap都是基于这个算法。这个技术也不是bedtools原创的,在UCSC里面早就已经广泛应用。UCSC genome browser很大程度上依赖于这段代码:给定一段区间,快速查询跟这个区间有overlap的各种feature,然后用网页呈现出来。UCSC的后台用到了SQL数据库,但是SQL主要是用来记录一些物种信息和文件信息的。所有的genomic interval 的feature overlap查询都不是基于SQL数据库,可见这个算法的强大之处。

后来Tabix进一步改进了BedTools。Tabix用了两种技术,一个是分段压缩技术(bgzip),将sorted Bed 文件压缩成.gz格式。一个是BIN index技术,给压缩的.gz文件建立一个index。这样的好处有二:一个是将Bed文件进行了压缩,占空间小,二是建立了index文件,避免像BedTools那样每次都要建立index。缺点是要进行3步才可以得到overlap的结果。所以Tabix主要用于常用的内容固定的大文件,比如转录组的GTF注释文件,你可不想每次都对它做遍index。Tabix除了技术之外还有2个优点:不需限定输入是bed格式,可以指定chrom,start和end所在的列。有Python的接口,可以在Python里面调用。

最后,也是Pythoner的福音,pysam整合了samtools和tabix。也就是说,给定一个基因组区间,用pysam,你可以在Python里给定基因组区间快速查询FASTA,BAM和任何Bed derived格式(有chrom,start和end列,start和end列可以相同),包括Bed,Bed12, GTF, GFF,GenePred以及很多自定义的格式。好牛B的有没有?有了Pysam,你离genome browser貌似就差个网页呈现了。。

这么好的工具还不快快收藏了?

插曲:还记得生信编程直播第10题:使用 SQL 语句注释基因吗?有没有人想到过用BedTools做,但却发现GTF不是Bed格式或者GTF文件太大而放弃的呢?试试Tabix或pysam吧。
回复 支持 1 反对 0

使用道具 举报

0

主题

8

帖子

140

积分

注册会员

Rank: 2

积分
140
发表于 2016-9-12 20:30:59 | 显示全部楼层
这个确实挺好用的,做各种基因坐标运算都很方便,自己写很容易出各种错......
而且还有提取序列这种小功能,我后来就直接用bedtools去提取指定位置序列了,比自己写的脚本速度也要快不少。
回复 支持 反对

使用道具 举报

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
 楼主| 发表于 2017-3-4 20:47:36 | 显示全部楼层
tsznxx 发表于 2017-3-4 15:43
首先,BedTools的C++代码写的是不错的,大家有空可以看下。BedTools的核心intersectBed算法用的是BIN index ...

你推荐的都很赞,我明年就准备全面转入机器学习等统计领域,还有编程也不能只靠小技巧了,要深入理解数据模式,以及算法,谢谢你
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复 支持 反对

使用道具 举报

4

主题

24

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2017-3-6 14:22:25 | 显示全部楼层
Jimmy 发表于 2017-3-4 20:47
你推荐的都很赞,我明年就准备全面转入机器学习等统计领域,还有编程也不能只靠小技巧了,要深入理解数据 ...

互相学习,我也是之前这块做的多一些,了解的也深入一点,有空我整理成帖子发出来。我其他方面比较薄弱,知识面也很窄,综合来说还算是新手,在这混混一方面是拓宽知识面,另一方面跟大家share一下自己的一些经验而已。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-8-22 03:10 , Processed in 0.032573 second(s), 32 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.