mat-structure-novelty

Match crystal structures against Materials Project polymorphs using pymatgen StructureMatcher.

144|21|Updated Jan 8, 2026
One-click install
npx skills add https://github.com/learningmatter-mit/AtomisticSkills --skill mat-structure-novelty
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mat-structure-novelty
Source: https://github.com/learningmatter-mit/AtomisticSkills/tree/main/.agents/skills/mat-structure-novelty
Command: npx skills add https://github.com/learningmatter-mit/AtomisticSkills --skill mat-structure-novelty

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pymatgen, ase, mp_api, argparse, json, pathlib, and includes scripts (resource) components.

What problem does it solve?

This Skill helps you determine whether a user-provided crystal structure is already reported by matching it against known polymorphs or by checking relevant literature when no structural match is found.

Core Features & Use Cases

  • Symmetry-aware structural matching: Compares target CIF/XYZ/POSCAR/VASP structures against Materials Project or local candidate structures using tolerance-based StructureMatcher logic.
  • Materials Project polymorph discovery: Automatically queries MP for candidate structures for the reduced formulas present in your targets, then tests structural fit.
  • Literature fallback for novel cases: If no match is found (and under the Skill’s single-target rule), searches literature using only composition and optionally blends in symmetry context to assess whether the polymorph has been reported.

Quick Start

Run the Skill to compare a CIF against Materials Project and get a match-or-novelty report by executing it with your structure file as the only required input.

Frequently Asked Questions about mat-structure-novelty

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if a crystal structure is already known in the Materials Project?▼

To check if a crystal structure is already known, this Skill matches your target structure against Materials Project polymorphs using pymatgen StructureMatcher with configurable ltol, stol, and angle_tol tolerances to determine if it is reported.

What is the best way to screen bulk crystal structures for novelty during materials discovery?▼

The best way to screen bulk structures for novelty is applying symmetry-aware structural matching against candidate polymorphs, automatically querying the Materials Project API for reduced formulas, and falling back to literature search if no match is found.

Can I use local CIF files as candidate structures instead of querying the Materials Project?▼

Yes, you can use local CIF files as candidate structures. The Skill supports optional local candidate comparison instead of default Materials Project querying, allowing you to match target structures against your own database of known polymorphs.

How does literature search work for polymorph novelty detection when no structural match is found?▼

Literature search for polymorph novelty detection triggers under a single-target rule when no structural match is found, searching using composition and optionally blending symmetry context to assess whether the specific polymorph has been previously reported.

What file formats does pymatgen StructureMatcher support for structural matching?▼

Pymatgen StructureMatcher supports structural matching for CIF, XYZ, POSCAR, and VASP structure files, comparing target structures against known candidate polymorphs using tolerance-based symmetry-aware logic.