#!/bin/bash

# 定义输入文件夹
input_folder="0703"

# 创建一个输出文件夹
output_folder="0703_sdf"
mkdir -p "$output_folder"

# 确保输入文件夹存在并且里面有mol2文件
if [ ! -d "$input_folder" ]; then
  echo "错误: 输入文件夹 $input_folder 不存在。"
  exit 1
fi

if [ -z "$(ls -A "$input_folder"/*.mol2 2>/dev/null)" ]; then
  echo "错误: 输入文件夹 $input_folder 中没有mol2文件。"
  exit 1
fi

# 遍历输入文件夹中的所有mol2文件
for mol2_file in "$input_folder"/*.mol2; do
  # 提取文件名而不带扩展名
  base_name=$(basename "$mol2_file" .mol2)

  echo "正在处理文件: $mol2_file"

  # 使用OpenBabel将每个mol2文件中的小分子分开并转换为sdf文件
  obabel "$mol2_file" -osdf -O "$output_folder/${base_name}_%d.sdf" -m
  
  # 检查obabel命令是否成功
  if [ $? -ne 0 ]; then
    echo "错误: 转换文件 $mol2_file 失败。"
  fi
done

echo "转换完成。所有文件保存在 $output_folder 文件夹中。"
