一起生信啦啦啦基因组坐标区间操作

从gff3/bed提取intron坐标及正负链信息

2018-10-23  本文已影响94人  苏牧传媒

工具:

bedtools subtract

ref:Example usage — bedtools 2.27.0 documentation

注意:分隔符需要是\t

原理:

A减去B

注意:需要区分正负链信息;因为-s参数不能使用

图示:

另一个例子:

证明不需要提前对a和b文件进行去除overlap:

前面有错,最后决定还是需要先进行overlap的去除

ref:Defining genomic regions - Dave Tang's blog

# gtf转为bed:

【1】去除“:

sed -i 's/"//g' exon.gtf

sed -i 's/"//g' transcript.gtf

【2】gtf转为bed:

awk 'BEGIN{FS="\t| |;";OFS="\t"}{print $1,$4,$5,$10,$22,$7}' exon.gtf > exon.bed

awk 'BEGIN{FS="\t| |;";OFS="\t"}{print $1,$4,$5,$10,$22,$7}' transcript.gtf > transcript.bed

# 对bed进行sort:

bedtools sort -i transcript.bed > transcript.sorted.bed

bedtools sort -i exon.bed > exon.sorted.bed

# 进行merge:

bedtools merge -i transcript.sorted.bed -s -c 4,5,6 -o distinct > transcript.sorted.merged.bed

bedtools merge -i exon.sorted.bed -s -c 4,5,6 -o distinct > exon.sorted.merged.bed

# 减去:

bedtools subtract -s -a transcript.sorted.merged.bed -b exon.sorted.merged.bed > intron.bed

上一篇 下一篇

猜你喜欢

热点阅读