美文网首页
生信地基系列--bedtools

生信地基系列--bedtools

作者: 可能性之兽 | 来源:发表于2022-10-26 17:53 被阅读0次

    虽然有人写的挺好的了最全Bedtools使用说明--只看本文就够了 - 简书 (jianshu.com),还是记录一下

    bedtools英文文档
    Overview — bedtools 2.30.0 documentation

    Utility Description
    annotate 注释多个文件的覆盖特征
    bamtobed 将bam文件转换为BED格式
    bamtofastq 将bam文件转换为FASTQ格式
    bed12tobed6 将BED12间隔转换为BED6间隔
    bedpetobam 将BEDPE间隔转化为BAM格式
    bedtobam 将间隔转换为BAM记录
    closest 寻找最近的潜在的非重叠区间
    cluster 聚类(不合并)重叠的区间
    complement 获得区间的补集
    coverge 计算特定区间的覆盖
    expand 根据列值重复行数
    flank 从当前区间侧翼创建新的区间
    genomecov 从整个基因组计算覆盖深度
    getfasta 根据区间从FASTA文件中提取序列
    groupby 按特征列进行分组
    igv 创建一个IGV快照批处理脚本
    intersect 用各种不同的方式寻找重叠区域
    jaccard 计算b/w两个间隔区域的Jaccard统计量
    links 创建一个连接UCSC位点的HTML页面
    makewindows 创建基因组区间窗口
    map 为每个重叠区间队列应用一个函数
    maskfasta 利用区间隐藏FASTA文件序列
    merge 合并重叠区间形成一个新的区间
    multicov 计算多个BAM文件在特定区间的覆盖深度
    multiinter 标记多个区间文件的公共区间
    nuc 分析FASTA文件某区间的核酸含量
    overlap 计算两个区间重叠范围的长度
    pairtobed 找出以各种方式重叠区间的对
    pairtopair 找出以各种方式重叠其他配对的配对
    random 产生一个基因组的随机区间
    reldist 计算两个文件的相对距离分布
    shift 调整区间的位置
    shuffle 在基因组中随机重新分配时间间隔
    slop 调整区间的大小
    sort 对区间进行排序
    subtract 对两个区间文件取差集
    tag 根据区间的重叠区域标记BAM Tag
    unionbedg 根据多个BEDGRAPH文件合并覆盖区间
    window 在一个间隔周围的窗口寻找重叠区间

    取两个bed文件的交集

    • 两个bed
    bedtools intersect –a A.bed –b B.bed
    

    sort 对区间进行排序

    • 输入bed文件,samtools生成的基因组长度文件.fai
    samtools faidx XX.fa ##生成genome.fai
    bedtools sort -i XX.bed -g genome.fai
    

    random 对bed文件进行随机抽取;

    • 输入bed文件
    bedtools random xx.bed
    

    shuffle 根据提供的bed文件在基因组进行随机抽样

    • 输入文件BED,基因组长度文件.fai
    bedtools shuffle -i XX.bed -g genome.fai
    

    按照bed提取序列

    bedtools getfasta [OPTIONS] -fi <input FASTA> -bed <BED/GFF/VCF>
    

    pybedtools

    直接python内部使用bedtools

    from pybedtools import BedTool
    
    snps = BedTool('snps.bed.gz')  # [1]
    genes = BedTool('hg19.gff')    # [1]
    
    intergenic_snps = snps.subtract(genes)                       # [2]
    nearby = genes.closest(intergenic_snps, d=True, stream=True) # [2, 3]
    
    for gene in nearby:             # [4]
        if int(gene[-1]) < 5000:    # [4]
            print gene.name         # [4]
    

    相关文章

      网友评论

          本文标题:生信地基系列--bedtools

          本文链接:https://www.haomeiwen.com/subject/kjtzzrtx.html