sqs_substitution_tool

Python tool for random atomic substitution and SQS generation in MOF-like frameworks

https://github.com/naveen-dandu/sqs_substitution_tool

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary

Keywords

materials-design materials-science mof pymatgen python sqs substitution vasp
Last synced: 6 months ago · JSON representation ·

Repository

Python tool for random atomic substitution and SQS generation in MOF-like frameworks

Basic Info
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
materials-design materials-science mof pymatgen python sqs substitution vasp
Created 8 months ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

🔁 SQS Substitution Tool

Documentation Status CI LICENSE

A substitution-based randomizer for generating VASP-compatible POSCAR files.

A Python-based command-line utility to perform site substitution in crystal structures (POSCAR/CONTCAR format), enabling the generation of Special Quasirandom Structures (SQS) for binary, ternary, or quaternary materials systems.


🔍 Overview

This tool automates the substitution of atoms in a crystal lattice with customizable control over: - Which elements to replace - How many atoms to substitute - Randomized sampling of configurations (without replacement) - Output format in standard VASP-compatible POSCAR format


🧪 Use Case

Simulating alloy or doped systems such as:

  • Substituting O with S in ZnO₂
  • Generating SQS-like structures for CoBHT by replacing Co atoms with Ni, Mn, or Cu
  • Studying defect energetics or composition-dependent electronic structure

🚀 Installation

```bash git clone https://github.com/naveen-dandu/sqssubstitutiontool.git cd sqssubstitutiontool pip install -r requirements.txt # optional, if needed

```

🔀 SQS Substitution Tool

This Python script provides an interactive CLI interface for performing simple SQS-like random substitutions on atoms in a VASP structure (POSCAR) using pymatgen.

📦 Features

Select a host atom to substitute Specify the number of substitutions Choose multiple elements to substitute with Performs randomized substitutions over the specified host atom indices Outputs a modified structure as POSCAR_substituted


🖥️ Usage

bash python sqs_prompt_substitute.py

You will be prompted interactively:

```vbnet

Which atom do you want to substitute (e.g., Co)? Co Found 3 atoms of Co. How many atoms do you want to substitute? [1 <= n <= 12] 2 Enter substitution elements (e.g., Cu Ni Mn): Cu Mn

✅ Substitution complete. Output written to POSCAR_substituted 🧬 Replacements made: - Atom index 1 → Cu - Atom index 2 → Mn ```


📁 Input

Ensure a file named POSCAR_CoBHT is present in the same directory. This should be a valid VASP POSCAR file readable by pymatgen.


📤 Output

A new file POSCAR_substituted will be generated with the substituted atoms.


🛠 Requirements

Python 3.7+ pymatgen

Install via pip:

```bash

pip install pymatgen ```


🧠 Features Works with any crystal structure containing labeled atoms Supports binary, ternary, and quaternary systems Tracks replaced atom indices for reproducibility Prepares data for machine learning and SQS generation


📄 License

MIT License. See LICENSE.


👨‍🔬 Author

Developed by Naveen Dandu, with integration in materials data workflows.


✅ Zenodo DOI

DOI


📣 Citation

If you use this tool for your research or publication, please cite:

@software{sqs_sub_tool, author = {Naveen Dandu}, title = {SQS Substitution Tool}, year = 2025, url = {https://github.com/naveen-dandu/sqs_substitution_tool} }

Owner

  • Name: Naveen Dandu
  • Login: naveen-dandu
  • Kind: user
  • Company: Argonne National Lab

🔬 Materials Scientist | DFT & Atomistic Simulations | ML for Molecular Design 🧠 DFT simulations 🤖 Machine learning 🧪 DFT assisted ML studies

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "sqs_substitution_tool: Python utility to generate SQS-like structures via atomic substitution"
authors:
  - family-names: Dandu
    given-names: Naveen
    affiliation: "University of Illinois Chicago"
    orcid: "https://orcid.org/0000-0001-7122-8537"  
date-released: 2025-07-02
version: "1.0.0"
repository-code: "https://github.com/naveen-dandu/sqs_substitution_tool"
license: MIT
doi: "10.5281/zenodo.15792367"

GitHub Events

Total
  • Release event: 1
  • Push event: 9
  • Create event: 2
Last Year
  • Release event: 1
  • Push event: 9
  • Create event: 2

Dependencies

.github/workflows/python-package.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
setup.py pypi
  • pymatgen *