グライコエンジニアリング は何をしますか?
概要
グリコシル化は、タンパク質の最も一般的で複雑な翻訳後修飾(PTM)であり、全ヒトタンパク質の50%以上に影響を与えます。グリカンは、治療用タンパク質のフォールディング、安定性、免疫認識、受容体相互作用、薬物動態を調節します。グライコエンジニアリングは、治療効果、安定性、または免疫回避を改善するために、グリコシル化パターンを合理的に改変することです。
2つの主要なグリコシル化タイプ:
- N-結合型グリコシル化: 配列 N-X-[S/T] (X≠プロリン) 中のアスパラギン(N)に付加。小胞体/ゴルジ体で発生。
- O-結合型グリコシル化: セリン(S)またはスレオニン(T)に付加。厳密なコンセンサスモチーフはない。主にGalNAcを開始糖とする。
このスキルの使用タイミング
以下の場合にこのスキルを使用します:
- 抗体工学: Fcグリコシル化を最適化し、ADCC、CDCを強化、または免疫原性を低減する。
- 治療用タンパク質設計: 半減期、安定性、または免疫原性に影響を与えるグリコシル化部位を特定する。
- ワクチン抗原設計: 保存されたエピトープに免疫応答を集中させるためにグリカンシールドを設計する。
- バイオシミラー特性評価: リファレンスとバイオシミラー間のグリカンパターンを比較する。
- 創薬ターゲット分析: グリコシル化は受容体へのターゲット関与に影響するか?
- タンパク質安定性: N-グリカンはしばしばタンパク質を安定化する。安定化変異の部位を特定する。
N-結合型グリコシル化配列解析
N-グリコシル化部位のスキャン
N-結合型グリコシル化は、N-X-[S/T] (X≠プロリン)の配列で発生します。
import re
from typing import List, Tuple
def find_n_glycosylation_sequons(sequence: str) -> List[dict]:
"""
タンパク質配列をスキャンして、標準的なN-結合型グリコシル化配列を見つけます。
モチーフ: N-X-[S/T]、ただしX≠プロリン。
Args:
sequence: 1文字アミノ酸配列
Returns:
位置(1ベース)、モチーフ、コンテキストを含む辞書のリスト
"""
seq = sequence.upper()
results = []
i = 0
while i <= len(seq) - 3:
triplet = seq[i:i+3]
if triplet[0] == 'N' and triplet[1] != 'P' and triplet[2] in {'S', 'T'}:
context = seq[max(0, i-3):i+6] # ±3残基のコンテキスト
results.append({
'position': i + 1, # 1ベース
'motif': triplet,
'context': context,
'sequon_type': 'NXS' if triplet[2] == 'S' else 'NXT'
})
i += 3
else:
i += 1
return results
def summarize_glycosylation_sites(sequence: str, protein_name: str = "") -> str:
"""N-グリコシル化部位の研究ログサマリーを生成します。"""
sequons = find_n_glycosylation_sequons(sequence)
lines = [f"# N-グリコシル化配列解析: {protein_name or 'タンパク質'}"]
lines.append(f"配列長: {len(sequence)}")
lines.append(f"総N-グリコシル化配列数: {len(sequons)}")
if sequons:
lines.append(f"\nN-X-S 部位: {sum(1 for s in sequons if s['sequon_type'] == 'NXS')}")
lines.append(f"N-X-T 部位: {sum(1 for s in sequons if s['sequon_type'] == 'NXT')}")
lines.append(f"\n部位詳細:")
for s in sequons:
lines.append(f" 位置 {s['position']}: {s['motif']} (コンテキスト: ...{s['context']}...)")
else:
lines.append("検出された標準的なN-グリコシル化配列はありません。")
return "\n".join(lines)
# 例: IgG1 Fc領域
fc_sequence = "APELLGGPSVFLFPPKPKDTLMISRTPEVTCVVVDVSHEDPEVKFNWYVDGVEVHNAKTKPREEQYNSTYRVVSVLTVLHQDWLNGKEYKCKVSNKALPAPIEKTISKAKGQPREPQVYTLPPSREEMTKNQVSLTCLVKGFYPSDIAVEWESNGQPENNYKTTPPVLDSDGSFFLYSKLTVDKSRWQQGNVFSCSVMHEALHNHYTQKSLSLSPGK"
print(summarize_glycosylation_sites(fc_sequence, "IgG1 Fc"))
N-グリコシル化部位の変異
def eliminate_glycosite(sequence: str, position: int, replacement: str = "Q") -> str:
"""
Asn→Gln(保存的変異)に置換することでN-グリコシル化部位を除去します。
Args:
sequence: タンパク質配列
position: 変異させるアスパラギンの1ベース位置
replacement: 置換するアミノ酸(デフォルトはQ = グルタミン。サイズが類似、グリコシル化されない)
Returns:
変異配列
"""
seq = list(sequence.upper())
idx = position - 1
assert seq[idx] == 'N', f"位置 {position} は '{seq[idx]}' であり、'N' ではありません"
seq[idx] = replacement.upper()
return ''.join(seq)
def add_glycosite(sequence: str, position: int, flanking_context: str = "S") -> str:
"""
N-グリコシル化部位を導入するために、残基をアスパラギンに変異させ、
X≠プロリンかつ+2=S/Tであることを確認します。
Args:
position: Asnを導入する1ベース位置
flanking_context: 位置+2の'S'または'T'(変更が必要な場合)
"""
seq = list(sequence.upper())
idx = position - 1
# Asnに変異
seq[idx] = 'N'
# X+1がProでないことを確認(必要ならAlaに変異)
if idx + 1 < len(seq) and seq[idx + 1] == 'P':
seq[idx + 1] = 'A'
# X+2がSまたはTであることを確認
if idx + 2 < len(seq) and seq[idx + 2] not in ('S', 'T'):
seq[idx + 2] = flanking_context
return ''.join(seq)
O-結合型グリコシル化解析
ヒューリスティックO-グリコシル化ホットスポット予測
def predict_o_glycosylation_hotspots(
sequence: str,
window: int = 7,
min_st_fraction: float = 0.4,
disallow_proline_next: bool = True
) -> List[dict]:
"""
ローカルのS/T密度に基づくヒューリスティックなO-グリコシル化ホットスポットスコアリング。
NetOGlycの代替にはなりません。迅速なベースラインとして使用してください。
ルール:
- O-GalNAcグリコシル化はSer/Thrに富むセグメントにクラスター化する
- S/Tに富むウィンドウ内のSer/Thr残基にフラグを立てる
- 直後にProが続くS/Tを避ける(TP/SPモチーフはGalNAc-Tを阻害する)
Args:
window: ローカルS/T密度のための奇数ウィンドウサイズ
min_st_fraction: 部位にフラグを立てるためのウィンドウ内のS/Tの最小割合
"""
if window % 2 == 0:
window = 7
seq = sequence.upper()
half = window // 2
candidates = []
for i, aa in enumerate(seq):
if aa not in ('S', 'T'):
continue
if disallow_proline_next and i + 1 < len(seq) and seq[i+1] == 'P':
continue
start = max(0, i - half)
end = min(len(seq), i + half + 1)
segment = seq[start:end]
st_count = sum(1 for c in segment if c in ('S', 'T'))
frac = st_count / len(segment)
if frac >= min_st_fraction:
candidates.append({
'position': i + 1,
'residue': aa,
'st_fraction': round(frac, 3),
'window': f"{start+1}-{end}",
'segment': segment
})
return candidates
外部グライコエンジニアリングツール
1. NetOGlyc 4.0 (O-グリコシル化予測)
高精度なO-GalNAc部位予測のためのWebサービス:
- URL: https://services.healthtech.dtu.dk/services/NetOGlyc-4.0/
- 入力: FASTAタンパク質配列
- 出力: 残基ごとのO-グリコシル化確率スコア
- 手法: 実験的に検証されたO-GalNAc部位で学習したニューラルネットワーク
import requests
def submit_netoglycv4(fasta_sequence: str) -> str:
"""
配列をNetOGlyc 4.0 Webサービスに送信します。
結果取得用のジョブURLを返します。
注意: これはDTU Health TechのWebサービスを使用します。結果には約1~5分かかります。
"""
url = "https://services.healthtech.dtu.dk/cgi-bin/webface2.cgi"
# NetOGlyc送信(パラメータはWebサービスのバージョンにより異なる場合があります)
# ほとんどのユースケースでは、Webインターフェースを直接使用することを推奨します
print("配列を送信: https://services.healthtech.dtu.dk/services/NetOGlyc-4.0/")
return url
# N-グリコシル化予測用のNetNGlycも利用可能
# URL: https://services.healthtech.dtu.dk/services/NetNGlyc-1.0/
2. GlycoSHIELD (グリカンシールド解析)
GlycoSHIELDは、事前シミュレーションされたグリカンコンフォーマーのライブラリを静的なタンパク質構造にグラフトし、新しいMDを実行することなくタンパク質表面のどの程度をグリカンが遮蔽するかをスコアリングします(Tsai et al., Cell 2024, doi:10.1016/j.cell.2024.01.034):
- URL: https://gitlab.mpcdf.mpg.de/dioscuri-biophysics/glycoshield-md/ (Webアプリ: https://glycoshield.eu)
- 用途: 糖タンパク質上のグリカンシールドをモデル化し、残基ごとの遮蔽度をマッピングする
- 出力: 部位ごとのグリコシル化PDB/XTCアンサンブル、残基ごとの遮蔽プロット、B-factor列に遮蔽度を持つPDB
GlycoSHIELDは PyPIにありません — uv pip install glycoshield は失敗します。これは、小さなglycoshieldパッケージ(numpy、scipy、matplotlib、MDAnalysisが必要;GlycoSASA.pyはPATHにGROMACSのgmxも必要)に加えて3つのスクリプトとして提供されます。チェックアウトからインストール:
# インストール (GPL-3.0)。グリカンコンフォーマーライブラリは別途ダウンロード —
# リポジトリ内のglycan_library_downloader.pyとGLYCAN_LIBRARY/を参照。
git clone https://gitlab.mpcdf.mpg.de/dioscuri-biophysics/glycoshield-md.git
cd glycoshield-md
uv pip install -e .
# 1. 入力ファイルにリストされた各配列にグリカンコンフォーマーをグラフトする。
# 部位ごとに1行: <鎖> <res-1,res,res+1> <1,2,3> <glycan.pdb> <glycan.xtc> <out.pdb> <out.xtc>
python GlycoSHIELD.py --protpdb protein.pdb --inputfile sequons_input \
--threshold 3.5 --mode CG --shuffle-sugar
# 2. グラフトされたアンサンブル全体にわたる残基ごとの遮蔽スコア(プローブ半径はnm単位)
python GlycoSASA.py --pdblist A_463.pdb,A_492.pdb --xtclist A_463.xtc,A_492.xtc \
--probelist 0.14,0.25 --plottrace
説明: フラグはスクリプトのargparse定義と上流のチュートリアル(Man5グリカンを持つN-カドヘリンEC5)からのものです。ここでは実行されていません。--mode CGはCα原子のみに対する衝突をチェックし、--threshold 3.5と組み合わせます。--mode Allと--threshold 0.7は全原子設定です。
3. GlycoWorkbench (グリカン構造描画/解析)
- URL: https://www.eurocarbdb.org/project/glycoworkbench
- 用途: グリカン構造の描画、質量計算、MSスペクトルのアノテーション
- 形式: GlycoCT、IUPAC凝縮グリカン表記
4. GlyConnect (グリカン-タンパク質データベース)
- URL: https://glyconnect.expasy.org/
- 用途: 実験的に検証された糖タンパク質とグリコシル化部位を見つける
- クエリ: タンパク質(UniProt ID)、グリカン構造、または組織による
import requests
def query_glyconnect(uniprot_id: str) -> dict:
"""GlyConnectに対してタンパク質のグリコシル化データをクエリします。"""
url = f"https://glyconnect.expasy.org/api/proteins/uniprot/{uniprot_id}"
response = requests.get(url, headers={"Accept": "application/json"})
if response.status_code == 200:
return response.json()
return {}
# 例: EGFRのグリコシル化をクエリ
egfr_glyco = query_glyconnect("P00533")
5. UniCarbKB (グリカン構造データベース)
- URL: https://unicarbkb.org/
- 用途: グリカン構造のブラウズ、質量または組成による検索
- 形式: GlycoCTまたはIUPAC表記
主要なグライコエンジニアリング戦略
治療用抗体向け
| 目標 | 戦略 | 備考 |
|---|---|---|
| ADCCの強化 | Fc Asn297の脱フコシル化 | 脱フコシル化IgG1はFcγRIIIa結合が約50倍向上 |
| 免疫原性の低減 | 非ヒトグリカンの除去 | α-Gal、NGNAエピトープを除去 |
| PK半減期の改善 | シアリル化 | シアリル化グリカンは半減期を延長 |
| 炎症の低減 | 高度シアリル化 | IVIG抗炎症メカニズム |
| グリカンシールドの作成 | 表面にN-グリコサイトを追加 | 脆弱なエピトープをマスク(ワクチン設計) |
使用される一般的な変異
| 変異 | 効果 |
|---|---|
| N297A/Q (IgG1) | Fcグリコシル化を除去(アグリコシル) |
| N297D (IgG1) | Fcグリコシル化を除去 |
| S298A/E333A/K334A | FcγRIIIa結合を増加 |
| F243L (IgG1) | 脱フコシル化を増加 |
| T299A | Fcグリコシル化を除去 |
グリカン表記
IUPAC凝縮表記(単糖略語)
| 記号 | 正式名称 | タイプ |
|---|---|---|
| Glc | グルコース | 六炭糖 |
| GlcNAc | N-アセチルグルコサミン | HexNAc |
| Man | マンノース | 六炭糖 |
| Gal | ガラクトース | 六炭糖 |
| Fuc | フコース | デオキシ六炭糖 |
| Neu5Ac | N-アセチルノイラミン酸(シアル酸) | シアル酸 |
| GalNAc | N-アセチルガラクトサミン | HexNAc |
複合型N-グリカン構造
典型的な複合型2本鎖N-グリカン:
Neu5Ac-Gal-GlcNAc-Man\
Man-GlcNAc-GlcNAc-[Asn]
Neu5Ac-Gal-GlcNAc-Man/
(±最内部GlcNAcのコアフコース)
ベストプラクティス
- 実験的検証の前にNetNGlyc/NetOGlycで計算予測を開始する
- 質量分析で検証する: 部位特異的グリカンプロファイリングには糖プロテオミクス(Byonic、Mascot)
- 部位のコンテキストを考慮する: 予測されたすべての配列が実際にグリコシル化されるとは限らない(アクセシビリティ、細胞タイプ、タンパク質コンフォメーション)
- 抗体の場合: Fc N297グリカンは重要 — 常にこの部位を最初に特性評価する
- GlyConnectを使用して、対象のタンパク質に実験的に検証されたグリコシル化データがあるか確認する
追加リソース
- GlyTouCan (グリカン構造リポジトリ): https://glytoucan.org/
- GlyConnect: https://glyconnect.expasy.org/
- CFG Functional Glycomics: http://www.functionalglycomics.org/
- DTU Health Techサーバー (NetNGlyc, NetOGlyc): https://services.healthtech.dtu.dk/
- GlycoWorkbench: https://glycoworkbench.software.informer.com/
- レビュー: Apweiler R et al. (1999) Biochim Biophys Acta. PMID: 10564035
- 治療用グライコエンジニアリングレビュー: Jefferis R (2009) Nature Reviews Drug Discovery. PMID: 19448661