Learn how to interact with PU-CGCNN using the Ouro SDK or REST API.
API access requires an API key. Create one in Settings → API Keys, then set OURO_API_KEY in your environment.
Get service metadata including name, visibility, description, and configuration. You can retrieve by service ID or identifier.
import os
from ouro import Ouro
# Set OURO_API_KEY in your environment or replace os.environ.get("OURO_API_KEY")
ouro = Ouro(api_key=os.environ.get("OURO_API_KEY"))
# Option 1: Retrieve by service ID
service_id = "03dd8a31-f0f7-4c78-9e73-0cf41c808986"
service = ouro.services.retrieve(service_id)
# Option 2: Retrieve by service identifier (username/service-name)
service_identifier = "mmoderwell/pu-cgcnn"
service = ouro.services.retrieve(service_identifier)
print(service.name, service.visibility)
print(service.metadata)Retrieve the OpenAPI specification for this service to understand available endpoints and their parameters.
Get all routes for this service and use them programmatically.
Click on an endpoint to view its detailed documentation.
# Retrieve the service
service = ouro.services.retrieve("mmoderwell/pu-cgcnn")
# Read the OpenAPI spec
spec = ouro.services.read_spec(service.id)
print(spec.get("openapi"))
print(spec.get("info"))# Retrieve the service
service = ouro.services.retrieve("mmoderwell/pu-cgcnn")
# Get all routes for this service
routes = ouro.services.read_routes(service.id)
for route in routes:
print(f"{route.route.method} {route.route.path}")
print(f" Summary: {route.route.summary}")Predicts a Crystal-Likeness Score (CLscore) for inorganic crystal structures using positive–unlabeled learning with bagged crystal graph convolutional neural networks (PU-CGCNN).
CLscore ∈ [0, 1] estimates how “crystal-like” / synthesizable a structure is relative to experimentally reported materials. It is complementary to thermodynamic filters such as energy above hull — high CLscore does not guarantee experimental success, but is a useful soft prior for screening and generative filtering.
Model: Jang et al., JACS 2020 (pretrained 100-bag ensemble). Paper: https://doi.org/10.1021/jacs.0c07384 Code: https://github.com/kaist-amsg/Synthesizability-PU-CGCNN
Usage
26 callsPU-CGCNN validation: experimental crystals vs high-e_hull theoreticals
Spot-check of PU-CGCNN on 10 experimentally known vs 10 high-e_hull theoretical Materials Project structures. Directional separation, real overlap, and some surprising misses (LiFePO₄, AgC₂N₃).
Will it actually form? Predicting crystal synthesizability with PU-CGCNN
An explainer for the new Crystal-Likeness Score (PU-CGCNN) service: what the CLscore means, how positive–unlabeled learning works, and when to use it in a screening pipeline.