結論
下記に載せるようなMakefileを書いて,データファイルと同じディレクトリに配置し,
make SRA=SRR0000000.sra
などとコマンドを実行すれば良い。
ただし,SRR0000000.sra
はダウンロードしてきたsraファイルの名前とする。
ファイル中で,somewhere
となっている部分は,SRA Toolkit をインストール先にあわせて適宜変えてください。
paired-end のデータの場合のFasta ファイル
## commands
FASTQ-DUMP = /somewhere/fastq-dump
## files
FASTQ1 = $(SRA:%.sra=%_1.fastq)
FASTQ2 = $(SRA:%.sra=%_2.fastq)
all: $(FASTQ1) $(FASTQ2)
# obtain the paired-end fastq files from a given sra file
$(FASTQ1) $(FASTQ2): $(SRA)
$(FASTQ-DUMP) --qual-filter --split-files $<
paired-end でない場合のFasta ファイル
## commands
FASTQ-DUMP = /somewhere/fastq-dump
## files
FASTQ = $(SRA:%.sra=%.fastq)
all: $(FASTQ)
# obtain the fastq file from a given sra file
$(FASTQ): $(SRA)
$(FASTQ-DUMP) --qual-filter $<
背景
NCBI SRAと.sra形式
次世代シーケンサーで得られた生データは,NCBI の SRA (short read archive) というデータベースに登録されています
http://www.ncbi.nlm.nih.gov/sra
http://trace.ddbj.nig.ac.jp/dra/index.html
ここに登録されているデータは,実験一セット(1 run)を単位として.sra形式にまとめられてます。
http://trace.ddbj.nig.ac.jp/dra/faq.html#data_files_sra
このため,データを利用する場合は,NCBIが提供しているSRA Toolkitを用いて,データ形式を変換する必要があります。
http://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc
今回は,fastq-dumpというツールを用いて,fasta 形式に変換することにします。
http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc&f=fastq-dump
Makefile
あるファイルXから別のファイルYを生成するというような依存関係があるとき,
Makefileを書いて,依存関係をプログラムに管理してもらうと楽です。
今回は,sra形式のファイルからfasta形式のファイルを作るMakefileを書きました。