DOI: 10.5061/dryad.m905qfv9p
title: FAPM: Functional annotation of proteins using multi-modal models beyond structural modeling

description: Assigning accurate property labels to proteins, like functional terms and
 catalytic activity, is challenging, especially for proteins without
 homologs and “tail labels” with few known examples. Unlike previous
 methods that mainly focused on protein sequence features, we use a
 pretrained large natural language model to understand the semantic meaning
 of protein labels. Specifically, we introduce FAPM, a contrastive
 multi-modal model that links natural language with protein sequence
 language. This model combines a pretrained protein sequence model with a
 pretrained large language model to generate labels, such as Gene Ontology
 (GO) functional terms and catalytic activity predictions, in natural
 language. Our results show that FAPM excels in understanding protein
 properties, outperforming models based solely on protein sequences or
 structures. It achieves state-of-the-art performance on public benchmarks
 and in-house experimentally annotated phage proteins, which often have few
 known homologs. Additionally, FAPM's flexibility allows it to
 incorporate extra text prompts, like taxonomy information, enhancing both
 its predictive performance and explainability. This novel approach offers
 a promising alternative to current methods that rely on multiple sequence
 alignment for protein annotation.
description: # FAPM: Functional annotation of proteins using multi-modal models beyond
 structural modeling
 [https://doi.org/10.5061/dryad.m905qfv9p](https://doi.org/10.5061/dryad.m905qfv9p) The online demo is at: [https://huggingface.co/spaces/wenkai/FAPM_demo](https://huggingface.co/spaces/wenkai/FAPM_demo) ### Description of the data and file structure The dataset includes: 1. The information of GO (Gene Ontology). This is a system to describe the functions of proteins.  -The basic version of the GO (file name: go1.4-basic.obo). Source: [https://geneontology.org/docs/download-ontology/](https://geneontology.org/docs/download-ontology/) -The mapping between GO numbers and GO descriptions (file name: go_descriptions1.4.txt) -GO terms (file names: bp_terms.pkl; mf_terms.pkl; cc_terms.pkl) 2. Manually annotated data derived from Uniprot database. These datasets are used to finetune the model. -File names: train_exp_prompt_bp.csv; train_exp_prompt_mf.csv; train_exp_prompt_cc.csv; val_exp_prompt_bp.csv; val_exp_prompt_mf.csv; val_exp_prompt_cc.csv; test_exp_prompt_bp.csv; test_exp_prompt_mf.csv; test_exp_prompt_cc.csv 3. mol instruction dataset (with prefix "mol_instruction"). These datasets are used to train model to compare with other language models. -File names: mol_instruction_protein_function.json; mol_instruction_general_function.json; mol_instruction_domain_motif.json; mol_instruction_catalytic_activity.json 4. Processed domain dataset (file name: interpro_domain_dataset.csv). This dataset is used for pretrain the FAPM model. ## Sharing/Access information Data was derived from the following sources: * UniProt dataset source (Homepage: [https://www.uniprot.org](https://www.uniprot.org)) [https://ftp.uniprot.org/pub/databases/uniprot/previous_releases/release-2023_04/knowledgebase](https://ftp.uniprot.org/pub/databases/uniprot/previous_releases/release-2023_04/knowledgebase) * Mol-Instructions dataset source (Homepage: [https://huggingface.co/datasets/zjunlp/Mol-Instructions](https://huggingface.co/datasets/zjunlp/Mol-Instructions)) [https://huggingface.co/datasets/zjunlp/Mol-Instructions/tree/main/data](https://huggingface.co/datasets/zjunlp/Mol-Instructions/tree/main/data) * InterPro domain dataset source (Homepage: [https://www.ebi.ac.uk/interpro](https://www.ebi.ac.uk/interpro)) [https://ftp.ebi.ac.uk/pub/databases/interpro/releases/98.0](https://ftp.ebi.ac.uk/pub/databases/interpro/releases/98.0) ## Code/Software Github codes: [https://github.com/xiangwenkai/FAPM](https://github.com/xiangwenkai/FAPM)