初めに
Churrosを用いてChIP-seq解析を行うにはsamplelist.txtとsamplepairlist.txtが必要になります。少ないサンプル数であれば手動でリストを作製してもよいのですが、多いと手動だとしんどくなります。そこで効率よくsamplelist.txtを作製する方法をまとめようと思います。
今回はHuman iPSCとその親株細胞 (線維芽細胞[F]、内皮細胞[EC]、心筋前駆細胞 [CPC])を用いてプロモーターとエンハンサーのマーカー(H3K4me1、H3K4me3、H3K27ac、H3K27me3の)のChIP-seq(n=84)解析を行った研究を例にします。
Churros
https://churros.readthedocs.io/en/latest/content/Tutorial.html
Reference
Zhao MT, Shao NY, Hu S, Ma N et al. Cell Type-Specific Chromatin Signatures Underline Regulatory DNA Elements in Human Induced Pluripotent Stem Cells and Somatic Cells. Circ Res 2017 Nov 10;121(11):1237-1250. PMID: 29030344
それぞれのリストの形式は下記
samplelist.txt (sampleとfastqfileの間はTab区切り)
samplename fastqfile(rep1) ※rep2があれば,で区切って記載 HepG2_H2A.Z fastq/SRR227639.fastq.gz,fastq/SRR227640.fastq.gz HepG2_H3K4me3 fastq/SRR227563.fastq.gz,fastq/SRR227564.fastq.gz HepG2_H3K27ac fastq/SRR227575.fastq.gz,fastq/SRR227576.fastq.gz HepG2_H3K27me3 fastq/SRR227598.fastq.gz,fastq/SRR227599.fastq.gz HepG2_H3K36me3 fastq/SRR227447.fastq.gz,fastq/SRR227448.fastq.gz HepG2_Control fastq/SRR227552.fastq.gz,fastq/SRR227553.fastq.gz
samplepairlist.txt (各項目は , 区切り)
ChIP-samplename,Input-samplename,prefix,peak mode HepG2_H2A.Z,HepG2_Control,HepG2_H2A.Z,sharp HepG2_H3K4me3,HepG2_Control,HepG2_H3K4me3,sharp HepG2_H3K27ac,HepG2_Control,HepG2_H3K27ac,sharp HepG2_H3K27me3,HepG2_Control,HepG2_H3K27me3,broad HepG2_H3K36me3,HepG2_Control,HepG2_H3K36me3,broad
まず論文からGEOのAssecion IDを探します。GSE97033にアクセスしRaw dataをゲットするためにSRAサイトに飛びます。
SRR5376453からSRR5376536までが欲しいデータなのでこれらをダウンロードします。
#!/bin/bash mkdir -p fastq for id in {453..536} do fastq-dump --gzip SRR5376$id -O fastq done
今回のデータはSingle-end readなのでオプションの--split-files は無しです。
Single-end readのサンプルにこのオプションを付けるとSRRXXX_1.fastq.gzとなり後の処理がやや面倒になります。
さてここからリスト作製に移ります。samplenameはGEOに記載されているのもで良いので該当項目をcopy.txtにコピペします。
ここら辺一体をコピペしておきます。
出来上がったものが下記です。(長いので一部記載)
$ cat copy.txt GSM2550183 F1-CiPSC-Input GSM2550184 F1-CiPSC-K27ac GSM2550185 F1-CiPSC-K27me3 GSM2550186 F1-CiPSC-K4me1 GSM2550187 F1-CiPSC-K4me3 GSM2550188 F1-CiPSC-p300 GSM2550189 F1-CiPSC-Pol2
1列目のGSM...というのが不要なのでカットしてsample.txtにします。
$ cat copy.txt | awk '{print $2}' > sample.txt $ cat sample.txt F1-CiPSC-Input F1-CiPSC-K27ac F1-CiPSC-K27me3 F1-CiPSC-K4me1 F1-CiPSC-K4me3 F1-CiPSC-p300 F1-CiPSC-Pol2
ちなみにコピぺしたうちの一部を使用したい場合は以下のようにNR==行番号 で行を$列番号 で列を指定することが可能です。ここでは2列目の2行目から4行目を指定しています。
$ cat copy.txt | awk 'NR==2,NR==4 {print $2}' F1-CiPSC-K27ac F1-CiPSC-K27me3 F1-CiPSC-K4me1
次に必要なのはfastqfileです。
今回は連番のサンプルなので以下のコマンドでlist.txtとして作製します。
> では単に上書きされてしまうので>> で追記するようにします。
for id in {453..536} do echo fastq/SRR5376$id.fastq.gz >> list.txt done
$ cat list.txt fastq/SRR5376536.fastq.gz fastq/SRR5376453.fastq.gz fastq/SRR5376454.fastq.gz fastq/SRR5376455.fastq.gz fastq/SRR5376456.fastq.gz fastq/SRR5376457.fastq.gz fastq/SRR5376458.fastq.gz
最後にsample.txtとlist.txtをマージすればsamplelist.txtの完成です。
$ paste sample.txt list.txt > samplelist.txt $ cat samplelist.txt F1-CiPSC-Input fastq/SRR5376536.fastq.gz F1-CiPSC-K27ac fastq/SRR5376453.fastq.gz F1-CiPSC-K27me3 fastq/SRR5376454.fastq.gz F1-CiPSC-K4me1 fastq/SRR5376455.fastq.gz F1-CiPSC-K4me3 fastq/SRR5376456.fastq.gz F1-CiPSC-p300 fastq/SRR5376457.fastq.gz F1-CiPSC-Pol2 fastq/SRR5376458.fastq.gz
列方向でファイルを結合したい場合はpasteコマンドを使います。デフォルトではタブ区切りでファイル同士が結合されます。
$ cat -T samplelist.txt F1-CiPSC-Input^Ifastq/SRR5376536.fastq.gz F1-CiPSC-K27ac^Ifastq/SRR5376453.fastq.gz F1-CiPSC-K27me3^Ifastq/SRR5376454.fastq.gz F1-CiPSC-K4me1^Ifastq/SRR5376455.fastq.gz F1-CiPSC-K4me3^Ifastq/SRR5376456.fastq.gz F1-CiPSC-p300^Ifastq/SRR5376457.fastq.gz F1-CiPSC-Pol2^Ifastq/SRR5376458.fastq.gz
区切る文字を指定したい場合は-dオプションを使います。
$ paste -d , sample.txt list.txt F1-CiPSC-Input,fastq/SRR5376453.fastq.gz F1-CiPSC-K27ac,fastq/SRR5376454.fastq.gz F1-CiPSC-K27me3,fastq/SRR5376455.fastq.gz F1-CiPSC-K4me1,fastq/SRR5376456.fastq.gz F1-CiPSC-K4me3,fastq/SRR5376457.fastq.gz F1-CiPSC-p300,fastq/SRR5376458.fastq.gz F1-CiPSC-Pol2,fastq/SRR5376459.fastq.gz
これはsamplepairlist.txtを作るときに使えそうです。
初歩的な内容ですがこれらは非常に重要なコマンドなので使いこなせるようになるべきですね。