虽然有人写的挺好的了最全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]
网友评论