Files
screen/main_property.sh
2025-12-07 22:30:46 +08:00

85 lines
2.5 KiB
Bash

#!/bin/bash
# ==========================================
# 全流程自动化脚本 (直通筛选版)
# ==========================================
# 1. 环境初始化
echo "============ Stage 0: Initialization ============"
chmod -R u+w ../Screen
source $(conda info --base)/etc/profile.d/conda.sh
# 激活 screen 环境
conda activate ~/anaconda3/envs/screen
cd py/
export PYTHONPATH=$(pwd):$PYTHONPATH
# 2. 预处理与文件整理 (替代原 Step 1)
echo "============ Stage 1: File Organization (Direct Pass) ============"
# 运行预处理 (可选,确保 input 文件夹就绪)
python pre_process.py
# 运行直通版整理脚本
# 功能: 读取 input, 识别阴离子, 按结构复制到 after_step1/Anion/ID/ID.cif
# 跳过 check_basic 等耗时检查
python step1_direct.py
# 生成 Zeo++ 运行脚本
# 功能: 遍历 after_step1, 生成 analyze.sh 和 sh_all.sh
python make_sh.py
# 3. 运行 Zeo++ 计算
echo "============ Stage 2: Zeo++ Calculations ============"
conda deactivate
conda activate ~/anaconda3/envs/zeo
# 进入数据目录
cd ../data/after_step1
if [ -f "sh_all.sh" ]; then
# 执行所有计算
source sh_all.sh
# 清理总脚本 (可选)
# rm sh_all.sh
else
echo "Error: sh_all.sh not found! Please check Stage 1."
exit 1
fi
# 4. 数据提取与高级分析
echo "============ Stage 3: Data Extraction & Analysis ============"
# 切回 screen 环境
conda deactivate
conda activate ~/anaconda3/envs/screen
cd ../../py
# 3.1 提取 Zeo++ 基础数据
# 输出: ../output/Anion/Anion.csv (含 Perc, Min_d, Max_node)
python extract_data.py
# 3.2 计算角共享 (Corner Sharing)
# 输出: 更新 CSV, 增加 Is_Only_Corner_Sharing 列
echo "Running Corner Sharing Analysis..."
python analyze_cs.py
# 3.3 联合筛选
# 功能: 读取 CSV, 根据阈值筛选, 生成 ../data/after_screening 软链接/文件
python step2_4_combined.py
# 3.4 CSM 分析 (仅针对筛选后的材料)
# 输出: ../output/CSM/Anion/ID.dat
echo "Running CSM Analysis..."
python analyze_csm.py
# 3.5 统计四面体占据率
# 输出: 读取 .dat, 更新 CSV, 增加 Tet_Li_Ratio 列
echo "Updating Tetrahedral Li Ratio..."
python update_tet_occupancy.py
# 5. 结束
echo "========================================================"
echo "All tasks completed!"
echo "Results stored in:"
echo " - CSV Data: ../output/"
echo " - Screened: ../data/after_screening/"
echo " - CSM Details: ../output/CSM/"
echo "========================================================"