AgentStack
SKILL verified MIT Self-run

Molclaw Mol Similarity

skill-internscience-molclaw-molclaw-mol-similarity · by InternScience

Calculate both Tanimoto similarities and the count of shared structural fragments between a target molecule and a list of candidate molecules via Morgan fingerprints.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-internscience-molclaw-molclaw-mol-similarity

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Molclaw Mol Similarity? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Molecule Similarity Calculation

Note:

  • Local files are not directly accessible by the server. Please upload them to the server using molclaw-file-transfer before execution.
  • For PDB file inputs, it is recommended to preprocess them using molclaw-pdbfixer before execution.
  • Please refer to skill molclaw-scp-server to complete tool invocation.

Scene 1: Compute the Tanimoto similarities between a target molecule and a list of candidate molecules using Morgan fingerprints. Need to use the tool calculatemorganfingerprint_similarity.

The description of tool calculatemorganfingerprint_similarity.

Compute the Tanimoto similarities between a target molecule and a list of candidate molecules using Morgan fingerprints.
Args:
    target_smiles (str): SMILES string of the target molecule
    candidate_smiles_list (List[str]): List of candidate molecule SMILES strings
    radius (int): Morgan fingerprint radius, default is 2
    nBits (int): Morgan fingerprint vector bits number, default is 2048
Return:
    status (str): success/error
    msg (str): message
    similarities (List[dict]): List of dict, each containing the keys 'smiles' and 'score'.
        --smiles (str): A SMILES string of candidate_smiles_list
        --score (float): Similarity value between the candidate SMILES and the target SMILES

How to use tool calculatemorganfingerprint_similarity :

response = await client.session.call_tool(
    "calculate_morgan_fingerprint_similarity",
    arguments={
        "target_smiles": target_smiles,
        "candidate_smiles_list": candidate_smiles_list,
        "radius": radius,
        "nBits": nBits
    }
)
result = client.parse_result(response)
similarities = result["similarities"]

Scene 2: Compute the count of shared structural fragments between a target molecule and a list of candidate molecules using Morgan fingerprints. Need to use the tool calculatecommonfragments.

The description of tool calculatecommonfragments.

Compute the count of shared structural fragments between a target molecule and a list of candidate molecules using Morgan fingerprints.
Args:
    target_smiles (str): SMILES string of the target molecule
    candidate_smiles_list (List[str]): List of candidate molecule SMILES strings
    radius (int): Morgan fingerprint radius, default is 2
Return:
    status (str): success/error
    msg (str): message
    fragments_info (List[dict]): List of dict, each containing the keys 'smiles' and 'common_fragment_count'.
        --smiles (str): A SMILES string of candidate_smiles_list
        --common_fragment_count (float): Number of structural fragments shared between the candidate SMILES and the target SMILES

How to use tool calculatecommonfragments :

response = await client.session.call_tool(
    "calculate_common_fragments",
    arguments={
        "target_smiles": target_smiles,
        "candidate_smiles_list": candidate_smiles_list,
        "radius": radius
    }
)
result = client.parse_result(response)
fragments_info = result["fragments_info"]

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.