1 md5 / md5sum
md5(Message-Digest Algorithm 5)是一種常用的雜湊演算法,在生物資訊分析中,最常用於 檔案完整性驗證(file integrity check),例如確認 FASTQ、BAM、VCF 等檔案在下載、傳輸或備份過程中是否發生損毀。
1.1 基本用法
1.1.1 計算單一檔案的 md5
md5sum data/fastq/a.chr21_R1.fastq.gz
輸出格式如下,前半段為 md5 checksum,後半段為檔名:
d72fda8017c8eb035df69e3f5a3602bf data/fastq/a.chr21_R1.fastq.gz
1.1.2 將 md5 結果輸出成檔案
在實務中,通常會將 checksum 存成 .md5 檔,方便日後驗證:
md5sum data/fastq/a.chr21_R1.fastq.gz > data/sample.md5
sample.md5 內容格式如下:
d72fda8017c8eb035df69e3f5a3602bf data/fastq/a.chr21_R1.fastq.gz
1.2 驗證檔案完整性(最常用)
使用 -c 參數可以檢查檔案是否與 md5 紀錄一致:
md5sum -c data/sample.md5
若檔案未被修改或損壞,會顯示:
data/fastq/a.chr21_R1.fastq.gz: OK
若檔案內容有變動,則會顯示 FAILED。
1.3 常見實務情境
1.3.1 1️⃣ 下載後驗證 FASTQ 檔案
wget https://example.org/a.chr21_R1.fastq.gz
md5sum -c a.chr21_R1.fastq.gz.md5
這是最常見於 NGS 原始資料下載(GEO / SRA / internal server)的流程。
1.3.2 2️⃣ 比對兩個檔案是否完全相同
md5sum file_A.bam
md5sum file_B.bam
若兩者 md5 值完全相同,代表檔案內容 100% 一致(逐 byte 相同)。
1.3.3 3️⃣ 對多個檔案同時計算 md5
md5sum *.fastq.gz > all_fastq.md5
之後可使用:
md5sum -c all_fastq.md5
一次驗證整批資料。
1.3.4 4️⃣ 對整個資料夾建立 checksum(建議排序)
find . -type f -exec md5sum {} \; | sort > checksums.md5
適合用於資料備份、跨伺服器搬移(HPC ↔︎ local ↔︎ cloud)後的驗證。
1.4 md5 的限制與替代方案
md5 不適合用於資安或加密用途(存在碰撞風險)
但對於 檔案完整性驗證已足夠且高效
若需要更高安全性,可改用:
sha256sum file.fastq.gz
1.5 生物資訊實務建議
建議所有原始 NGS 檔案(FASTQ / BAM)皆附上 .md5
pipeline 輸出結果(如 variant / count matrix)可一併提供 checksum
投稿、資料交付或長期保存前,重新驗證一次 md5
友情链接:
©Copyright © 2022 2006年世界杯歌曲_冰岛世界杯排名 - guoyunzhan.com All Rights Reserved.