タンパク質の生物学的機能を理解することは、現代の生物学において基本的に重要である。タンパク質の機能を表現するために、制御された語彙であるGene Ontology (GO)は、オープンエンドなテキスト解釈を避け、コンピュータプログラムで扱いやすいため、頻繁に使用されている。特に、現在のタンパク質機能予測手法の大半はGO termに依存している。しかし、タンパク質の機能を記述するGO termの広範なリストは、解釈の際に生物学者に困難をもたらす可能性がある。この問題に対応するため、本著者らは、GO termのセットを入力とし、T5大規模言語モデルを用いて人間が読める要約を生成するモデル、GO2Sum(Gene Ontology terms Summarizer)を開発した。GO2Sumは、GO termの割り当てとUniProtエントリーのフリーテキスト機能記述についてT5を微調整することにより開発され、GO term記述を連結することにより機能記述を再現することを可能にした。その結果、GO2Sumは、UniProtエントリーの機能、サブユニット構造、パスウェイの段落を生成する際に、ウェブコーパス全体で学習させたオリジナルのT5モデルを大幅に上回ることが実証された。
新しい論文です:GO2Sum: generating human-readable functional summary of proteins from GO terms, npj Systems Biology and Applications. 続く)https://t.co/qrhFifp67g
— Daisuke Kihara (@d_kihara) 2024年3月19日
遺伝子の機能は元々データベースや論文で普通の文章(自然言語)で書かれていたのをコンピュータで扱いやすいように20年くらい前にGOが作られましたが、GO2Sumでは、人間が読んで分かるようにまた自然言語による記述に戻したわけです。
— Daisuke Kihara (@d_kihara) 2024年3月19日
Behind the Paper
インストール
ubuntu20でcondaの環境を作ってテストした。
依存
- Python 3.9 : https://www.python.org/downloads/
- GO2SUM is based on simpleT5, a Pytorch-lightning implementation of T5 model
git clone https://github.com/kiharalab/GO2Sum.git && cd GO2Sum
mamba create --name go2sum python=3.9
conda activate go2sum
#Pytorch-lightning implementation of T5 model(タイムアウト対策に--default-timeoutを指定)
pip --default-timeout=1000 install --upgrade simplet5
> python3 main.py
python3 main.py -h
Global seed set to 42
usage: main.py [-h] [--input_file INPUT_FILE] [--summary_type SUMMARY_TYPE] [--output_file OUTPUT_FILE]
Run GO2Sum
optional arguments:
-h, --help show this help message and exit
--input_file INPUT_FILE
Tab-separated file with Protein ID and GO Annotation list
--summary_type SUMMARY_TYPE
Type of summary to generate (function, subunit, pathway, or all)
--output_file OUTPUT_FILE
Name of result file
モデル
models.zip files
https://kiharalab.org/GO2Sum/models.zip
(2.3GB)
解凍してカレントパスに配置すれば認識する。
実行方法
スクリプトを使用するには以下のフォーマットのタブ区切りテキストファイルを作成する。
各行は1つのタンパク質とそれに関連するGO IDに対応する。1列目はタンパク質名、2列目はセミコロン";"で区切られたGO IDのリストを記載する。
(マニュアルより転載)
テストラン
cd GO2Sum/
python3 main.py --input_file test1.tab --summary_type function --output_file example.tab
- --input_file Tab-separated file with Protein ID and GO Annotation list
- --summary_type Type of summary to generate (function, subunit, pathway, or all)
- --output_file Name of result file
出力
results/にfunction_example.tab、subunit_example.tab、pathway_example.tabが生成される。
> ls -l results/
> cat results/function_example.tab
Q5AK66 FUNCTION: Catalyzes the formation of phosphatidylserine from phosphatidylserine Plays a central role in phospholipid metabolism and in the interorganelle trafficking of phosphatidylserine Important for virulence
A9AJN2 FUNCTION: Ethanolamine-phosphate cytidylyltransferase that catalyzes the second step in the synthesis of phosphatidylethanolamine from ethanolamine via the CDP-ethanolamine pathway Phosphatidylethanolamine is a dominant inner-leaflet phospholipid in cell membranes, where it plays a role in membrane function by structurally stabilizing membrane-anchored proteins, and participates in important cellular processes such as cell division, cell fusion, blood coagulation, and apoptosis
引用
GO2Sum: generating human-readable functional summary of proteins from GO terms
Swagarika Jaharlal Giri, Nabil Ibtehaz & Daisuke Kihara
npj Systems Biology and Applications volume 10, Article number: 29 (2024)