glycoengineering について
Glycoengineeringは、タンパク質の糖鎖修飾を解析・設計する研究向けスキルです。タンパク質工学や生物医学の研究者を対象に、配列上の部位確認と糖鎖予測、データベース、設計戦略の情報をまとめています。
主な機能
- 01N型糖鎖修飾モチーフの検索
- 02O型糖鎖修飾ホットスポットの簡易評価
- 03外部糖鎖解析ツールの案内
- 04抗体の糖鎖工学戦略
- 05糖鎖表記のリファレンス
活用シーン
- 01治療用タンパク質の糖鎖修飾部位の評価
- 02抗体Fc糖鎖設計案の比較
- 03ワクチン抗原の糖鎖シールドの検討
- 04実験で確認されたタンパク質糖鎖データの検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ crazymsn/ academic-skills --skill glycoengineeringインストール後、Claude Code で/glycoengineeringを入力して読み込まれたか確認します。
同梱ファイルreferences/glycan_databases.md
詳細
糖鎖工学
概要
糖鎖付加は、タンパク質における最も一般的かつ複雑な翻訳後修飾(PTM)であり、ヒトの全タンパク質の50%以上に影響を及ぼします。糖鎖は、タンパク質のフォールディング、安定性、免疫認識、受容体との相互作用、および治療用タンパク質の薬物動態を調節します。糖鎖工学では、治療効果や安定性の向上、または免疫回避を目的として、糖鎖付加パターンを合理的に改変します。
主な糖鎖付加の種類:
- N型糖鎖付加:モチーフN-X-[S/T](X ≠ プロリン)において、アスパラギン(N)に付加されます。ER/ゴルジ体で生じます。
- O型糖鎖付加:セリン(S)またはスレオニン(T)に付加されます。厳密なコンセンサスモチーフはなく、主にGalNAcから開始されます。
このスキルを使用する場面
次のような場合に、このスキルを使用します。
- 抗体工学:ADCCやCDCの向上、または免疫原性の低減を目的として、Fc糖鎖付加を最適化する
- 治療用タンパク質の設計:半減期、安定性、または免疫原性に影響する糖鎖付加部位を特定する
- ワクチン抗原の設計:糖鎖シールドを設計し、保存されたエピトープに免疫応答を集中させる
- バイオシミラーの特性評価:参照品とバイオシミラーの糖鎖パターンを比較する
- 創薬ターゲットの解析:糖鎖付加が受容体への標的結合に影響するかを調べる
- タンパク質の安定性: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]:
"""
Scan a protein sequence for canonical N-linked glycosylation sequons.
Motif: N-X-[S/T], where X ≠ Proline.
Args:
sequence: Single-letter amino acid sequence
Returns:
List of dicts with position (1-based), motif, and context
"""
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 residue context
results.append({
'position': i + 1, # 1-based
'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:
"""Generate a research log summary of N-glycosylation sites."""
sequons = find_n_glycosylation_sequons(sequence)
lines = [f"# N-Glycosylation Sequon Analysis: {protein_name or 'Protein'}"]
lines.append(f"Sequence length: {len(sequence)}")
lines.append(f"Total N-glycosylation sequons: {len(sequons)}")
if sequons:
lines.append(f"\nN-X-S sites: {sum(1 for s in sequons if s['sequon_type'] == 'NXS')}")
lines.append(f"N-X-T sites: {sum(1 for s in sequons if s['sequon_type'] == 'NXT')}")
lines.append(f"\nSite details:")
for s in sequons:
lines.append(f" Position {s['position']}: {s['motif']} (context: ...{s['context']}...)")
else:
lines.append("No canonical N-glycosylation sequons detected.")
return "\n".join(lines)
# Example: IgG1 Fc region
fc_sequence = "APELLGGPSVFLFPPKPKDTLMISRTPEVTCVVVDVSHEDPEVKFNWYVDGVEVHNAKTKPREEQYNSTYRVVSVLTVLHQDWLNGKEYKCKVSNKALPAPIEKTISKAKGQPREPQVYTLPPSREEMTKNQVSLTCLVKGFYPSDIAVEWESNGQPENNYKTTPPVLDSDGSFFLYSKLTVDKSRWQQGNVFSCSVMHEALHNHYTQKSLSLSPGK"
print(summarize_glycosylation_sites(fc_sequence, "IgG1 Fc"))
N型糖鎖付加部位の変異導入
def eliminate_glycosite(sequence: str, position: int, replacement: str = "Q") -> str:
"""
Eliminate an N-glycosylation site by substituting Asn → Gln (conservative).
Args:
sequence: Protein sequence
position: 1-based position of the Asn to mutate
replacement: Amino acid to substitute (default Q = Gln; similar size, not glycosylated)
Returns:
Mutated sequence
"""
seq = list(sequence.upper())
idx = position - 1
assert seq[idx] == 'N', f"Position {position} is '{seq[idx]}', not 'N'"
seq[idx] = replacement.upper()
return ''.join(seq)
def add_glycosite(sequence: str, position: int, flanking_context: str = "S") -> str:
"""
Introduce an N-glycosylation site by mutating a residue to Asn,
and ensuring X ≠ Pro and +2 = S/T.
Args:
position: 1-based position to introduce Asn
flanking_context: 'S' or 'T' at position+2 (if modification needed)
"""
seq = list(sequence.upper())
idx = position - 1
# Mutate to Asn
seq[idx] = 'N'
# Ensure X+1 != Pro (mutate to Ala if needed)
if idx + 1 < len(seq) and seq[idx + 1] == 'P':
seq[idx + 1] = 'A'
# Ensure X+2 = S or 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]:
"""
Heuristic O-glycosylation hotspot scoring based on local S/T density.
Not a substitute for NetOGlyc; use as fast baseline.
Rules:
- O-GalNAc glycosylation clusters on Ser/Thr-rich segments
- Flag Ser/Thr residues in windows enriched for S/T
- Avoid S/T immediately followed by Pro (TP/SP motifs inhibit GalNAc-T)
Args:
window: Odd window size for local S/T density
min_st_fraction: Minimum fraction of S/T in window to flag site
"""
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部位予測を行うウェブサービスです。
- URL:https://services.healthtech.dtu.dk/services/NetOGlyc-4.0/
- 入力:FASTA形式のタンパク質配列
- 出力:残基ごとのO型糖鎖付加確率スコア
- 手法:実験的に検証されたO-GalNAc部位を用いて学習したニューラルネットワーク
import requests
def submit_netoglycv4(fasta_sequence: str) -> str:
"""
Submit sequence to NetOGlyc 4.0 web service.
Returns the job URL for result retrieval.
Note: This uses the DTU Health Tech web service. Results take ~1-5 min.
"""
url = "https://services.healthtech.dtu.dk/cgi-bin/webface2.cgi"
# NetOGlyc submission (parameters may vary with web service version)
# Recommend using the web interface directly for most use cases
print("Submit sequence at: https://services.healthtech.dtu.dk/services/NetOGlyc-4.0/")
return url
# Also: NetNGlyc for N-glycosylation prediction
# URL: https://services.healthtech.dtu.dk/services/NetNGlyc-1.0/
2. GlycoShield-MD(糖鎖シールド解析)
GlycoShield-MDは、MDシミュレーション中に糖鎖がタンパク質表面をどのようにシールドするかを解析します。
- URL:https://gitlab.mpcdf.mpg.de/dioscuri-biophysics/glycoshield-md/
- 用途:MDトラジェクトリにわたるタンパク質表面の糖鎖シールドをマッピングする
- 出力:残基ごとのシールド率、可視化
# Installation
pip install glycoshield
# Basic usage: analyze glycan shielding from glycosylated protein MD trajectory
glycoshield \
--topology glycoprotein.pdb \
--trajectory glycoprotein.xtc \
--glycan_resnames BGLCNA FUC \
--output shielding_analysis/
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:
"""Query GlyConnect for glycosylation data for a protein."""
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 {}
# Example: query EGFR glycosylation
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型糖鎖の構造
Typical complex biantennary N-glycan:
Neu5Ac-Gal-GlcNAc-Man\
Man-GlcNAc-GlcNAc-[Asn]
Neu5Ac-Gal-GlcNAc-Man/
(±Core Fuc at innermost 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
コメント
Markdown 対応