参考资料: bedtools详细参数
bedtools——the swiss army knife for genome arithmetic
下载最新版的bedtools,建议下载二进制文件,因为不用编译。直接执行就可以用。
wget -c https://github.com/arq5x/bedtools2/releases/download/v2.29.2/bedtools.static.binary
mv bedtools.static.binary bedtools
chmod 757 bedtools
#把路径添加进环境变量即可
- 提取指定位置的碱基序列 例:提取chr1 1125152 133005之间的序列
cat test.bed
#chr1 5 10
bedtools getfasta -fi test.fa -bed test.bed
#>chr1:5-10
#AAACC
# optionally write to an output file
bedtools getfasta -fi test.fa -bed test.bed -fo test.fa.out
cat test.fa.out
#>chr1:5-10
#AAACC
使用getfasta提取指定位置的碱基序列。
可以指定参数( 使用bedtools版本v2.29.2),不同版本此命令参数可能不一致
-nameOnly
在bed文件最后一个是name,提取后输出的序列名称即此处的name.
-s
参数,强制请求反向互补链
Ghir_A13 105004822 105006822 GH1 +
上面是bed的格式,其中使用的tab分隔符
bedtools getfasta -fi Gom.fa -bed file1.bed -nameOnly -s
输出的fa格式开头就是>GH1
- 提取指定区间的基因(例如:chr5:169741633-172553366)可以使用shell脚本
cat genome.gtf|awk -F "\t" '{if($3~/gene/&&$1~/5/&&$4>169741633&&$5<172553366)print $1","$4","$5","$9}'
- 寻找多个材料的多个区间的并集或交集
涉及到的工具
bedtools intersect [OPTIONS] -a
bedtools map -a genes.bed -b peaks.bedgraph -c 4 -o mean
gatk 找到多组群体的snp,寻找其中是否有重叠区间
bedtools intersect -a F2-35.bed -b F2-95.bed RIL3.bed RIL9.bed
输出第一个和后三个的重叠区间
bedtools intersect -wa -wb -a F2-35.bed -b F2-95.bed RIL3.bed RIL9.bed
输出第一个和后三个的重叠情况