jpskill.com
🛠️ 開発・MCP コミュニティ

zinc-database

Access ZINC (230M+ purchasable compounds). Search by ZINC ID/SMILES, similarity searches, 3D-ready structures for docking, analog discovery, for virtual screening and drug discovery.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o zinc-database.zip https://jpskill.com/download/18588.zip && unzip -o zinc-database.zip && rm zinc-database.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18588.zip -OutFile "$d\zinc-database.zip"; Expand-Archive "$d\zinc-database.zip" -DestinationPath $d -Force; ri "$d\zinc-database.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して zinc-database.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → zinc-database フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
2

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ZINC データベース

概要

ZINC は、UCSF によって維持されている、購入可能な2億3000万以上の化合物からなる自由にアクセス可能なリポジトリです。ZINC ID または SMILES で検索し、類似性検索を実行し、ドッキング用の3D対応構造をダウンロードし、バーチャルスクリーニングと創薬のための類似体を発見します。

この Skill を使用するべき時

この Skill は、以下の場合に使用する必要があります。

  • バーチャルスクリーニング: 分子ドッキング研究のための化合物を見つける
  • リード発見: 医薬品開発のために市販されている化合物を特定する
  • 構造検索: SMILES による類似性検索または類似体検索を実行する
  • 化合物検索: ZINC ID またはサプライヤーコードで分子を検索する
  • 化学空間探索: 購入可能な化学的多様性を探索する
  • ドッキング研究: 3D対応の分子構造にアクセスする
  • 類似体検索: 構造的類似性に基づいて類似の化合物を見つける
  • サプライヤークエリ: 特定の化学薬品ベンダーからの化合物を特定する
  • ランダムサンプリング: スクリーニング用のランダムな化合物セットを取得する

データベースのバージョン

ZINC は複数のバージョンを経て進化してきました。

  • ZINC22 (現在): 2億3000万以上の購入可能な化合物と、数十億規模のオンデマンド製造化合物を含む最大のバージョン
  • ZINC20: まだ維持されており、リード化合物様および医薬品様化合物に焦点を当てています
  • ZINC15: 先行バージョン、レガシーですが、まだドキュメント化されています

この Skill は主に、最新かつ包括的なバージョンである ZINC22 に焦点を当てています。

アクセス方法

Web インターフェース

主なアクセスポイント: https://zinc.docking.org/ インタラクティブな検索: https://cartblanche22.docking.org/

API アクセス

すべての ZINC22 検索は、CartBlanche22 API を介してプログラムで実行できます。

ベース URL: https://cartblanche22.docking.org/

すべての API エンドポイントは、カスタマイズ可能なフィールドを持つテキストまたは JSON 形式でデータを返します。

主要な機能

1. ZINC ID での検索

ZINC 識別子を使用して特定の化合物を取得します。

Web インターフェース: https://cartblanche22.docking.org/search/zincid

API エンドポイント:

curl "https://cartblanche22.docking.org/[email protected]_fields=smiles,zinc_id"

複数の ID:

curl "https://cartblanche22.docking.org/substances.txt:zinc_id=ZINC000000000001,ZINC000000000002&output_fields=smiles,zinc_id,tranche"

レスポンスフィールド: zinc_id, smiles, sub_id, supplier_code, catalogs, tranche (H-count, LogP, MW, phase を含む)

2. SMILES での検索

SMILES 表記を使用して化学構造で化合物を検索します。類似体検索のためのオプションの距離パラメータを使用できます。

Web インターフェース: https://cartblanche22.docking.org/search/smiles

API エンドポイント:

curl "https://cartblanche22.docking.org/[email protected]=4-Fadist=4"

パラメータ:

  • smiles: クエリ SMILES 文字列 (必要に応じて URL エンコード)
  • dist: Tanimoto 距離の閾値 (デフォルト: 正確な一致の場合は 0)
  • adist: より広範な検索のための代替距離パラメータ (デフォルト: 0)
  • output_fields: 必要な出力フィールドのカンマ区切りリスト

例 - 正確な一致:

curl "https://cartblanche22.docking.org/smiles.txt:smiles=c1ccccc1"

例 - 類似性検索:

curl "https://cartblanche22.docking.org/smiles.txt:smiles=c1ccccc1&dist=3&output_fields=zinc_id,smiles,tranche"

3. サプライヤーコードでの検索

特定の化学薬品サプライヤーからの化合物を照会するか、特定のカタログからすべての分子を取得します。

Web インターフェース: https://cartblanche22.docking.org/search/catitems

API エンドポイント:

curl "https://cartblanche22.docking.org/catitems.txt:catitem_id=SUPPLIER-CODE-123"

ユースケース:

  • 特定のベンダーからの化合物の入手可能性を確認する
  • カタログからすべての化合物を取得する
  • サプライヤーコードと ZINC ID を相互参照する

4. ランダム化合物サンプリング

スクリーニングまたはベンチマークの目的でランダムな化合物セットを生成します。

Web インターフェース: https://cartblanche22.docking.org/search/random

API エンドポイント:

curl "https://cartblanche22.docking.org/substance/random.txt:count=100"

パラメータ:

  • count: 取得するランダム化合物の数 (デフォルト: 100)
  • subset: サブセットでフィルタリング (例: 'lead-like', 'drug-like', 'fragment')
  • output_fields: 返されるデータフィールドをカスタマイズする

例 - ランダムなリード化合物様分子:

curl "https://cartblanche22.docking.org/substance/random.txt:count=1000&subset=lead-like&output_fields=zinc_id,smiles,tranche"

一般的なワークフロー

ワークフロー 1: ドッキングライブラリの準備

  1. ターゲットのプロパティまたは目的の化学空間に基づいて検索条件を定義します。

  2. 適切な検索方法を使用して ZINC22 をクエリします。

    # 例: 特定の LogP および MW を持つ医薬品様化合物を取得する
    curl "https://cartblanche22.docking.org/substance/random.txt:count=10000&subset=drug-like&output_fields=zinc_id,smiles,tranche" > docking_library.txt
  3. 結果を解析して、ZINC ID と SMILES を抽出します。

    import pandas as pd
    
    # 結果をロードする
    df = pd.read_csv('docking_library.txt', sep='\t')
    
    # トランシェデータのプロパティでフィルタリングする
    # トランシェ形式: H##P###M###-phase
    # H = H結合ドナー, P = LogP*10, M = MW
  4. ZINC ID を使用してドッキング用の 3D 構造をダウンロードするか、ファイルリポジトリからダウンロードします。

ワークフロー 2: ヒット化合物の類似体を見つける

  1. ヒット化合物の SMILES を取得します。

    hit_smiles = "CC(C)Cc1ccc(cc1)C(C)C(=O)O"  # 例: イブプロフェン
  2. 距離の閾値を使用して 類似性検索を実行します。

    curl "https://cartblanche22.docking.org/smiles.txt:smiles=CC(C)Cc1ccc(cc1)C(C)C(=O)O&dist=5&output_fields=zinc_id,smiles,catalogs" > analogs.txt
  3. 結果を分析して、購入可能な類似体を特定します。

    import pandas as pd
    
    analogs = pd.read_csv('analogs.txt', sep='\t')
    print(f"Found {len(analogs)} analogs")
    print(analogs[['zinc_id', 'smiles', 'catalogs']].head(10))
  4. 最も有望な類似体の 3D 構造を取得します。

ワークフロー 3: バッチ化合物検索

  1. **コンパイル

(原文がここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

ZINC Database

Overview

ZINC is a freely accessible repository of 230M+ purchasable compounds maintained by UCSF. Search by ZINC ID or SMILES, perform similarity searches, download 3D-ready structures for docking, discover analogs for virtual screening and drug discovery.

When to Use This Skill

This skill should be used when:

  • Virtual screening: Finding compounds for molecular docking studies
  • Lead discovery: Identifying commercially-available compounds for drug development
  • Structure searches: Performing similarity or analog searches by SMILES
  • Compound retrieval: Looking up molecules by ZINC IDs or supplier codes
  • Chemical space exploration: Exploring purchasable chemical diversity
  • Docking studies: Accessing 3D-ready molecular structures
  • Analog searches: Finding similar compounds based on structural similarity
  • Supplier queries: Identifying compounds from specific chemical vendors
  • Random sampling: Obtaining random compound sets for screening

Database Versions

ZINC has evolved through multiple versions:

  • ZINC22 (Current): Largest version with 230+ million purchasable compounds and multi-billion scale make-on-demand compounds
  • ZINC20: Still maintained, focused on lead-like and drug-like compounds
  • ZINC15: Predecessor version, legacy but still documented

This skill primarily focuses on ZINC22, the most current and comprehensive version.

Access Methods

Web Interface

Primary access point: https://zinc.docking.org/ Interactive searching: https://cartblanche22.docking.org/

API Access

All ZINC22 searches can be performed programmatically via the CartBlanche22 API:

Base URL: https://cartblanche22.docking.org/

All API endpoints return data in text or JSON format with customizable fields.

Core Capabilities

1. Search by ZINC ID

Retrieve specific compounds using their ZINC identifiers.

Web interface: https://cartblanche22.docking.org/search/zincid

API endpoint:

curl "https://cartblanche22.docking.org/[email protected]_fields=smiles,zinc_id"

Multiple IDs:

curl "https://cartblanche22.docking.org/substances.txt:zinc_id=ZINC000000000001,ZINC000000000002&output_fields=smiles,zinc_id,tranche"

Response fields: zinc_id, smiles, sub_id, supplier_code, catalogs, tranche (includes H-count, LogP, MW, phase)

2. Search by SMILES

Find compounds by chemical structure using SMILES notation, with optional distance parameters for analog searching.

Web interface: https://cartblanche22.docking.org/search/smiles

API endpoint:

curl "https://cartblanche22.docking.org/[email protected]=4-Fadist=4"

Parameters:

  • smiles: Query SMILES string (URL-encoded if necessary)
  • dist: Tanimoto distance threshold (default: 0 for exact match)
  • adist: Alternative distance parameter for broader searches (default: 0)
  • output_fields: Comma-separated list of desired output fields

Example - Exact match:

curl "https://cartblanche22.docking.org/smiles.txt:smiles=c1ccccc1"

Example - Similarity search:

curl "https://cartblanche22.docking.org/smiles.txt:smiles=c1ccccc1&dist=3&output_fields=zinc_id,smiles,tranche"

3. Search by Supplier Codes

Query compounds from specific chemical suppliers or retrieve all molecules from particular catalogs.

Web interface: https://cartblanche22.docking.org/search/catitems

API endpoint:

curl "https://cartblanche22.docking.org/catitems.txt:catitem_id=SUPPLIER-CODE-123"

Use cases:

  • Verify compound availability from specific vendors
  • Retrieve all compounds from a catalog
  • Cross-reference supplier codes with ZINC IDs

4. Random Compound Sampling

Generate random compound sets for screening or benchmarking purposes.

Web interface: https://cartblanche22.docking.org/search/random

API endpoint:

curl "https://cartblanche22.docking.org/substance/random.txt:count=100"

Parameters:

  • count: Number of random compounds to retrieve (default: 100)
  • subset: Filter by subset (e.g., 'lead-like', 'drug-like', 'fragment')
  • output_fields: Customize returned data fields

Example - Random lead-like molecules:

curl "https://cartblanche22.docking.org/substance/random.txt:count=1000&subset=lead-like&output_fields=zinc_id,smiles,tranche"

Common Workflows

Workflow 1: Preparing a Docking Library

  1. Define search criteria based on target properties or desired chemical space

  2. Query ZINC22 using appropriate search method:

    # Example: Get drug-like compounds with specific LogP and MW
    curl "https://cartblanche22.docking.org/substance/random.txt:count=10000&subset=drug-like&output_fields=zinc_id,smiles,tranche" > docking_library.txt
  3. Parse results to extract ZINC IDs and SMILES:

    import pandas as pd
    
    # Load results
    df = pd.read_csv('docking_library.txt', sep='\t')
    
    # Filter by properties in tranche data
    # Tranche format: H##P###M###-phase
    # H = H-bond donors, P = LogP*10, M = MW
  4. Download 3D structures for docking using ZINC ID or download from file repositories

Workflow 2: Finding Analogs of a Hit Compound

  1. Obtain SMILES of the hit compound:

    hit_smiles = "CC(C)Cc1ccc(cc1)C(C)C(=O)O"  # Example: Ibuprofen
  2. Perform similarity search with distance threshold:

    curl "https://cartblanche22.docking.org/smiles.txt:smiles=CC(C)Cc1ccc(cc1)C(C)C(=O)O&dist=5&output_fields=zinc_id,smiles,catalogs" > analogs.txt
  3. Analyze results to identify purchasable analogs:

    import pandas as pd
    
    analogs = pd.read_csv('analogs.txt', sep='\t')
    print(f"Found {len(analogs)} analogs")
    print(analogs[['zinc_id', 'smiles', 'catalogs']].head(10))
  4. Retrieve 3D structures for the most promising analogs

Workflow 3: Batch Compound Retrieval

  1. Compile list of ZINC IDs from literature, databases, or previous screens:

    zinc_ids = [
        "ZINC000000000001",
        "ZINC000000000002",
        "ZINC000000000003"
    ]
    zinc_ids_str = ",".join(zinc_ids)
  2. Query ZINC22 API:

    curl "https://cartblanche22.docking.org/substances.txt:zinc_id=ZINC000000000001,ZINC000000000002&output_fields=zinc_id,smiles,supplier_code,catalogs"
  3. Process results for downstream analysis or purchasing

Workflow 4: Chemical Space Sampling

  1. Select subset parameters based on screening goals:

    • Fragment: MW < 250, good for fragment-based drug discovery
    • Lead-like: MW 250-350, LogP ≤ 3.5
    • Drug-like: MW 350-500, follows Lipinski's Rule of Five
  2. Generate random sample:

    curl "https://cartblanche22.docking.org/substance/random.txt:count=5000&subset=lead-like&output_fields=zinc_id,smiles,tranche" > chemical_space_sample.txt
  3. Analyze chemical diversity and prepare for virtual screening

Output Fields

Customize API responses with the output_fields parameter:

Available fields:

  • zinc_id: ZINC identifier
  • smiles: SMILES string representation
  • sub_id: Internal substance ID
  • supplier_code: Vendor catalog number
  • catalogs: List of suppliers offering the compound
  • tranche: Encoded molecular properties (H-count, LogP, MW, reactivity phase)

Example:

curl "https://cartblanche22.docking.org/substances.txt:zinc_id=ZINC000000000001&output_fields=zinc_id,smiles,catalogs,tranche"

Tranche System

ZINC organizes compounds into "tranches" based on molecular properties:

Format: H##P###M###-phase

  • H##: Number of hydrogen bond donors (00-99)
  • P###: LogP × 10 (e.g., P035 = LogP 3.5)
  • M###: Molecular weight in Daltons (e.g., M400 = 400 Da)
  • phase: Reactivity classification

Example tranche: H05P035M400-0

  • 5 H-bond donors
  • LogP = 3.5
  • MW = 400 Da
  • Reactivity phase 0

Use tranche data to filter compounds by drug-likeness criteria.

Downloading 3D Structures

For molecular docking, 3D structures are available via file repositories:

File repository: https://files.docking.org/zinc22/

Structures are organized by tranches and available in multiple formats:

  • MOL2: Multi-molecule format with 3D coordinates
  • SDF: Structure-data file format
  • DB2.GZ: Compressed database format for DOCK

Refer to ZINC documentation at https://wiki.docking.org for downloading protocols and batch access methods.

Python Integration

Using curl with Python

import subprocess
import json

def query_zinc_by_id(zinc_id, output_fields="zinc_id,smiles,catalogs"):
    """Query ZINC22 by ZINC ID."""
    url = f"https://cartblanche22.docking.org/[email protected]_id={zinc_id}&output_fields={output_fields}"
    result = subprocess.run(['curl', url], capture_output=True, text=True)
    return result.stdout

def search_by_smiles(smiles, dist=0, adist=0, output_fields="zinc_id,smiles"):
    """Search ZINC22 by SMILES with optional distance parameters."""
    url = f"https://cartblanche22.docking.org/smiles.txt:smiles={smiles}&dist={dist}&adist={adist}&output_fields={output_fields}"
    result = subprocess.run(['curl', url], capture_output=True, text=True)
    return result.stdout

def get_random_compounds(count=100, subset=None, output_fields="zinc_id,smiles,tranche"):
    """Get random compounds from ZINC22."""
    url = f"https://cartblanche22.docking.org/substance/random.txt:count={count}&output_fields={output_fields}"
    if subset:
        url += f"&subset={subset}"
    result = subprocess.run(['curl', url], capture_output=True, text=True)
    return result.stdout

Parsing Results

import pandas as pd
from io import StringIO

# Query ZINC and parse as DataFrame
result = query_zinc_by_id("ZINC000000000001")
df = pd.read_csv(StringIO(result), sep='\t')

# Extract tranche properties
def parse_tranche(tranche_str):
    """Parse ZINC tranche code to extract properties."""
    # Format: H##P###M###-phase
    import re
    match = re.match(r'H(\d+)P(\d+)M(\d+)-(\d+)', tranche_str)
    if match:
        return {
            'h_donors': int(match.group(1)),
            'logP': int(match.group(2)) / 10.0,
            'mw': int(match.group(3)),
            'phase': int(match.group(4))
        }
    return None

df['tranche_props'] = df['tranche'].apply(parse_tranche)

Best Practices

Query Optimization

  • Start specific: Begin with exact searches before expanding to similarity searches
  • Use appropriate distance parameters: Small dist values (1-3) for close analogs, larger (5-10) for diverse analogs
  • Limit output fields: Request only necessary fields to reduce data transfer
  • Batch queries: Combine multiple ZINC IDs in a single API call when possible

Performance Considerations

  • Rate limiting: Respect server resources; avoid rapid consecutive requests
  • Caching: Store frequently accessed compounds locally
  • Parallel downloads: When downloading 3D structures, use parallel wget or aria2c for file repositories
  • Subset filtering: Use lead-like, drug-like, or fragment subsets to reduce search space

Data Quality

  • Verify availability: Supplier catalogs change; confirm compound availability before large orders
  • Check stereochemistry: SMILES may not fully specify stereochemistry; verify 3D structures
  • Validate structures: Use cheminformatics tools (RDKit, OpenBabel) to verify structure validity
  • Cross-reference: When possible, cross-check with other databases (PubChem, ChEMBL)

Resources

references/api_reference.md

Comprehensive documentation including:

  • Complete API endpoint reference
  • URL syntax and parameter specifications
  • Advanced query patterns and examples
  • File repository organization and access
  • Bulk download methods
  • Error handling and troubleshooting
  • Integration with molecular docking software

Consult this document for detailed technical information and advanced usage patterns.

Important Disclaimers

Data Reliability

ZINC explicitly states: "We do not guarantee the quality of any molecule for any purpose and take no responsibility for errors arising from the use of this database."

  • Compound availability may change without notice
  • Structure representations may contain errors
  • Supplier information should be verified independently
  • Use appropriate validation before experimental work

Appropriate Use

  • ZINC is intended for academic and research purposes in drug discovery
  • Verify licensing terms for commercial use
  • Respect intellectual property when working with patented compounds
  • Follow your institution's guidelines for compound procurement

Additional Resources

Citations

When using ZINC in publications, cite the appropriate version:

ZINC22: Irwin, J. J., et al. "ZINC22—A Free Multi-Billion-Scale Database of Tangible Compounds for Ligand Discovery." Journal of Chemical Information and Modeling 2023.

ZINC15: Irwin, J. J., et al. "ZINC15 – Ligand Discovery for Everyone." Journal of Chemical Information and Modeling 2020, 60, 6065–6073.

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。