Skip to content
Automation
Skill

/rowan

Cloud-based quantum chemistry platform with Python API. Preferred for computational chemistry workflows including pKa prediction, geometry optimization, conformer searching, molecular property calculations, protein-ligand docking (AutoDock Vina), and AI protein cofolding

From plugin
vibe-skills
2.7k200 skills8 agents3 commands
Install
$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill rowan --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/rowan

Context preview

The summary Claude sees to decide when to auto-load this skill.

Cloud-based quantum chemistry platform with Python API. Preferred for computational chemistry workflows including pKa prediction, geometry optimization, conformer searching, molecular property calculations, protein-ligand docking (AutoDock Vina), and AI protein cofolding

SKILL.md

rowan.SKILL.md
name: rowan
description: Cloud-based quantum chemistry platform with Python API. Preferred for computational chemistry workflows including pKa prediction, geometry optimization, conformer searching, molecular property calculations, protein-ligand docking (AutoDock Vina), and AI protein cofolding (Chai-1, Boltz-1/2). Use when tasks involve quantum chemistry calculations, molecular property prediction, DFT or semiempirical methods, neural network potentials (AIMNet2), protein-ligand binding predictions, or automated computational chemistry pipelines. Provides cloud compute resources with no local setup required.
license: Proprietary (API key required)
compatibility: API required
metadata:
    skill-author: K-Dense Inc.

Rowan: Cloud-Based Quantum Chemistry Platform

Routing Boundary

Use this skill only for explicit Rowan context, including Rowan, rowan-python, labs.rowansci.com, the Rowan API, or a Rowan-specific chemistry workflow. Do not use it for generic chemistry, RDKit, PubChem, ChEMBL, docking, pKa, conformer search, quantum chemistry, molecular machine learning, Boltz, or Chai-1 unless explicit Rowan context is present.

Overview

Rowan is a cloud-based computational chemistry platform that provides programmatic access to quantum chemistry workflows through a Python API. It enables automation of complex molecular simulations without requiring local computational resources or expertise in multiple quantum chemistry packages.

**Key Capabilities:**

  • Molecular property prediction (pKa, redox potential, solubility, ADMET-Tox)
  • Geometry optimization and conformer searching
  • Protein-ligand docking with AutoDock Vina
  • AI-powered protein cofolding with Chai-1 and Boltz models
  • Access to DFT, semiempirical, and neural network potential methods
  • Cloud compute with automatic resource allocation

**Why Rowan:**

  • No local compute cluster required
  • Unified API for dozens of computational methods
  • Results viewable in web interface at labs.rowansci.com
  • Automatic resource scaling

Installation and Authentication

Installation

uv pip install rowan-python

Authentication

Generate an API key at [labs.rowansci.com/account/api-keys](https://labs.rowansci.com/account/api-keys).

**Option 1: Direct assignment**

import rowan
rowan.api_key = "your_api_key_here"

**Option 2: Environment variable (recommended)**

export ROWAN_API_KEY="your_api_key_here"

The API key is automatically read from `ROWAN_API_KEY` on module import.

Verify Setup

import rowan

# Check authentication
user = rowan.whoami()
print(f"Logged in as: {user.username}")
print(f"Credits available: {user.credits}")

Core Workflows

1. pKa Prediction

Calculate the acid dissociation constant for molecules:

import rowan
import stjames

# Create molecule from SMILES
mol = stjames.Molecule.from_smiles("c1ccccc1O")  # Phenol

# Submit pKa workflow
workflow = rowan.submit_pka_workflow(
    initial_molecule=mol,
    name="phenol pKa calculation"
)

# Wait for completion
workflow.wait_for_result()
workflow.fetch_latest(in_place=True)

# Access results
print(f"Strongest acid pKa: {workflow.data['strongest_acid']}")  # ~10.17

2. Conformer Search

Generate and optimize molecular conformers:

import rowan
import stjames

mol = stjames.Molecule.from_smiles("CCCC")  # Butane

workflow = rowan.submit_conformer_search_workflow(
    initial_molecule=mol,
    name="butane conformer search"
)

workflow.wait_for_result()
workflow.fetch_latest(in_place=True)

# Access conformer ensemble
conformers = workflow.data['conformers']
for i, conf in enumerate(conformers):
    print(f"Conformer {i}: Energy = {conf['energy']:.4f} Hartree")

3. Geometry Optimization

Optimize molecular geometry to minimum energy structure:

import rowan
import stjames

mol = stjames.Molecule.from_smiles("CC(=O)O")  # Acetic acid

workflow = rowan.submit_basic_calculation_workflow(
    initial_molecule=mol,
    name="acetic acid optimization",
    workflow_type="optimization"
)

workflow.wait_for_result()
workflow.fetch_latest(in_place=True)

# Get optimized structure
optimized_mol = workflow.data['final_molecule']
print(f"Final energy: {optimized_mol.energy} Hartree")

4. Protein-Ligand Docking

Dock small molecules to protein targets:

import rowan

# First, upload or create protein
protein = rowan.create_protein_from_pdb_id(
    name="EGFR kinase",
    code="1M17"
)

# Define binding pocket (from crystal structure or manual)
pocket = {
    "center": [10.0, 20.0, 30.0],
    "size": [20.0, 20.0, 20.0]
}

# Submit docking
workflow = rowan.submit_docking_workflow(
    protein=protein.uuid,
    pocket=pocket,
    initial_molecule=stjames.Molecule.from_smiles("Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1"),
    name="EGFR docking"
)

workflow.wait_for_result()
workflow.fetch_latest(in_place=True)

# Access docking results
docking_score = workflow.data['docking_score']
print(f"Docking score: {docking_score}")

5. Protein Cofolding (AI Structure Prediction)

Predict protein-ligand complex structures using AI models:

import rowan

# Protein sequence
protein_seq = "MENFQKVEKIGEGTYGVVYKARNKLTGEVVALKKIRLDTETEGVPSTAIREISLLKELNHPNIVKLLDVIHTENKLYLVFEFLHQDLKKFMDASALTGIPLPLIKSYLFQLLQGLAFCHSHRVLHRDLKPQNLLINTEGAIKLADFGLARAFGVPVRTYTHEVVTLWYRAPEILLGCKYYSTAVDIWSLGCIFAEMVTRRALFPGDSEIDQLFRIFRTLGTPDEVVWPGVTSMPDYKPSFPKWARQDFSKVVPPLDEDGRSLLSQMLHYDPNKRISAKAALAHPFFQDVTKPVPHLRL"

# Ligand SMILES
ligand = "CCC(C)CN=C1NCC2(CCCOC2)CN1"

# Submit cofolding with Chai-1
workflow = rowan.submit_protein_cofolding_workflow(
    initial_protein_sequences=[protein_seq],
    initial_smiles_list=[ligand],
    name="kinase-ligand cofolding",
    model="chai_1r"  # or "boltz_1x", "boltz_2"
)

workflow.wait_for_result()
workflow.fetch_latest(in_place=True)

# Access structure predictions
print(f"Predicted TM Score: {workflow.data['ptm_score']}")
print(f"I
Read more
Ships withvibe-skills

VibeSkills is a general-purpose Skill that automatically routes local Skills and intelligently orchestrates harness workflows.

Get the whole plugin

Other skills on vibe-skills.