CHAPTER 9 / 14

生物資訊檔案格式

FASTQ / FASTA / GTF / GFF / BED / SAM / BAM / VCF — 認識每個欄位的意義,才能用 Linux 工具操作它們。

FASTQ / FASTA / GTF / GFF / BED / SAM / BAM / VCF — knowing the columns is what lets Linux operate on them.

點選下方格式,看欄位定義與檢查指令

FASTQ (原始 reads)

每筆 read 占 4 行:@+read ID、② 序列、③ +(可選 ID)、④ Phred quality 字元。常壓縮為 .fastq.gz / .fq.gz

4 lines per read:@+read ID, ② sequence, ③ + (optional repeated ID), ④ Phred quality characters. Almost always gzipped (.fastq.gz / .fq.gz).

@SRR12345.1 1/1
AGCTACGTACGTAGCTAGCTACGTACGT
+
IIIIIIIIIIIIIIIIIIIIIIIIIIII

常用檢查指令

zcat sample.fastq.gz | head -n 4
看第一筆 read
zcat sample.fastq.gz | awk 'END{print NR/4}'
read 總數
zcat sample.fastq.gz | awk 'NR%4==2 {print length($0)}' | sort -u
read 長度分佈

座標系統一張表搞定

格式起始區段範例
FASTA1-based位置 100 = 第 100 個鹼基
GTF / GFF1-based[start, end]chr1 100 200 = 100 到 200,含兩端
BED0-based[start, end)chr1 99 200 = 同一段
SAM / BAM1-basedPOS = 100 = read 開頭比到第 100 位
VCF1-basedPOS = 100 = 變異發生在第 100 位

互動:分辨並檢查格式

📝 自我檢測

1. GTF 中的 chr1 100 200 對應 BED 的哪個範圍?

1. GTF chr1 100 200 equals which BED interval?

chr1 100 200
chr1 100 201
chr1 99 200
chr1 99 201

2. FASTQ 一筆 read 占幾行?

2. A FASTQ record spans how many lines?

4
2
3
8

3. 想快速看 BAM 中有多少 reads 比對成功,最快的指令?

3. Fastest way to see how many BAM reads mapped successfully?

cat a.bam | wc -l
head a.bam
samtools view a.bam
samtools flagstat a.bam

4. 計算 VCF 中實際變異數的指令?

4. Command to count actual variants in a VCF?

wc -l cohort.vcf
grep -v "^#" cohort.vcf | wc -l
head cohort.vcf | wc -l
grep "^#" cohort.vcf | wc -l