zoukankan      html  css  js  c++  java
  • bedtools 的安装与使用

    1) 安装

    bedtools 提供了3种安装方式

    • 从google code 下载源代码进行安装
    • 利用系统中的包管理工具进行安装, 比如cnetos 下的yum, ubuntu下的apt-get, mac 下的homebrew
    • 从github下载源代码,进行安装

    由于访问不了google code,又想编译安装,就从github上下载最新版:https://github.com/arq5x/bedtools2

    下载v2.25.0版本的源代码,进行安装

    wget https://github.com/arq5x/bedtools2/archive/v2.25.0.tar.gz
    tar xzvf v2.25.0 
    cd bedtools2-2.25.0/
    make
    cd bin/
    export PATH=$PWD:$PATH

     2) 使用

    intersect: 求两个区间的交集,输入文件可以是bed,gff,vcf

    准备两个测试文件,

    cpg.bed,其内容为

    chr1	20	70	CPG_1
    chr1	100	120	CPG_2
    chr1	150	250	CPG_3
    

    exon.bed,其内容为

    chr1	10	40	exon_1
    chr1	50	60	exon_2
    chr1	130	180	exon_3
    chr1	200	280	exon_4
    

    使用默认参数,求这个文件的overlap,运行

    bedtools intersect -a cpg.bed  -b exon.bed
    

    结果为

    chr1	20	40	CPG_1
    chr1	50	60	CPG_1
    chr1	150	180	CPG_3
    chr1	200	250	CPG_3
    

    可以看出,默认情况下只输出A中overlap的区域

    添加-wa 参数, 再次运行

    bedtools intersect -a cpg.bed  -b exon.bed -wa
    

    结果为:

    chr1	20	70	CPG_1
    chr1	20	70	CPG_1
    chr1	150	250	CPG_3
    chr1	150	250	CPG_3
    

    可以看出,加上-wa 参数后,只要A中的这段区域与B中区域有交集,就输出,而且overlap几次,就输出几次

    添加-wb 参数,运行

    bedtools intersect -a cpg.bed  -b exon.bed -wb
    

    结果为:

    chr1	20	40	CPG_1	chr1	10	40	exon_1
    chr1	50	60	CPG_1	chr1	50	60	exon_2
    chr1	150	180	CPG_3	chr1	130	180	exon_3
    chr1	200	250	CPG_3	chr1	200	280	exon_4
    

    可以看出,加上-wb参数后,除了输出A中的overlap区域外,还会输出B中的整个区间

    加上-wa, -wb 参数,再次运行

    bedtools intersect -a cpg.bed  -b exon.bed -wa -wb
    

    结果为:

    chr1	20	70	CPG_1	chr1	10	40	exon_1
    chr1	20	70	CPG_1	chr1	50	60	exon_2
    chr1	150	250	CPG_3	chr1	130	180	exon_3
    chr1	150	250	CPG_3	chr1	200	280	exon_4
    

    可以看出,同时添加-wa和-wb参数会将overlap 区域成对输出

    -c参数,统计A中每个区域与Boverlap的次数

    bedtools intersect -a cpg.bed  -b exon.bed -c
    

    结果为:

    chr1	20	70	CPG_1	2
    chr1	100	120	CPG_2	0
    chr1	150	250	CPG_3	2
    

    -v参数:只输出A中没有与Boverlap的区域

    bedtools intersect -a cpg.bed  -b exon.bed -v
    

    结果为:

    chr1	100	120	CPG_2
    

    可以看出,只要只要与B有overlap就不输出。

      

     

      

      

      

      

      

      

      

      

      

  • 相关阅读:
    C#重载操作符的那点事
    Winform最小化托盘
    C#多线程传参
    GridView事件大全
    测试2
    测试
    FindFileByContent
    JavaScriptCallCSharp js调用C#属性与方法
    GroupBy
    查询指定属性的文件
  • 原文地址:https://www.cnblogs.com/xudongliang/p/5051503.html
Copyright © 2011-2022 走看看