DEV Community

JH5
JH5

Posted on • Originally published at Medium

PrimateAI-3D 變異預測完全指南

PrimateAI-3D 變異預測完全指南

Illumina PrimateAI-3D

在精準醫學時代,解讀基因變異是診斷罕見疾病的關鍵。但問題是要怎麼區分真正危險的變異 vs. 無害的背景變異?

如果 Google AlphaMissense 從「蛋白質結構」出發,那麼 Illumina PrimateAI-3D 的最主要的邏輯就是在演化。

Illumina 的科學家們定序了 233 種靈長類動物。他們的假設很簡單:如果一個變異在猴子、猩猩身上都找不到,代表這個變異在演化過程中被「淘汰」了,那它對人類大概率也是有害的。

核心原理

PrimateAI-3D 結合了:

  1. 演化保守性:跨物種的比對。

  2. 3D 結構:使用 3D 卷積神經網路 (3D-CNN) 掃描蛋白質結構。

這樣的架構讓它在減少 VUS (意義不明變異) 方面表現極佳。

1. 準備工作目錄

Enter fullscreen mode Exit fullscreen mode


bash

創建工作目錄

WORK_DIR=~/biotools_work

mkdir -p ${WORK_DIR}

cd ${WORK_DIR}




同時也要確認這些資料都準備好了:— input_full.vcf (你的變異檔)




— primateai_scores.vcf.gz (PrimateAI 分數檔,從 Illumina 下載)




#### 2. 拉取 bcftools Docker 鏡像




Enter fullscreen mode Exit fullscreen mode


apache
docker pull biocontainers/bcftools:v1.9-1-deb_cv1




#### 3. 執行 VCF 註釋




Enter fullscreen mode Exit fullscreen mode


haskell

定義檔案名稱

INPUT_VCF="input_full.vcf"

SCORE_FILE="primateai_scores.vcf.gz"

OUTPUT_VCF="output_primateai.vcf"

使用 Docker 執行 bcftools annotate

docker run --rm \

-v ${WORK_DIR}:/data \

biocontainers/bcftools:v1.9-1-deb_cv1 \

bcftools annotate \

-a /data/${SCORE_FILE} \

-c INFO/PrimateAI_Score \

-o /data/${OUTPUT_VCF} \

/data/${INPUT_VCF}




參數解釋:





- `-a`: 註釋源檔案 (你的知識庫)

- `-c INFO/PrimateAI_Score`: 提取分數欄位

- `-o`: 輸出檔案




#### 4. 驗證註釋結果




Enter fullscreen mode Exit fullscreen mode


bash

查看前 10 個註釋結果

docker run --rm -v ${WORK_DIR}:/data \

biocontainers/bcftools:v1.9-1-deb_cv1 \

bcftools query -f '%CHROM\t%POS\t%REF\t%ALT\t%INFO/PrimateAI_Score\n' \

/data/${OUTPUT_VCF} | head -10

統計已註釋的變異數

docker run --rm -v ${WORK_DIR}:/data \

biocontainers/bcftools:v1.9-1-deb_cv1 \

bcftools query -f '%INFO/PrimateAI_Score\n' \

/data/${OUTPUT_VCF} | grep -v '.' | wc -l




#### 分數解讀




Enter fullscreen mode Exit fullscreen mode


apache
INFO/PrimateAI_Score=0.85





- Score 越高:代表該變異在靈長類中越罕見,且結構上越危險 -> 致病風險高。

- Score 越低:代表該變異在演化上是可以被容忍的 -> 良性機會大。




推薦臨床閾值:





- 0.8 = 區分致病 vs 良性(Illumina 官方推薦)

- 0.6 = 保守篩選(用於篩查研究)





如果需要的資料很大,可以考慮透過切分不同的染色體來處理




Enter fullscreen mode Exit fullscreen mode


bash

按染色體分割,並行處理

for chr in {1..22} X Y; do

docker run --rm -v ${WORK_DIR}:/data \

biocontainers/bcftools:v1.9-1-deb_cv1 \

bcftools annotate \

-r chr${chr} \

-a /data/primateai_scores.vcf.gz \

-c INFO/PrimateAI_Score \

-o /data/chr${chr}_annotated.vcf \

/data/input_full.vcf &

done

wait

合併結果

bcftools concat chr*.vcf > final_annotated.vcf




另外,也可以先針對高風險的變異做篩選來加快與簡化結果




Enter fullscreen mode Exit fullscreen mode


bash

提取 PrimateAI Score > 0.8 的變異

docker run --rm -v ${WORK_DIR}:/data \

biocontainers/bcftools:v1.9-1-deb_cv1 \

bcftools query \

-f '%CHROM\t%POS\t%REF\t%ALT\t%INFO/PrimateAI_Score\n' \

-i 'INFO/PrimateAI_Score>0.8' \

/data/output_primateai.vcf > high_risk.tsv

結果: 可在 Excel 中審視的簡潔表格







1. PrimateAI-3D Paper: Gao, H. et al. “The landscape of tolerated missense variants in humans and primates.” *Science* (2023).

1. bcftools Documentation: [http://samtools.github.io/bcftools/](http://samtools.github.io/bcftools/)


[# ai](/tag/ai)[# bioinformatics](/tag/bioinformatics)[# genomics](/tag/genomics)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)