スモールデータで理解する SNP 解析の流れ
目標
コンテンツ
目標
コンテンツ
cd
(change directory)mkdir
(make directory)ls
(list segments)mv
(move)rm
(remove)pwd
>
(リダイレクト)head -n N
tail -n N
less
Q
で閉じる。
snp24
を作成する。snp24
内に移動し、今いるディレクトリのフルパスをターミナルに出力する。fullpath.txt
に書き込む。fullpath.txt
のファイル名を、pwd.txt
に書き換える。pwd.txt
の中身を確認する。pwd.txt
を削除する。mkdir snp24
cd snp24
して pwd
pwd > fullpath.txt
mv fullpath.txt pwd.txt
head pwd.txt
とか、less pwd.txt
とか。rm pwd.txt
今日のハンズオンはすべて snp24
ディレクトリの中で行います。
ハンズオン終了後は、ディレクトリごと消してもらって構いません:
大腸菌 Escherichia coli (E. coli)
研究で読まれた配列データは NCBI などのデータベースにアーカイブされ、だれでも利用できる。
どうやって探すか:
← ダウンロードにはこの Run ID が必要
https://github.com/ncbi/sra-tools/wiki/08.-prefetch-and-fasterq-dump
prefetch
fasterq-dump
ls
して2つの .fastq
ファイルができていたら成功:
4行でひとまとまり (1リード) のデータ:
Fastq の4行目は、各塩基のクオリティ値が記号で記されている。
記号と数字の対応は以下の通り (ASCII コード):
Quality encoding: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI
| | | | |
Quality score: 0........10........20........30........40
これらの数字 (Q値) は Log スケールであり、ある塩基が間違って読まれている確率を \(P\) として、
\[ Q = -10 \times \log_{10}{P} \]
で計算される。
例えば ?
なら \(Q=30\) で、間違って読まれている確率は \(P=0.001\)。
偽陽性バリアントの増加
Tool name | language | input | QC | QF | Ad | cont | PE |
---|---|---|---|---|---|---|---|
FastqPuri | C, R | fq | 〇 | 〇 | 〇 | 〇 | 〇 |
fastp | C++ | fq, gz | 〇 | 〇 | 〇 | x | 〇 |
Fastq Screen | perl | fq | x | x | x | 〇 | x |
trimmomatic | java | fq, gz | x | 〇 | 〇 | x | 〇 |
FastQC | java | fq, gz | 〇 | x | x | x | x |
RSeQC | C, Python | BAM/SAM | 〇 | x | x | x | x |
Pérez-Rubio et al. 2019 Table. 1 より抜粋
QC: Quality Control
QF: Quality Filtering
Ad: アダプタ配列除去
cont: コンタミ除去
PE: Paired-end 対応
今回のハンズオンでは、C++ 製で高速、
圧縮ファイル (gz) にも対応した fastp を使う。
fastp -i SRR030257_1.fastq -I SRR030257_2.fastq \
-o qc_SRR030257_1.fq.gz -O qc_SRR030257_2.fq.gz \
-q 20 -u 40 -h SRR030257.qc.html
-i
, -I
-i
のみ。
-o
, -O
-o
のみ。
.gz
をつければそのまま圧縮可能。
-h
.html
) の出力先
fastp -i SRR030257_1.fastq -I SRR030257_2.fastq \
-o qc_SRR030257_1.fq.gz -O qc_SRR030257_2.fq.gz \
-q 20 -u 40 -h SRR030257.qc.html
-q
-u
今回の場合、\(Q<20\) の塩基が40%以上含まれれるリードを除去。
達成🎉
参考