macでインフォマティクス

macでインフォマティクス

NGS関連のインフォマティクス情報についてまとめています。

bedtoolsでpromoter配列を抽出する。

 

Biostarとbedtoolsの公式サイトに、bedtoolsを使ったpromoter配列の抽出の仕方がまとめられている(How To Use Bedtools To Extract Promoters From A Mouse Bed File)。試してみる。

 

このようなbedファイルの各featureの上流を抽出する。

user$ head -5 genes.bed 

chr1 11873 12227 NR_046018_exon_0_0_chr1_11874_f

chr1 12612 12721 NR_046018_exon_1_0_chr1_12613_f

chr1 13220 14409 NR_046018_exon_2_0_chr1_13221_f

chr1 14361 14829 NR_024540_exon_0_0_chr1_14362_r

chr1 14969 15038 NR_024540_exon_1_0_chr1_14970_r

 

 

まずクロモソームのサイズを書いたファイルを準備する。単純なタブ区切りのテキストファイルであればよい。ここではsamtools faidxを使いfastaから作っている。

samtools faidx reference.fa
cut -f 1,2 reference.fa.fai > genome.txt

 

上流領域を抽出する。bedtoolsで隣接 featureを取れるコマンドは複数あるが、今回はflankコマンドを使う。

bedtools flank -i genes.bed -g genome.txt -l 1000 -r 0 -s > genes.1kb.promoters.bed

flankコマンドで隣接領域を抽出している。この時-l 1000 -r 0とすることで隣接する上流1000-bp、下流0-bpが抽出されるように工夫している。ちなみにクロモソームの末端でクロモソームからはみ出すfeatureがある場合、トリミングして出力される。

 

さらにbedtoolsのgetfastaで配列を抽出する。

bedtools getfasta -fi reference.fa -bed genes.1kb.promoters.bed |fold -w 60 > genes.1kb.promoters.bed.fa
  • -fi Input FASTA file
  • -bed BED/GFF/VCF file of ranges to extract from -fi

-fiでリファレンスゲノムを指定して使う。また、パイプを使いfoldで60文字ごとに改行している。少し重くなるので、不要なら外す。上記コマンドはヘッダー名が違うとワークしないので気をつける。

出力は、例えば grep -n "^>" input.fasta | wc -l で配列数をカウントできる。

 

 

使用したpromoter配列の塩基組成や偏りなどの基本情報をまとめたい場合、bedtoolsのnucを使う。

先ほど作ったbedを使い、以下のように打つ。

bedtools nuc -fi reference.fa -bed genes.1kb.promoters.bed > ATGC.bed

カラムの後半に以下のような情報がつく。

  • 1) %AT content
  • 2) %GC content
  • 3) Number of As observed
  • 4) Number of Cs observed
  • 5) Number of Gs observed
  • 6) Number of Ts observed
  • 7) Number of Ns observed
  • 8) Number of other bases observed
  • 9) The length of the explored sequence/interval.
  • 10) The seq. extracted from the FASTA file. (opt., if -seq is used)
  • 11) The number of times a user's pattern was observed. 

 

平均や最大/最小などの情報はRでまとめる。

 

 

上で使ったbedtoolsのコマンドはこちらでまとめています。

 

 

引用

How To Use Bedtools To Extract Promoters From A Mouse Bed File