酶 EC number 预测工具CLEAN的安装和使用
写在前面
酶往往根据其可以催化的化学反应进行分类,最广为人知的酶催化功能数字分类方案是酶委员会(EC)编号,每个EC编号都与酶催化的化学反应相关,所有催化相同反应的酶都具有相同的EC编号。因此,EC编号是到目前为止最常用的酶分类方案,它使用四位数字来确定酶的催化功能,通过预测EC编号,可以用来完全确定酶的催化功能。针对现有模型无法对研究较少的蛋白质,或者具有未表征功能,或者多种活性的蛋白质的功能进行准确注释的问题,研究人员基于对比学习机制开发了一种酶蛋白功能预测的AI深度学习框架CLEAN。CLEAN 基于 UniProt 的高质量数据库进行训练,通过输入氨基酸序列就可得到酶功能编号(EC, Enzyme commission,指示酶催化哪种反应的 ID 代码)的可能性排序列表。为了验证 CLEAN 的准确性和稳健性,作者团队不仅进行了大量的计算机运算实验,还使用 CLEAN 为 36 个分类的卤化酶的进行功能注释 EC 编号,结合实际实验验证结果,综合表明 CLEAN 在这些酶功能预测任务中比其他工具更具优越性。
一、安装教程
1. 克隆项目代码
git clone https://github.com/tttianhao/CLEAN.git
cd CLEAN/app
2. 创建 Conda 环境
确保你已经安装了 Anaconda 或 Miniconda。
conda create -n clean python==3.10.4 -y
conda activate clean
说明:这里我们新建了一个名为 clean
的虚拟环境,Python 版本为 3.10.4
。
3. 安装依赖
进入项目目录后,使用 pip 安装所需依赖:
pip install -r requirements.txt
4. 安装 PyTorch + CUDA 11.3
# CUDA 11.3
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
5. 下载预训练权重
-
下载并解压官方提供的预训练模型(70% / 100% split),以及 cluster embeddings 文件。
-
把解压后的内容放到:
data/pretrained/
(没有下载这部分文件的话,推理会报错) -
注意:解压完之后文件命名可能会修改,需要将文件名更改为 pretrained ,否则后续会报错
unzip pretrained.zip
6. 构建依赖模块
python build.py install
这是 CLEAN 的自定义构建步骤,必须执行。
7. 安装 Facebook ESM(蛋白质语言模型依赖)
git clone https://github.com/facebookresearch/esm.git
8. 准备 ESM 数据目录
该目录将存储esm的embedding文件(.pt文件)
mkdir data/esm_data
二、使用教程
1. 执行示例推理脚本
python CLEAN_infer_fasta.py --fasta_data price
执行上述脚本你的时候会默认下载esm的模型权重:esm1b_t33_650M_UR50S,但是由于网络等原因可能遇到下面的问题,解决方案就是下载到本地在传输到服务器上即可;
RuntimeError: unexpected EOF, expected ... The file might be corrupted.
显示以下的信息说明执行成功:
结果将保存在以下目录中:results/inputs/price_maxsep.csv
2. 通用推理脚本
python CLEAN_infer_fasta.py --fasta_data <name>
-
只接收一个参数:
--fasta_data
(字符串)。 -
语义:不带扩展名的 FASTA 基名。
示例:--fasta_data test
→ 期望存在data/inputs/test.fasta
。 -
推理结果:会保存在以下路径中
results/<name>.csv
脚本会自己去找 data/inputs/<name>.fasta
,传入 test
而不是 test.fasta
;否则最后清理时会去删 test.fasta.csv
这种不存在的路径
3. 结果分析和对比
选择部分序列使用上述命令行进行预测,并同步在CLEAN的网页端(Clean)也进行预测,对两个结果进行比较;
>WP_063460136
MAIPPYPDFRSAAFLRQHLRATMAFYDPVATDASGGQFHFFLDDGTVYNTHTRHLVSATRFVVTHAMLYRTTGEARYQVGMRHALEFLRTAFLDPATGGYAWLIDWQDGRATVQDTTRHCYGMAFVMLAYARAYEAGVPEARVWLAEAFDTAEQHFWQPAAGLYADEASPDWQLTSYRGQNANMHACEAMISAFRATGERRYIERAEQLAQGICQRQAALSDRTHAPAAEGWVWEHFHADWSVDWDYNRHDRSNIFRPWGYQVGHQTEWAKLLLQLDALLPADWHLPCAQRLFDTAVERGWDAEHGGLYYGMAPDGSICDDGKYHWVQAESMAAAAVLAVRTGDARYWQWYDRIWAYCWAHFVDHEHGAWFRILHRDNRNTTREKSNAGKVDYHNMGACYDVLLWALDAPGFSKESRSAALGRP
>WP_012428705
MTATIGSKIGQRRRIGRGPLQVTGLGLGTAPLGGLYRDLSDEEAHATIAAAWDAGVRYFDTAPHYGNTKAEHRLGDALRRYPRADYVLSTKVGRRFVPRTTPFDDKEGWQNPLPFEAIYDYTHDGILRSFEDSQQRLGIVDIDILLVHDIGRVTHGDNHPHYWRQLTEGGGFRALDALRSSGAIKAVGLGVNEGAAILDAMAEFDIDCALLAGRYTLLEQTTLDDLLPACEKRGVSILLGGAFNSGILARGVQGDLKFNYGEAPPEVIERVARLEAVCRTHGVPLAAAALQFPYAHPTVATVLTGARSADELRENAASFELPIPAALWFALREEGLLDSRAPAPED
>WP_012434194
MTTQSTDHDQQNMTAIVCHAPKDYRVEQVSKPRAGAHELVIRIAACGICASDCKCHSGAKMFWGGPSPWVKAPVIPGHEFFGFVEEIGEGAADHFGVKMGDRVIAEQIVPCGKCRYCKSGQYWMCEVHNIFGFQREVADGGMAEYMRIPPTAIVHKIPDGISLEDAAIIEPLACAIHTVNRGEVQLDDVVVIAGAGPLGLMMTQIAHLKTPKKLVVIDLVEERLALAREYGADVTINPKQDDALAIIHSLTDGYGCDVYIETTGAPIGVNQGMDLIRKLGRFVEFSVFGADTTLDWSVIGDRKELDVRGAHLGPYCYPIAIDLLARGLVTSKGIVTHGFSLEEWDEAIKIANSLDSIKVLLKPRA
>WP_011760344
MMRMGVDLGGTKIELVALGEDGSELFRKRIATPREYQGTLNAVVTLVNEAEATLGTQGSLGIGIPGVISPYTGLVKNANSTWINGHPLDRDLGALLNREVRVANDANCFAVSEAVDGAAAGKRVVFGAILGTGCGAGLAFDGRVHEGGNGIGGEWGHNPLPWMRPDEFNTTECFCGNKDCIETFVSGTGFVRDFRNSGGTAQNGAEIMSLVDAGDELANLVFDRYLDRLARSLAHVINMLDPDAIVLGGGMSNVQAIYARLPAILPKYVVGRECRTPVVQNLYGCSSGVRGAAWLWEKR
>NP_384124
MPAPSSILLSPDDNVVVATAAIAPGDRLAGGVSAVARIEPGHKAAIRRIDVGEPVVKYGQAIGRATSPIAPGEHVHSHNLAFDQGRLAVGAAVPPEAASEADKARTFLGYRRADGRAATRNYIGIVASVNCSTTVCRAIADEANRRILPKYEGIDGFVPIVHDQGCGMSSTGDGMKNLHRTLAGYARHANFGGVLMVGLGCEVNQLTLYGQSGAGAEKRHFNIQEAGGSRRSVERALGILDEIAKEVAAARRVPIPVSEIIVGLQCGGSDGLSGITANPALGAAVDILAAAGGTAILSETSEIYGAEHLLRSRAVNETVAVKLDGLIAWWEDYVAMHGASLDNNPSPGNKRGGLTTILEKSLGAVAKGGRSPLTAVYNYAERVTEPGLVFMDTPGYDPVSATGQVAGGANVIAFTTGRGSCFGCRPAPSIKLTSNTALYRAMEEDMDIDCGVIASGETTIADLGRGIFELIIETASGRKTKSELFGYGDNEFVPWHLGATL
>WP_054597488
MHDIELTEEQVMIRDMARDFARGEIAPHAQAWEKAGWIDDALVAKMGELGLLGMVVPEEWGGTYVDYVAYALAVEEISAGDGATGALMSIHNSVGCGPVLNYGTEEQKQTWLADLASGQAIGCFCLTEPQAGSEAHNLRTRAELRDGQWVINGAKQFVSNGRRAKLAIVFAVTDPDLGKKGLSAFLVPTDTPGFIVDRSEHKMGIRASDTCAVTLNNCTIPEANLLGERGKGLAIALSNLEGGRIGIAAQALGIARAAFEAALAYARDRVQFDKPIIEHQSVANMLADMHTRLNAARLLILHAARLRSAGKPCLSEASQAKLFASEMAEKVCSSAIQIHGGYGYLEDYPVERYYRDARITQIYEGSSEIQRMVIARELKNYLV
>WP_010210411
MLPNEEQLQISDAARQFAQERLKPFAAEWDREHRFPKEAIGEMAELGFFGMLVPEQWGGCDTGYLAYAMALEEIAAGDGACSTIMSVHNSVGCVPVLKFGNDQQKEQFLKPLASGAMLGAFALTEPQAGSDASSLKTRARLEGDHYVLNGCKQFITSGQNAGVVIVFAVTDPAAGKRGISAFIVPTDSPGYSVARVEDKLGQHASDTCQILFEDVKVPVANRLGEEGEGYKIALANLEGGRVGIASQAVGMARAAFEAARDYARERESFGKPIIEHQAVAFRLADMATQIAVARQMVHYAAALRDSGKPALVEASMAKLFASEMAEKVCSAALQTLGGYGYLSDFPLERIYRDVRVCQIYEGTSDIQRMVISRNL
>NP_384884
MIVHFEPASEEGIASVVRSAAAERVTLAVVGGGTRAGLGNPVRADRTLSTRRLSGIVTYDPAEMTMSALAGTPVAEVEAALHAKGQMLSFEPMDHRPIFATTGEPTIGGVFAANVSGPRRYVAGAARDSLLGVRFVNGRGEPIKAGGRVMKNVTGLDLVKLMAGSYGTLGILTEVTFKVLPLPPAAATVVVSGLNDAEAAAVMAEAMAQPVEVSGASHLPESVRSRFLDGALPDGAATVLRLEGLAASVAIRAEKLGEKLSRFGRISQLDEAQTRTLWAEIRDVKPYADGTRRPLWRISVAPSAGHQLVAALRLQTGVDAFYDWQGGLVWLRMEADPEAELLRRYIGAVGGGHAALLRAGEEARGRIPAFEPQPPAVARLSERIRAQFDPSGIFNPGRAAALVRN
>WP_011759060
MAFDQTLEGQLYLGIDGGGSKCRATLYNNKLDVLGTGVAGRANPLFGLEQTFESILASTEMALRDAGLSLNDASLLVAGLGLAGVNVPRLLADVQAWQHPFKTMYVTSDLHTACIGAHQGGDGAVIITGTGSCGYVHVGDESLSLGGHGFALGDKGSGAWLGLRAAEHVLLQLDGFAEPTALTERLFANLGVSDALGIVENLAGRSSSCYATLAREVFAAADEGDKVAVGILREGAAYISEMARKLFTLEPARFSMIGGLAEPLQKWLDADVVARLEPSLAAPETGAVLFAIQQHNKQSAA
>WP_011758678
MKFYNRDFLLSHSQSILDFYDPRVLDASGGYFHNYYDDGSLFEPGFRQLVSSCRITVNYARAADILDKPEYLAHARHGLNYLLNVHLQADERFAWTLKSHRPEDMTQQAYGYAFALLAFAACRKSGILKDNNKLLWIYNLLEQRFWQPEYGLYADEIGADGVLSDYRGQNANMHLCEAMIAAFEASGEGRFLDRAMEIADKIANRQAALTGGIIWEHFTPGFAINWEYNKDDPKNLYRPWGFQGGHQTEWAKLLLSLARHSHQPWLISRAKTLFDTAFEKSWDKEHGGMVYGFGPNGDWCDDDKYFWVQAESFAAAAMLYQQTGEQKYLDAYNALWNYAWQHFVDHEHGAWFRVLYRDNRKYSNEKSTAGAKCDYHTLGACFDSLRDLT
命令行得到的结果如下:第一列为输入的序列ID,第二列为模型给定预测 EC number 的置信度/打分(0–1 之间,越大越可信);
WP_063460136,EC:5.3.1.7/0.0433
WP_012428705,EC:1.1.1.107/0.1956
WP_012434194,EC:1.1.1.301/0.2441
WP_011760344,EC:2.7.1.4/0.3752
NP_384124,EC:4.2.1.7/0.4580
WP_054597488,EC:1.3.1.95/0.5248
WP_010210411,EC:1.3.8.1/0.6246
NP_384884,EC:1.1.99.14/0.7765
WP_011759060,EC:2.7.1.8/0.8432
WP_011758678,EC:5.3.1.7/0.9870
网页端得到的结果如下:
可以发现命令行与网页端的预测结果是一致的,但是显示有所区别,命令行预测直接显示置信度打分,网页端是直接给定一个置信度水平(高、中、低)。通过比较,我们可以发现CLEAN的置信度区间:
-
低置信度:预测打分≤0.2
-
中等置信度:预测打分 >0.2 且 ≤0.8
-
高置信度:预测打分 >0.8