add argparse
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
@Email :pylyzeng@gmail.com
|
@Email :pylyzeng@gmail.com
|
||||||
@version :1.0
|
@version :1.0
|
||||||
'''
|
'''
|
||||||
|
import argparse
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import os
|
import os
|
||||||
@@ -172,7 +172,27 @@ class LoopModelBuilder:
|
|||||||
self.pymol_instance.create(merged_object_name, ' or '.join(object_names))
|
self.pymol_instance.create(merged_object_name, ' or '.join(object_names))
|
||||||
self.pymol_instance.save(output_file, merged_object_name)
|
self.pymol_instance.save(output_file, merged_object_name)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# 创建ArgumentParser对象
|
||||||
|
parser = argparse.ArgumentParser(description="Loop Model Builder for PDB files")
|
||||||
|
# 添加参数
|
||||||
|
parser.add_argument("pdb_file", type=str, help="Path to the PDB file")
|
||||||
|
parser.add_argument("--typestr", type=str, default="refine.very_fast",
|
||||||
|
help="Model refinement type (default: refine.very_fast)")
|
||||||
|
parser.add_argument("--output_dir", type=str, default=None,
|
||||||
|
help="Output directory (default: same as PDB file directory)")
|
||||||
|
|
||||||
|
# 解析参数
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
# 调用LoopModelBuilder
|
||||||
|
pdb_path = Path(args.pdb_file).absolute()
|
||||||
|
output_dir = Path(args.output_dir).absolute() if args.output_dir else None
|
||||||
|
|
||||||
|
model_builder = LoopModelBuilder(pdb_file=pdb_path, output_dir=output_dir)
|
||||||
|
result_path = model_builder.run(typestr=args.typestr)
|
||||||
|
|
||||||
|
print(f"Modeling completed. Output file: {result_path}")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
l = LoopModelBuilder(Path('./2vlk.pdb'))
|
main()
|
||||||
l.run()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user