[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-HannesStark--EquiBind":3,"tool-HannesStark--EquiBind":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,2,"2026-04-10T11:13:16",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[19,14,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75508,"2026-04-13T20:37:22",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":46,"env_os":95,"env_gpu":96,"env_ram":95,"env_deps":97,"category_tags":111,"github_topics":112,"view_count":10,"oss_zip_url":82,"oss_zip_packed_at":82,"status":22,"created_at":120,"updated_at":121,"faqs":122,"releases":153},7273,"HannesStark\u002FEquiBind","EquiBind","EquiBind: geometric deep learning for fast predictions of the 3D structure in which a small molecule binds to a protein","EquiBind 是一款基于几何深度学习的开源工具，专为快速预测小分子药物与蛋白质结合的三维结构而设计。它主要解决了传统分子对接方法计算速度慢、耗时长的痛点，能够直接一次性预测出蛋白质上的结合位点（盲对接）以及配体在结合状态下的精确姿态和方向。\n\n该工具的核心技术亮点在于采用了 SE(3) 等变几何深度学习模型，这意味着它能天然地处理三维空间中的旋转和平移不变性，从而在保证高精度的同时，相比传统及近期基准方法实现了显著的速度提升。尽管开发者后续推出了性能更优的 DiffDock，但 EquiBind 依然是理解几何深度学习在药物发现中应用的重要参考。\n\nEquiBind 非常适合计算生物学研究人员、药物研发领域的算法工程师以及需要高效筛选大量化合物库的开发者使用。用户只需准备标准的分子文件（如 .pdb, .sdf 等），通过简单的环境配置即可运行预测，结果将直接输出为可视化的结构文件。对于希望加速早期药物发现流程或探索 AI 辅助结构预测技术的专业团队而言，这是一个高效且易于集成的解决方案。","\n# EquiBind: Geometric Deep Learning for Drug Binding Structure Prediction\n\n### [Paper on arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.05146)\n\n**Before using EquiBind, also consider checking out our new approach called DiffDock which improves over EquiBind in multiple ways.\nThe DiffDock [GitHub](https:\u002F\u002Fgithub.com\u002Fgcorso\u002FDiffDock) and [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.01776).**\n\nEquiBind, is a\nSE(3)-equivariant geometric deep learning model\nperforming direct-shot prediction of both i) the receptor binding location (blind docking) and ii) the\nligand’s bound pose and orientation. EquiBind\nachieves significant speed-ups\ncompared to traditional and recent baselines.\n If you have questions, don't hesitate to open an issue or ask me\nvia [hstark@mit.edu](hstark@mit.edu)\nor [social media](https:\u002F\u002Fhannes-stark.com\u002F) or Octavian Ganea via [oct@mit.edu](oct@mit.edu). We are happy to hear from you!\n\n![](.fig_intro.jpg)\n\n![](.model2.jpg)\n\n# Dataset\n\nOur preprocessed data (see dataset section in the paper Appendix) is no longer available on [zenodo](https:\u002F\u002Fzenodo.org\u002Frecord\u002F6408497). \\\nThe reason is that the PDBBind license does not allow for redistributing the dataset.\nThe files in `data` contain the names for the time-based data split.\n\nThis means that now you have to download the data from the PDBBind website (http:\u002F\u002Fwww.pdbbind.org.cn\u002F) and place it into `data` such that you have the path `data\u002FPDBBind`\n\n\n# Use provided model weights to predict binding structure of your own protein-ligand pairs:\n\n## Step 1: What you need as input\n\nLigand files of the formats ``.mol2`` or ``.sdf`` or ``.pdbqt`` or ``.pdb`` whose names contain the string `ligand` (your ligand files should contain **all** hydrogens). \\\nReceptor files of the format ``.pdb`` whose names contain the string `protein`. We ran [reduce](https:\u002F\u002Fgithub.com\u002Frlabduke\u002Freduce) on our training proteins. Maybe you also want to run it on your protein.\\\nFor each complex you want to predict you need a directory containing the ligand and receptor file. Like this: \n```\nmy_data_folder\n└───name1\n    │   name1_protein.pdb\n    │   name1_ligand.sdf\n└───name2\n    │   name2_protein.pdb\n    │   name2_ligand.mol2\n...\n```\n\n## Step 2: Setup Environment\n\nWe will set up the environment using [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002Findex.html). Clone the\ncurrent repo\n\n    git clone https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\n\nCreate a new environment with all required packages using `environment.yml`. If you have a CUDA GPU run:\n\n    conda env create -f environment.yml\n\nIf you instead only have a CPU run:\n\n    conda env create -f environment_cpuonly.yml\n\nActivate the environment\n\n    conda activate equibind\n\nHere are the requirements themselves for the case with a CUDA GPU if you want to install them manually instead of using the `environment.yml`:\n````\npython=3.7\npytorch 1.10\ntorchvision\ncudatoolkit=10.2\ntorchaudio\ndgl-cuda10.2\nrdkit\nopenbabel\nbiopython\nrdkit\nbiopandas\npot\ndgllife\njoblib\npyaml\nicecream\nmatplotlib\ntensorboard\n````\n\n## Step 3: Predict Binding Structures!\n\nIn the config file `configs_clean\u002Finference.yml` set the path to your input data folder `inference_path: path_to\u002Fmy_data_folder`.  \nThen run:\n\n    python inference.py --config=configs_clean\u002Finference.yml\n\nDone! :tada: \\\nYour results are saved as `.sdf` files in the directory specified\nin the config file under ``output_directory: 'data\u002Fresults\u002Foutput'`` and as tensors at ``runs\u002Fflexible_self_docking\u002Fpredictions_RDKitFalse.pt``!\n\n# Inference for multiple ligands in the same .sdf file and a single receptor\n\n\n    python multiligand_infernce.py -o path\u002Fto\u002Foutput_directory -r path\u002Fto\u002Freceptor.pdb -l path\u002Fto\u002Fligands.sdf\n\nThis runs EquiBind on every ligand in ligands.sdf against the protein in receptor.pdb. The outputs are 3 files in output_directory with the following names and contents:\n\nfailed.txt - contains the index (in the file ligands.sdf) and name of every molecule for which inference failed in a way that was caught and handled.\\\nsuccess.txt - contains the index (in the file ligands.sdf) and name of every molecule for which inference succeeded.\\\noutput.sdf - contains the conformers produced by EquiBind in .sdf format.\n\n\n\n# Reproducing paper numbers\nDownload the data and place it as described in the \"Dataset\" section above.\n### Using the provided model weights\nTo predict binding structures using the provided model weights run: \n\n    python inference.py --config=configs_clean\u002Finference_file_for_reproduce.yml\n\nThis will give you the results of *EquiBind-U* and then those of *EquiBind* after running the fast ligand point cloud fitting corrections. \\\nThe numbers are a bit better than what is reported in the paper. We will put the improved numbers into the next update of the paper.\n### Training a model yourself and using those weights\nTo train the model yourself, run:\n\n    python train.py --config=configs_clean\u002FRDKitCoords_flexible_self_docking.yml\n\nThe model weights are saved in the `runs` directory.\\\nYou can also start a tensorboard server ``tensorboard --logdir=runs`` and watch the model train. \\\nTo evaluate the model on the test set, change the ``run_dirs:`` entry of the config file `inference_file_for_reproduce.yml` to point to the directory produced in `runs`.\nThen you can run``python inference.py --config=configs_clean\u002Finference_file_for_reproduce.yml`` as above!\n## Reference \n\n:page_with_curl: Paper [on arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.05146)\n```\n@inproceedings{equibind,\n  title={Equibind: Geometric deep learning for drug binding structure prediction},\n  author={St{\\\"a}rk, Hannes and Ganea, Octavian and Pattanaik, Lagnajit and Barzilay, Regina and Jaakkola, Tommi},\n  booktitle={International Conference on Machine Learning},\n  pages={20503--20521},\n  year={2022},\n  organization={PMLR}\n}\n```\n","# EquiBind：用于药物结合结构预测的几何深度学习\n\n### [arXiv 上的论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.05146)\n\n**在使用 EquiBind 之前，也请考虑查看我们新的方法 DiffDock，它在多个方面都优于 EquiBind。\nDiffDock 的 [GitHub](https:\u002F\u002Fgithub.com\u002Fgcorso\u002FDiffDock) 和 [论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.01776)。**\n\nEquiBind 是一个\nSE(3)-等变的几何深度学习模型，\n能够直接预测 i) 受体结合位点（盲对接）以及 ii) 配体的结合姿态和取向。与传统及近期的基线方法相比，EquiBind 实现了显著的速度提升。\n如果您有任何问题，请随时提交 issue，或通过 [hstark@mit.edu](hstark@mit.edu)、[社交媒体](https:\u002F\u002Fhannes-stark.com\u002F) 联系我，或通过 [oct@mit.edu](oct@mit.edu) 联系 Octavian Ganea。我们非常乐意收到您的反馈！\n\n![](.fig_intro.jpg)\n\n![](.model2.jpg)\n\n# 数据集\n\n我们预处理过的数据（详见论文附录中的数据集部分）已不再在 [zenodo](https:\u002F\u002Fzenodo.org\u002Frecord\u002F6408497) 上提供。  \n原因是 PDBBind 的许可协议不允许重新分发该数据集。\n`data` 目录中的文件包含了基于时间的数据划分名称。\n\n这意味着您现在需要从 PDBBind 官网 (http:\u002F\u002Fwww.pdbbind.org.cn\u002F) 下载数据，并将其放置到 `data` 目录中，使得路径为 `data\u002FPDBBind`。\n\n# 使用提供的模型权重预测您自己的蛋白-配体复合物的结合结构：\n\n## 第一步：输入所需内容\n\n格式为 `.mol2`、`.sdf`、`.pdbqt` 或 `.pdb` 的配体文件，其文件名应包含字符串 `ligand`（您的配体文件应包含 **所有** 氢原子）。\\\n格式为 `.pdb` 的受体文件，其文件名应包含字符串 `protein`。我们在训练用的蛋白质上运行了 [reduce](https:\u002F\u002Fgithub.com\u002Frlabduke\u002Freduce) 工具。您也可以考虑对自己的蛋白质运行此工具。\\\n对于每个您想要预测的复合物，都需要一个包含配体和受体文件的目录，如下所示：\n```\nmy_data_folder\n└───name1\n    │   name1_protein.pdb\n    │   name1_ligand.sdf\n└───name2\n    │   name2_protein.pdb\n    │   name2_ligand.mol2\n...\n```\n\n## 第二步：设置环境\n\n我们将使用 [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002Findex.html) 设置环境。克隆当前仓库：\n\n    git clone https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\n\n使用 `environment.yml` 创建包含所有必要包的新环境。如果您有 CUDA GPU，请执行：\n\n    conda env create -f environment.yml\n\n如果您只有 CPU，则执行：\n\n    conda env create -f environment_cpuonly.yml\n\n激活环境：\n\n    conda activate equibind\n\n以下是针对 CUDA GPU 环境的依赖项列表，如果您不想使用 `environment.yml` 文件而选择手动安装的话：\n````\npython=3.7\npytorch 1.10\ntorchvision\ncudatoolkit=10.2\ntorchaudio\ndgl-cuda10.2\nrdkit\nopenbabel\nbiopython\nrdkit\nbiopandas\npot\ndgllife\njoblib\npyaml\nicecream\nmatplotlib\ntensorboard\n````\n\n## 第三步：预测结合结构！\n\n在配置文件 `configs_clean\u002Finference.yml` 中，将您的输入数据文件夹路径设置为 `inference_path: path_to\u002Fmy_data_folder`。  \n然后运行：\n\n    python inference.py --config=configs_clean\u002Finference.yml\n\n完成！ :tada: \\\n您的结果将以 `.sdf` 文件的形式保存在配置文件中指定的输出目录下，路径为 ``output_directory: 'data\u002Fresults\u002Foutput'``，同时也会以张量形式保存在 ``runs\u002Fflexible_self_docking\u002Fpredictions_RDKitFalse.pt``！\n\n# 对同一 `.sdf` 文件中的多个配体和单个受体进行推理\n\n\n    python multiligand_infernce.py -o path\u002Fto\u002Foutput_directory -r path\u002Fto\u002Freceptor.pdb -l path\u002Fto\u002Fligands.sdf\n\n此命令会针对 `receptor.pdb` 中的蛋白质，对 `ligands.sdf` 文件中的每一个配体运行 EquiBind。输出将在 `output_directory` 中生成三个文件，文件名及内容如下：\n\nfailed.txt - 包含在 `ligands.sdf` 文件中，推理失败且被捕捉和处理的分子的索引及其名称。\\\nsuccess.txt - 包含在 `ligands.sdf` 文件中，推理成功的分子的索引及其名称。\\\noutput.sdf - 包含由 EquiBind 生成的构象，格式为 `.sdf`。\n\n\n\n# 复现论文中的结果\n按照上述“数据集”部分的说明下载并放置数据。\n### 使用提供的模型权重\n要使用提供的模型权重预测结合结构，请运行：\n\n    python inference.py --config=configs_clean\u002Finference_file_for_reproduce.yml\n\n这将首先给出 *EquiBind-U* 的结果，随后在运行快速配体点云拟合修正后，得到 *EquiBind* 的结果。\\\n这些结果比论文中报告的略好。我们会将改进后的结果纳入论文的下一次更新中。\n### 自行训练模型并使用这些权重\n要自行训练模型，请运行：\n\n    python train.py --config=configs_clean\u002FRDKitCoords_flexible_self_docking.yml\n\n模型权重将保存在 `runs` 目录中。\\\n您还可以启动 TensorBoard 服务器 ``tensorboard --logdir=runs``，实时观察模型训练过程。\\\n要评估模型在测试集上的表现，只需将配置文件 `inference_file_for_reproduce.yml` 中的 ``run_dirs:`` 条目更改为指向 `runs` 目录中生成的相应目录。  \n然后您可以像之前一样运行 ``python inference.py --config=configs_clean\u002Finference_file_for_reproduce.yml``！\n## 参考文献 \n\n:page_with_curl: 论文 [arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.05146)\n```\n@inproceedings{equibind,\n  title={Equibind: Geometric deep learning for drug binding structure prediction},\n  author={St{\\\"a}rk, Hannes and Ganea, Octavian and Pattanaik, Lagnajit and Barzilay, Regina and Jaakkola, Tommi},\n  booktitle={International Conference on Machine Learning},\n  pages={20503--20521},\n  year={2022},\n  organization={PMLR}\n}\n```","# EquiBind 快速上手指南\n\nEquiBind 是一个基于 SE(3) 等变几何深度学习的模型，能够直接预测药物分子（配体）与蛋白质（受体）的结合位置及结合姿态。相比传统方法，它在盲对接和姿态预测上具有显著的速度优势。\n\n> **提示**：在使用 EquiBind 之前，建议也关注其升级版模型 **DiffDock**，它在多个方面进行了改进。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux 或 macOS（Windows 需通过 WSL 运行）\n- **Python 版本**：3.7\n- **硬件加速**：\n  - **推荐**：NVIDIA GPU (CUDA 10.2)\n  - **备选**：仅 CPU 运行（速度较慢）\n\n### 前置依赖\n- Anaconda 或 Miniconda\n- Git\n\n## 安装步骤\n\n### 1. 克隆项目代码\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\ncd EquiBind\n```\n\n### 2. 创建 Conda 环境\n\n**如果您拥有 NVIDIA GPU (CUDA 10.2)：**\n```bash\nconda env create -f environment.yml\n```\n\n**如果您仅使用 CPU：**\n```bash\nconda env create -f environment_cpuonly.yml\n```\n\n> **国内加速建议**：如果下载包速度较慢，可配置清华或中科大镜像源：\n> ```bash\n> conda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Fmain\u002F\n> conda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Ffree\u002F\n> conda config --set show_channel_urls yes\n> ```\n\n### 3. 激活环境\n```bash\nconda activate equibind\n```\n\n## 基本使用\n\n### 第一步：准备输入数据\n您需要为每个待预测的复合物创建一个独立文件夹，包含配体和受体文件。\n- **配体文件**：格式为 `.mol2`, `.sdf`, `.pdbqt` 或 `.pdb`，文件名必须包含字符串 `ligand`，且必须包含**所有氢原子**。\n- **受体文件**：格式为 `.pdb`，文件名必须包含字符串 `protein`。\n\n**目录结构示例：**\n```text\nmy_data_folder\n└───name1\n    │   name1_protein.pdb\n    │   name1_ligand.sdf\n└───name2\n    │   name2_protein.pdb\n    │   name2_ligand.mol2\n```\n\n### 第二步：配置路径\n打开配置文件 `configs_clean\u002Finference.yml`，修改 `inference_path` 指向您的数据文件夹路径：\n```yaml\ninference_path: path_to\u002Fmy_data_folder\n```\n*(可选)* 如需修改输出目录，可调整 `output_directory` 字段（默认为 `data\u002Fresults\u002Foutput`）。\n\n### 第三步：运行预测\n在终端执行以下命令开始预测：\n```bash\npython inference.py --config=configs_clean\u002Finference.yml\n```\n\n### 结果查看\n运行完成后：\n- **结构化文件**：预测结果以 `.sdf` 格式保存在配置的 `output_directory` 中。\n- **张量文件**：原始预测张量保存在 `runs\u002Fflexible_self_docking\u002Fpredictions_RDKitFalse.pt`。\n\n---\n\n### 进阶：批量处理单个受体下的多个配体\n如果您的多个配体存储在同一个 `.sdf` 文件中，可以使用以下命令一次性处理：\n\n```bash\npython multiligand_infernce.py -o path\u002Fto\u002Foutput_directory -r path\u002Fto\u002Freceptor.pdb -l path\u002Fto\u002Fligands.sdf\n```\n\n**输出说明：**\n- `success.txt`：成功预测的分子索引及名称。\n- `failed.txt`：预测失败的分子索引及名称。\n- `output.sdf`：包含所有成功生成的结合构象。","某生物制药公司的计算化学团队正在针对一种新型激酶靶点，从包含数千个候选化合物的库中筛选潜在药物分子。\n\n### 没有 EquiBind 时\n- **耗时漫长**：传统分子对接软件（如 AutoDock Vina）对每个化合物进行构象搜索需要数分钟甚至更久，处理大规模虚拟筛选需耗费数周时间。\n- **依赖初始猜测**：算法严重依赖人为设定的搜索空间（Binding Box），若结合位点预测不准，极易漏掉真正的活性分子。\n- **算力成本高昂**：为了在合理时间内完成筛选，团队不得不维持庞大的 CPU 集群，导致云计算或硬件维护成本居高不下。\n- **结果一致性差**：由于随机搜索机制，同一分子多次运行可能得到不同的结合姿态，增加了后续人工复核的不确定性。\n\n### 使用 EquiBind 后\n- **秒级预测**：EquiBind 利用几何深度学习实现“直接射击”式预测，将单个分子的结合姿态预测时间从分钟级压缩至秒级，整体筛选效率提升数百倍。\n- **盲对接能力**：无需预先指定结合口袋，EquiBind 能自动识别受体蛋白上的最佳结合位置，有效避免了因位点判断失误导致的假阴性。\n- **资源轻量化**：得益于模型的高效推理，团队仅需少量 GPU 资源即可完成海量化合物筛选，大幅降低了硬件门槛和运营成本。\n- **结构确定性高**：作为确定性模型，EquiBind 对同一输入始终输出一致的 3D 结合结构，消除了随机性干扰，让研究人员能更放心地依据结果推进实验。\n\nEquiBind 通过几何深度学习将药物结合结构预测从“暴力搜索”转变为“智能直觉”，极大加速了早期药物发现的迭代周期。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHannesStark_EquiBind_b045313d.png","HannesStark","Hannes Stärk","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FHannesStark_8e4353f9.jpg","MIT PhD student • ML for biomolecules","Massachusetts Institute of Technology","Cambridge, MA",null,"HannesStaerk","hannes-stark.com","https:\u002F\u002Fgithub.com\u002FHannesStark",[87],{"name":88,"color":89,"percentage":90},"Python","#3572A5",100,542,116,"2026-04-06T01:50:24","MIT","未说明","非必需（支持 CPU 模式）。若使用 GPU，需 NVIDIA 显卡且支持 CUDA 10.2（基于提供的依赖列表 cudatoolkit=10.2 和 dgl-cuda10.2），显存大小未说明。",{"notes":98,"python":99,"dependencies":100},"1. 推荐使用 Anaconda 创建环境，官方提供了针对 GPU (environment.yml) 和仅 CPU (environment_cpuonly.yml) 的配置文件。\n2. 输入文件命名有严格要求：配体文件需包含 'ligand' 字符串且必须包含所有氢原子，受体文件需包含 'protein' 字符串。\n3. 由于 PDBBind 许可证限制，预处理数据无法直接下载，需用户自行从 PDBBind 官网下载并放置到 data\u002FPDBBind 目录。\n4. 项目建议使用 reduce 工具处理蛋白质文件以添加氢原子。","3.7",[101,102,103,104,105,106,107,108,109,110],"pytorch==1.10","cudatoolkit==10.2","dgl-cuda10.2","rdkit","openbabel","biopython","biopandas","pot","dgllife","tensorboard",[18],[113,114,115,116,117,118,119],"geometry","graph-neural-networks","proteins","protein-structure","drug-discovery","molecules","equivariance","2026-03-27T02:49:30.150509","2026-04-14T12:27:59.051969",[123,128,133,138,143,148],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},32658,"如何获取多个结合位点建议输出？当前模型是否支持排名后的多个结果？","当前模型默认每次运行只返回一个输出。若要获取多个建议的结合位点，需要多次运行模型。关键是要确保每次运行时使用不同的随机种子（seed）。目前代码中尚未实现自动循环运行多次的功能，用户需要自行编写循环脚本，并在每次迭代中更改种子设置。","https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\u002Fissues\u002F38",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},32659,"运行 get_receptor_inference 时出现 'ValueError: need at least one array to concatenate' 错误怎么办？","该问题通常由 PDB 文件中的水分子（HOH）处理方式引起。程序假设水分子位于独立的链中并将其移除，但如果水分子残基混杂在主干链中，会导致所有链被误删，从而产生空数组。\n解决方案：\n1. 拉取项目的最新代码更新，维护者已修复此逻辑。\n2. 检查配体文件是否缺少氢原子，运行 EquiBind 前务必为配体添加氢原子。","https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\u002Fissues\u002F20",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},32660,"生成的 SDF 分子比例与输入蛋白不匹配（Scale off）如何解决？","这通常是由于集群上 CUDA 工具包版本与 PyTorch 版本不匹配导致的。例如，系统 CUDA 版本为 11.4，而 PyTorch 对应的 CUDA 版本为 11.3。\n解决方案：安装与系统 CUDA Toolkit 版本一致的 PyTorch CUDA 版本（如统一安装 11.4 版本），然后重新在 GPU 或 CPU 上运行程序。","https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\u002Fissues\u002F36",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},32661,"处理特定复杂分子（如 PDBBind 中的 '3m1s'）时出现 'RuntimeError: invalid value in pickle' 错误？","这可能与 RDKit 的版本有关。某些版本的 RDKit 在处理特定复杂的配体分子时会出现序列化问题。\n建议：检查并尝试更新或更换 RDKit 版本。维护者确认某些版本在处理提到的复合物配体时存在已知问题，需参考具体的依赖版本列表进行排查。","https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\u002Fissues\u002F6",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},32662,"运行 inference.py 时提示找不到 'train_arguments.yaml' 文件？","该错误通常是因为推理脚本试图从检查点（checkpoint）所在目录加载训练参数文件，但路径拼接错误或文件确实缺失。\n排查步骤：\n1. 确保使用的检查点目录中确实包含 'train_arguments.yaml' 文件。\n2. 如果是在自定义路径运行，检查路径拼接逻辑是否正确。\n3. 此问题有时也与环境配置（如 DGL 库的兼容性）有关，若文件存在仍报错，可参考相关 DGL issue 排查底层库冲突。","https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\u002Fissues\u002F23",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},32663,"在 Python 2 或无 CUDA 环境的 M1 Mac 上运行时出现语法错误或不兼容问题？","该项目不支持 Python 2（代码中包含 f-string 等 Python 3 特性，会报 SyntaxError）。\n对于 M1 Mac 或仅 CPU 环境：\n1. 必须使用 Python 3 环境。\n2. 建议使用 Docker 容器运行（社区成员正在构建简单的 Dockerfile 以解决本地环境依赖问题）。\n3. 确保安装的 DGL 和 PyTorch 版本支持 CPU-only 模式且架构兼容（如 ARM64）。","https:\u002F\u002Fgithub.com\u002FHannesStark\u002FEquiBind\u002Fissues\u002F3",[]]