[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-microsoft--foldingdiff":3,"tool-microsoft--foldingdiff":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"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":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":10,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":114,"github_topics":115,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":122,"updated_at":123,"faqs":124,"releases":155},3457,"microsoft\u002Ffoldingdiff","foldingdiff","Diffusion models of protein structure; trigonometry and attention are all you need!","foldingdiff 是一款基于扩散模型的创新开源工具，专门用于生成全新的蛋白质骨架结构。在生物制药与基础科学研究中，预测和设计稳定的蛋白质三维构象一直是个难题，而 foldingdiff 通过深度学习技术，能够从头“想象”并构建出自然界中尚未发现但物理上合理的蛋白质折叠形态，为药物设计和酶工程提供了强大的生成能力。\n\n这款工具特别适合生物信息学研究人员、计算生物学开发者以及对 AI 辅助科学发现感兴趣的专业人士使用。用户既可以直接在浏览器中通过 Hugging Face Spaces 或 SuperBio 平台体验预训练模型，快速生成结构示例；也可以下载源码，利用 PyTorch Lightning 框架在本地基于 CATH 数据集训练自己的专属模型。\n\nfoldingdiff 的核心技术亮点在于其独特的架构设计：它巧妙地将三角函数几何约束与 Transformer 注意力机制相结合，正如官方所言“只需三角学与注意力机制”。这种设计让模型在处理蛋白质复杂的二面角和空间关系时更加精准高效。此外，项目提供了完善的训练脚本、配置文件及预训练权重，支持从数据下载到模型推理的全流程，极大地降","foldingdiff 是一款基于扩散模型的创新开源工具，专门用于生成全新的蛋白质骨架结构。在生物制药与基础科学研究中，预测和设计稳定的蛋白质三维构象一直是个难题，而 foldingdiff 通过深度学习技术，能够从头“想象”并构建出自然界中尚未发现但物理上合理的蛋白质折叠形态，为药物设计和酶工程提供了强大的生成能力。\n\n这款工具特别适合生物信息学研究人员、计算生物学开发者以及对 AI 辅助科学发现感兴趣的专业人士使用。用户既可以直接在浏览器中通过 Hugging Face Spaces 或 SuperBio 平台体验预训练模型，快速生成结构示例；也可以下载源码，利用 PyTorch Lightning 框架在本地基于 CATH 数据集训练自己的专属模型。\n\nfoldingdiff 的核心技术亮点在于其独特的架构设计：它巧妙地将三角函数几何约束与 Transformer 注意力机制相结合，正如官方所言“只需三角学与注意力机制”。这种设计让模型在处理蛋白质复杂的二面角和空间关系时更加精准高效。此外，项目提供了完善的训练脚本、配置文件及预训练权重，支持从数据下载到模型推理的全流程，极大地降低了蛋白质生成式 AI 的研究门槛。","# foldingdiff - Diffusion model for protein backbone generation\n\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F509133407.svg)](https:\u002F\u002Fzenodo.org\u002Fdoi\u002F10.5281\u002Fzenodo.10365889) [![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack) ![PyTorch Lightning](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-lightning-blue.svg?logo=PyTorch%20Lightning)\n\nWe present a diffusion model for generating novel protein backbone structures. For more details, see our preprint on [arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.15611). We also host a trained version of our model on [HuggingFace spaces](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fwukevin\u002Ffoldingdiff) and at [SuperBio](https:\u002F\u002Fapp.superbio.ai\u002Fapps\u002F240?id=63dd1aecbd2a3db57fdf1e42) so you can get started with generating protein structures with just your browser!\n\n![Animation of diffusion model protein folds over timesteps](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_foldingdiff_readme_fc24f3fc9f52.gif)\n\n## Installation\n\nTo install, clone this using `git clone`. This software is written in Python, notably using PyTorch, PyTorch Lightning, and the HuggingFace transformers library. The required conda environment is defined within the `environment.yml` file. To set this up, make sure you have conda (or [mamba](https:\u002F\u002Fmamba.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)) installed, clone this repository, and run:\n\n```bash\nconda env create -f environment.yml\nconda activate foldingdiff\npip install -e .\u002F  # make sure .\u002F is the dir including setup.py\n```\n\n### Downloading data\n\nWe require some data files not packaged on Git due to their large size. These are not required for sampling (as long as you are not using the `--testcomparison` option, see below); this is required for training your own model. We provide a script in the `data` dir to download requisite CATH data.\n\n```bash\n# Download the CATH dataset\ncd data  # Ensure that you are in the data subdirectory within the codebase\nchmod +x download_cath.sh\n.\u002Fdownload_cath.sh\n```\n\nIf the download link in the `.sh` file is not working, the tarball is also mirrored at the following [Dropbox link](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fka5m5lx58477qu6\u002Fcath-dataset-nonredundant-S40.pdb.tgz?dl=0).\n\n## Training models\n\nTo train your own model on the CATH dataset, use the script at `bin\u002Ftrain.py` in combination with one of the\njson config files under `config_jsons` (or write your own). An example usage of this is as follows:\n\n```bash\npython bin\u002Ftrain.py config_jsons\u002Fcath_full_angles_cosine.json --dryrun\n```\n\nBy default, the training script will calculate the KL divergence at each timestep before starting training, which can be quite computationally expensive with more timesteps. To skip this, append the `--dryrun` flag. The output of the model will be in the `results` folder with the following major files present:\n\n```\nresults\u002F\n    - config.json           # Contains the config file for the huggingface BERT model itself\n    - logs\u002F                 # Contains the logs from training\n    - models\u002F               # Contains model checkpoints. By default we store the best 5 models by validation loss and the best 5 by training loss\n    - training_args.json    # Full set of arguments, can be used to reproduce run\n```\n\n## Pre-trained models\n\nWe provide weights for a model trained on the CATH dataset. These weights are stored on HuggingFace model hub at [wukevin\u002Ffoldingdiff_cath](https:\u002F\u002Fhuggingface.co\u002Fwukevin\u002Ffoldingdiff_cath). The following code snippet shows how to load this model, load data (assuming it's been downloaded), and perform a forward pass:\n\n```python\nfrom huggingface_hub import snapshot_download\nfrom torch.utils.data.dataloader import DataLoader\nfrom foldingdiff import modelling\nfrom foldingdiff import datasets as dsets\n\n# Load the model (files will be cached for future calls)\nm = modelling.BertForDiffusion.from_dir(snapshot_download(\"wukevin\u002Ffoldingdiff_cath\"))\n\n# Load dataset\n# As part of loading, we try to compute internal angles in parallel. This may\n# throw warnings like the following; this is normal.\n# WARNING:root:Illegal values for omega in \u002Fhome\u002F*\u002Fprojects\u002Ffoldingdiff-main\u002Fdata\u002Fcath\u002Fdompdb\u002F2ebqA00 -- skipping\n# After computing these once, the results are saved in a .pkl file under the\n# foldingdiff source directory for faster loading in future calls.\nclean_dset = dsets.CathCanonicalAnglesOnlyDataset(pad=128, trim_strategy='randomcrop')\nnoised_dset = dsets.NoisedAnglesDataset(clean_dset, timesteps=1000, beta_schedule='cosine')\ndl = DataLoader(noised_dset, batch_size=32, shuffle=False)\nx = iter(dl).next()\n\n# Forward pass\npredicted_noise = m(x['corrupted'], x['t'], x['attn_mask'])\n```\n\n## Sampling protein backbones\n\nTo sample protein backbones, use the script `bin\u002Fsample.py`. Example commands to do this using the pretrained weights described above are as follows.\n\n```bash\n# To sample 10 backbones per length ranging from [50, 128) with a batch size of 512 - reproduces results in our manuscript\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fsample.py -l 50 128 -n 10 -b 512 --device cuda:0\n```\n\nThis will run the trained model hosted at [wukevin\u002Ffoldingdiff_cath](https:\u002F\u002Fhuggingface.co\u002Fwukevin\u002Ffoldingdiff_cath) and generate sequences of varying lengths. If you wish to load the test dataset and include test chains in the generated plots, use the option `--testcomparison`; note that this requires downloading the CATH dataset, see above. Running `sample.py` will create the following directory structure in the diretory where it is run:\n\n```\nsome_dir\u002F\n    - plots\u002F            # Contains plots comparing the distribution of training\u002Fgenerated angles\n    - sampled_angles\u002F   # Contains .csv.gz files with the sampled angles\n    - sampled_pdb\u002F      # Contains .pdb files from converting the sampled angles to cartesian coordinates\n    - model_snapshot\u002F   # Contains a copy of the model used to produce results\n```\n\nNot specifying a `--device` will default to the first device `cuda:0`; use `--device cpu` to run on CPU (though this will be very slow). See the following table for runtimes from our machines.\n\n| Device | Runtime estimates sampling 512 structures |\n| --- | --- |\n| Nvidia RTX 2080Ti | 7 minutes |\n| i9-9960X (16 physical cores) | 2 hours |\n\n### Maximum training similarity TM scores\n\nAfter generating sequences, we can calculate TM-scores to evaluate the simliarity of the generated sequences and the original sequences. This is done using the script under `bin\u002Ftmscore_training.py` and requires data to have been downloaded prior (see above).\n\n### Visualizing diffusion \"folding\" process\n\nThe above sampling code can also be run with the ``--fullhistory`` flag to write an additional subdirectory `sample_history` under each of the `sampled_angles` and `sampled_pdb` folders that contain pdb\u002Fcsv files coresponding to each timestep in the sampling process. The pdb files, for example, can then be passed into the script under `foldingdiff\u002Fpymol_vis.py` to generate a gif of the folding process (as shown above). An example command to do this is:\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Ffoldingdiff\u002Fpymol_vis.py pdb2gif -i sampled_pdb\u002Fsample_history\u002Fgenerated_0\u002F*.pdb -o generated_0.gif\n```\n\n**Note** this script lives separately from other plotting code because it depends on PyMOL; feel free to install\u002Factivate your own installation of PyMOL for this, or set up an environment using [PyMOL open source](https:\u002F\u002Fgithub.com\u002Fschrodinger\u002Fpymol-open-source).\n\n## Evaluating designability of generated backbones\n\nOne way to evaluate the quality of generated backbones is via their \"designability\". This refers to whether or not we can design an amino acid chain that will fold into the designed backbone. To evaluate this, we use an inverse folding model to generate amino acid sequences that are predicted to fold into our generated backbone, and check whether those generated sequences actually fold into a structure comparable to our backbone.\n\n### Inverse folding\n\nInverse folding is the task of predicting a sequence of amino acids that will produce a given protein backbone structure. We evaluated two different methods for this step, ProteinMPNN and ESM-IF1; we find ProteinMPNN to be significantly more performant. In our analyses, we generate 8 different amino caid sequences for each of FoldingDiff's generated structures.\n\n#### ESM-IF1\n\nWe use a different conda environment for [ESM-IF1](https:\u002F\u002Fproceedings.mlr.press\u002Fv162\u002Fhsu22a.html); see this [Jupyter notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Ffacebookresearch\u002Fesm\u002Fblob\u002Fmain\u002Fexamples\u002Finverse_folding\u002Fnotebook.ipynb) for setup details. We found that the following series of commands works on our machines:\n\n```bash\nmamba create -n inverse python=3.9 pytorch cudatoolkit pyg -c pytorch -c conda-forge -c pyg\nconda activate inverse\nmamba install -c conda-forge biotite\npip install git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fesm.git\n```\n\nAfter this, we `cd` into the folder that contains the `sampled_pdb` directory created by the prior step, and run:\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fpdb_to_residues_esm.py sampled_pdb -o esm_residues\n```\n\nThis creates a new folder, `esm_residues` that contains 10 potential residues for each of the pdb files contained in `sampled_pdb`.\n\n#### ProteinMPNN\n\nTo set up [ProteinMPNN](https:\u002F\u002Fwww.science.org\u002Fdoi\u002F10.1126\u002Fscience.add2187), see the authors guide on their [GitHub](https:\u002F\u002Fgithub.com\u002Fdauparas\u002FProteinMPNN).\n\nAfter this, we follow a similar procedure as for ESM-IF1 (above) where we `cd` into the directory containing the `sampled_pdb` folder and run:\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fpdb_to_residue_proteinmpnn.py sampled_pdb\n```\n\nThis will create a new directory called `proteinmpnn_residues` containing 8 amino acid chains per sampled PDB structure.\n\n### Structural prediction\n\nAfter generating amino acid sequences, we check that these recapitulate our original sampled structures by passing them through either OmegaFold or AlphaFold. After running one of these folders, we use the following command to asses self-consistency TM scores:\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fsctm.py -f alphafold_predictions_proteinmpnn\n```\n\nWhere `alphafold_predictions_proteinmpnn` is a folder containing the folded structures corresponding to inverse folded amino acid sequences. This produces a json file of all scTM scores, as well as various pdf files containing plots and correlations of the scTM score distribution.\n\n#### OmegaFold\n\nWe primarily use [OmegaFold](https:\u002F\u002Fgithub.com\u002FHeliXonProtein\u002FOmegaFold) to fold the amino acid sequences produced by either ESM-IF1 or ProteinMPNN. This is due to OmegaFold's relatively fast runtime compared to AlphaFold2, and due to the fact that OmegaFold is natively designed to be run without MSA information - making it more suitable for our protein design task.\n\nAfter creating and activating a separate conda environment and following the authors' instructions for installing OmegaFold, we use the following script to split our input amino acid fasta files across GPUs for inference, and subsequently calculate the self-consistency TM (scTM) scores.\n\n```bash\n# Fold each fasta, spreading the work over GPUs 0 and 1, outputs to omegafold_predictions folder\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fomegafold_across_gpus.py esm_residues\u002F*.fasta -g 0 1\n```\n\n#### AlphaFold2\n\nWe run [AlphaFold2](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Falphafold) via the `localcolabfold` installation method (see [GitHub](https:\u002F\u002Fgithub.com\u002FYoshitakaMo\u002Flocalcolabfold)). Due to AlphaFold's runtime requirements, we provide scripts to split the set of fasta files into subdirectories that can then be separately folded; see SLURM script under `scripts\u002Fslurm\u002Falphafold.sbatch` for an example.\n\n## Tests\n\nTests are implemented through a mixture of doctests and unittests. To run unittests, run:\n\n```bash\npython -m unittest -v\n```\n\nYou may see warnings like the following; these are expected.\n\n```bash\nWARNING:root:Illegal values for omega in protdiff-main\u002Fdata\u002Fcath\u002Fdompdb\u002F5a2qw00 -- skipping\n```\n","# foldingdiff - 用于生成蛋白质主链结构的扩散模型\n\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F509133407.svg)](https:\u002F\u002Fzenodo.org\u002Fdoi\u002F10.5281\u002Fzenodo.10365889) [![代码风格：black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack) ![PyTorch Lightning](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-lightning-blue.svg?logo=PyTorch%20Lightning)\n\n我们提出了一种用于生成新型蛋白质主链结构的扩散模型。更多详情请参阅我们在 [arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.15611) 上发布的预印本。我们还在 [HuggingFace spaces](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fwukevin\u002Ffoldingdiff) 和 [SuperBio](https:\u002F\u002Fapp.superbio.ai\u002Fapps\u002F240?id=63dd1aecbd2a3db57fdf1e42) 上提供了经过训练的模型版本，您只需使用浏览器即可开始生成蛋白质结构！\n\n![扩散模型在不同时间步上的蛋白质折叠动画](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_foldingdiff_readme_fc24f3fc9f52.gif)\n\n## 安装\n\n要安装，请使用 `git clone` 克隆本仓库。该软件使用 Python 编写，主要依赖 PyTorch、PyTorch Lightning 和 HuggingFace 的 transformers 库。所需的 Conda 环境已在 `environment.yml` 文件中定义。请确保已安装 Conda（或 [mamba](https:\u002F\u002Fmamba.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)），克隆本仓库后运行以下命令：\n\n```bash\nconda env create -f environment.yml\nconda activate foldingdiff\npip install -e .\u002F  # 确保当前目录包含 setup.py\n```\n\n### 下载数据\n\n由于文件体积较大，部分数据未打包在 Git 仓库中。这些数据并非采样所必需（只要不使用 `--testcomparison` 选项，见下文）；它们仅用于训练您自己的模型。我们在 `data` 目录下提供了一个脚本，用于下载所需的 CATH 数据。\n\n```bash\n# 下载 CATH 数据集\ncd data  # 确保位于代码库中的 data 子目录\nchmod +x download_cath.sh\n.\u002Fdownload_cath.sh\n```\n\n如果 `.sh` 脚本中的下载链接无法使用，该 tarball 也镜像在以下 Dropbox 链接中：[Dropbox 链接](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fka5m5lx58477qu6\u002Fcath-dataset-nonredundant-S40.pdb.tgz?dl=0)。\n\n## 训练模型\n\n要使用 CATH 数据集训练您自己的模型，请结合 `bin\u002Ftrain.py` 脚本与 `config_jsons` 目录下的某个 JSON 配置文件（或自行编写）。示例如下：\n\n```bash\npython bin\u002Ftrain.py config_jsons\u002Fcath_full_angles_cosine.json --dryrun\n```\n\n默认情况下，训练脚本会在开始训练前计算每个时间步的 KL 散度，这在时间步较多时会非常耗时。若跳过此步骤，可添加 `--dryrun` 标志。模型输出将保存在 `results` 文件夹中，主要文件包括：\n\n```\nresults\u002F\n    - config.json           # 包含 HuggingFace BERT 模型本身的配置文件\n    - logs\u002F                 # 包含训练日志\n    - models\u002F               # 包含模型检查点。默认存储验证损失和训练损失最好的各 5 个模型\n    - training_args.json    # 完整的运行参数，可用于复现实验\n```\n\n## 预训练模型\n\n我们提供了在 CATH 数据集上训练的模型权重。这些权重存储在 HuggingFace 模型中心的 [wukevin\u002Ffoldingdiff_cath](https:\u002F\u002Fhuggingface.co\u002Fwukevin\u002Ffoldingdiff_cath) 上。以下代码片段展示了如何加载该模型、加载数据（假设已下载）并执行前向传播：\n\n```python\nfrom huggingface_hub import snapshot_download\nfrom torch.utils.data.dataloader import DataLoader\nfrom foldingdiff import modelling\nfrom foldingdiff import datasets as dsets\n\n# 加载模型（文件将被缓存以供后续调用）\nm = modelling.BertForDiffusion.from_dir(snapshot_download(\"wukevin\u002Ffoldingdiff_cath\"))\n\n# 加载数据集\n# 在加载过程中，我们会尝试并行计算内部角度。这可能会抛出类似以下警告；这是正常现象。\n# WARNING:root:Illegal values for omega in \u002Fhome\u002F*\u002Fprojects\u002Ffoldingdiff-main\u002Fdata\u002Fcath\u002Fdompdb\u002F2ebqA00 -- skipping\n# 计算一次后，结果会保存为 .pkl 文件，存放在 foldingdiff 源代码目录下，以便下次更快加载。\nclean_dset = dsets.CathCanonicalAnglesOnlyDataset(pad=128, trim_strategy='randomcrop')\nnoised_dset = dsets.NoisedAnglesDataset(clean_dset, timesteps=1000, beta_schedule='cosine')\ndl = DataLoader(noised_dset, batch_size=32, shuffle=False)\nx = iter(dl).next()\n\n# 前向传播\npredicted_noise = m(x['corrupted'], x['t'], x['attn_mask'])\n```\n\n## 采样蛋白质主链\n\n要采样蛋白质主链，请使用 `bin\u002Fsample.py` 脚本。以下是一些使用上述预训练权重进行采样的示例命令。\n\n```bash\n# 采样长度范围为 [50, 128)，每段长度采样 10 条序列，批次大小为 512 —— 可重现论文中的结果\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fsample.py -l 50 128 -n 10 -b 512 --device cuda:0\n```\n\n此命令将运行托管在 [wukevin\u002Ffoldingdiff_cath](https:\u002F\u002Fhuggingface.co\u002Fwukevin\u002Ffoldingdiff_cath) 上的训练模型，并生成不同长度的序列。如果您希望加载测试数据集并在生成的图表中包含测试链，可使用 `--testcomparison` 选项；请注意，这需要先下载 CATH 数据集，详见上文。运行 `sample.py` 后，将在其所在目录下创建如下文件结构：\n\n```\nsome_dir\u002F\n    - plots\u002F            # 包含训练\u002F生成角度分布对比图\n    - sampled_angles\u002F   # 包含采样角度的 .csv.gz 文件\n    - sampled_pdb\u002F      # 包含将采样角度转换为笛卡尔坐标后的 .pdb 文件\n    - model_snapshot\u002F   # 包含用于生成结果的模型副本\n```\n\n若未指定 `--device`，则默认使用第一个 GPU 设备 `cuda:0`；使用 `--device cpu` 可在 CPU 上运行（但速度会非常慢）。以下表格显示了我们机器上的运行时间估算。\n\n| 设备 | 采样 512 条序列的预计时间 |\n| --- | --- |\n| Nvidia RTX 2080Ti | 7 分钟 |\n| i9-9960X (16 核物理核心) | 2 小时 |\n\n### 最大训练相似度 TM 分数\n\n生成序列后，我们可以计算 TM 分数来评估生成序列与原始序列的相似性。这通过 `bin\u002Ftmscore_training.py` 脚本完成，且需要提前下载数据（见上文）。\n\n### 可视化扩散“折叠”过程\n\n上述采样代码也可以使用 ``--fullhistory`` 标志运行，从而在每个 `sampled_angles` 和 `sampled_pdb` 文件夹下生成一个名为 `sample_history` 的附加子目录，其中包含与采样过程中每个时间步相对应的 pdb 和 csv 文件。例如，这些 pdb 文件可以传递给 `foldingdiff\u002Fpymol_vis.py` 脚本，以生成折叠过程的 GIF 动画（如上所示）。执行此操作的示例命令如下：\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Ffoldingdiff\u002Fpymol_vis.py pdb2gif -i sampled_pdb\u002Fsample_history\u002Fgenerated_0\u002F*.pdb -o generated_0.gif\n```\n\n**注意**：该脚本与其他绘图代码分开存放，因为它依赖于 PyMOL；您可以自行安装或激活 PyMOL，也可以使用 [PyMOL 开源版](https:\u002F\u002Fgithub.com\u002Fschrodinger\u002Fpymol-open-source) 设置环境。\n\n## 评估生成骨架的设计性\n\n评估生成骨架质量的一种方法是通过其“设计性”。这指的是我们是否能够设计出一条能够折叠成所设计骨架的氨基酸链。为了评估这一点，我们使用反向折叠模型生成预测会折叠成我们生成骨架的氨基酸序列，并检查这些生成的序列是否确实能够折叠成与我们的骨架结构相当的构象。\n\n### 反向折叠\n\n反向折叠是指预测能够产生给定蛋白质骨架结构的氨基酸序列的任务。我们在这一步骤中评估了两种不同的方法：ProteinMPNN 和 ESM-IF1；我们发现 ProteinMPNN 的性能显著更高。在我们的分析中，我们为 FoldingDiff 生成的每个结构生成 8 条不同的氨基酸序列。\n\n#### ESM-IF1\n\n我们为 [ESM-IF1](https:\u002F\u002Fproceedings.mlr.press\u002Fv162\u002Fhsu22a.html) 使用了一个独立的 conda 环境；有关设置细节，请参阅此 [Jupyter Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Ffacebookresearch\u002Fesm\u002Fblob\u002Fmain\u002Fexamples\u002Finverse_folding\u002Fnotebook.ipynb)。我们发现以下一系列命令在我们的机器上有效：\n\n```bash\nmamba create -n inverse python=3.9 pytorch cudatoolkit pyg -c pytorch -c conda-forge -c pyg\nconda activate inverse\nmamba install -c conda-forge biotite\npip install git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fesm.git\n```\n\n此后，我们 `cd` 到包含上一步创建的 `sampled_pdb` 目录的文件夹，并运行：\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fpdb_to_residues_esm.py sampled_pdb -o esm_residues\n```\n\n这将创建一个新的文件夹 `esm_residues`，其中包含 `sampled_pdb` 中每个 pdb 文件的 10 种潜在残基。\n\n#### ProteinMPNN\n\n要设置 [ProteinMPNN](https:\u002F\u002Fwww.science.org\u002Fdoi\u002F10.1126\u002Fscience.add2187)，请参阅作者在其 [GitHub](https:\u002F\u002Fgithub.com\u002Fdauparas\u002FProteinMPNN) 上提供的指南。\n\n之后，我们遵循与 ESM-IF1 类似的流程（见上文），即 `cd` 到包含 `sampled_pdb` 文件夹的目录，并运行：\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fpdb_to_residue_proteinmpnn.py sampled_pdb\n```\n\n这将创建一个名为 `proteinmpnn_residues` 的新目录，其中包含每条采样 PDB 结构对应的 8 条氨基酸链。\n\n### 结构预测\n\n生成氨基酸序列后，我们通过将其输入 OmegaFold 或 AlphaFold 来检查这些序列是否能够重现我们最初的采样结构。运行其中一个程序后，我们使用以下命令来评估自一致性 TM 分数：\n\n```bash\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fsctm.py -f alphafold_predictions_proteinmpnn\n```\n\n其中 `alphafold_predictions_proteinmpnn` 是一个包含反向折叠氨基酸序列对应折叠结构的文件夹。这将生成一个包含所有 scTM 分数的 JSON 文件，以及多个包含 scTM 分布图表和相关性的 PDF 文件。\n\n#### OmegaFold\n\n我们主要使用 [OmegaFold](https:\u002F\u002Fgithub.com\u002FHeliXonProtein\u002FOmegaFold) 来折叠由 ESM-IF1 或 ProteinMPNN 生成的氨基酸序列。这是因为 OmegaFold 的运行时间相对 AlphaFold2 更短，而且 OmegaFold 原生设计为无需 MSA 信息即可运行——这使其更适合我们的蛋白质设计任务。\n\n在创建并激活一个独立的 conda 环境，并按照作者的说明安装 OmegaFold 后，我们使用以下脚本将输入的氨基酸 FASTA 文件分配到多个 GPU 上进行推理，随后计算自一致性 TM (scTM) 分数。\n\n```bash\n# 将每个 FASTA 文件分散到 GPU 0 和 1 上进行折叠，输出到 omegafold_predictions 文件夹\npython ~\u002Fprojects\u002Ffoldingdiff\u002Fbin\u002Fomegafold_across_gpus.py esm_residues\u002F*.fasta -g 0 1\n```\n\n#### AlphaFold2\n\n我们通过 `localcolabfold` 安装方式运行 [AlphaFold2](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Falphafold)（详见 [GitHub](https:\u002F\u002Fgithub.com\u002FYoshitakaMo\u002Flocalcolabfold)）。由于 AlphaFold 的运行时需求，我们提供了将 FASTA 文件集拆分为多个子目录的脚本，以便分别进行折叠；有关示例，请参阅 `scripts\u002Fslurm\u002Falphafold.sbatch` 中的 SLURM 脚本。\n\n## 测试\n\n测试通过混合使用 doctest 和 unittest 实现。要运行 unittests，请执行以下命令：\n\n```bash\npython -m unittest -v\n```\n\n您可能会看到类似以下的警告；这是预期现象。\n\n```bash\nWARNING:root:protdiff-main\u002Fdata\u002Fcath\u002Fdompdb\u002F5a2qw00 中 omega 的值非法 -- 跳过\n```","# FoldingDiff 快速上手指南\n\nFoldingDiff 是一个基于扩散模型（Diffusion Model）生成新型蛋白质骨架结构的开源工具。本指南将帮助开发者快速完成环境搭建并生成蛋白质结构。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux 或 macOS (Windows 需使用 WSL)\n*   **包管理器**: 推荐安装 [Conda](https:\u002F\u002Fdocs.conda.io\u002F) 或 [Mamba](https:\u002F\u002Fmamba.readthedocs.io\u002F) (Mamba 解析依赖速度更快)\n*   **硬件建议**:\n    *   **训练\u002F大量采样**: 需要 NVIDIA GPU (支持 CUDA)\n    *   **简单采样**: 可使用 CPU，但速度较慢（采样 512 个结构在 CPU 上约需 2 小时，而在 RTX 2080Ti 上仅需 7 分钟）\n*   **前置知识**: 熟悉 Python 基础及 PyTorch 框架\n\n## 安装步骤\n\n### 1. 克隆代码库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwukevin\u002Ffoldingdiff.git\ncd foldingdiff\n```\n\n### 2. 创建并激活虚拟环境\n项目依赖定义在 `environment.yml` 中。推荐使用 mamba 加速环境创建过程：\n\n```bash\n# 使用 mamba (推荐)\nmamba env create -f environment.yml\n# 或者使用 conda\nconda env create -f environment.yml\n\n# 激活环境\nconda activate foldingdiff\n```\n\n### 3. 安装项目包\n确保在当前目录下执行以下命令以安装可编辑版本：\n\n```bash\npip install -e .\u002F\n```\n\n> **注意**: 如果您仅需要进行**采样（生成结构）**而不需要重新训练模型，则无需下载额外的数据集。若需训练自己的模型，请参考原文档下载 CATH 数据集。\n\n## 基本使用\n\n### 方式一：命令行采样（推荐）\n\n使用预训练模型快速生成蛋白质骨架。以下命令将生成长度在 50 到 128 之间的 10 个蛋白质骨架，批次大小为 512。\n\n```bash\n# 使用 GPU 运行 (默认 cuda:0)\npython bin\u002Fsample.py -l 50 128 -n 10 -b 512 --device cuda:0\n\n# 如果无 GPU，可使用 CPU 运行 (速度较慢)\n# python bin\u002Fsample.py -l 50 128 -n 10 -b 512 --device cpu\n```\n\n**输出说明**：\n运行完成后，当前目录将生成以下文件夹：\n*   `sampled_pdb\u002F`: 包含生成的 `.pdb` 文件（笛卡尔坐标格式），可直接用于分子可视化软件（如 PyMOL）。\n*   `sampled_angles\u002F`: 包含采样角度的 `.csv.gz` 文件。\n*   `plots\u002F`: 包含训练数据与生成数据的角度分布对比图。\n*   `model_snapshot\u002F`: 本次运行所使用的模型副本。\n\n### 方式二：Python 代码调用\n\n您也可以在 Python 脚本中直接加载预训练模型进行推理：\n\n```python\nfrom huggingface_hub import snapshot_download\nfrom torch.utils.data.dataloader import DataLoader\nfrom foldingdiff import modelling\nfrom foldingdiff import datasets as dsets\n\n# 1. 加载预训练模型 (文件会自动缓存)\nm = modelling.BertForDiffusion.from_dir(snapshot_download(\"wukevin\u002Ffoldingdiff_cath\"))\n\n# 2. 准备数据集 (此处仅为演示加载流程，实际采样通常直接使用 sample.py)\nclean_dset = dsets.CathCanonicalAnglesOnlyDataset(pad=128, trim_strategy='randomcrop')\nnoised_dset = dsets.NoisedAnglesDataset(clean_dset, timesteps=1000, beta_schedule='cosine')\ndl = DataLoader(noised_dset, batch_size=32, shuffle=False)\nx = iter(dl).next()\n\n# 3. 执行前向传播\npredicted_noise = m(x['corrupted'], x['t'], x['attn_mask'])\n```\n\n### 进阶：可视化折叠过程\n\n若要生成展示扩散模型“折叠”过程的 GIF 动画，需在采样时添加 `--fullhistory` 参数，并使用 PyMOL 处理生成的历史帧：\n\n1.  **采样并记录历史**:\n    ```bash\n    python bin\u002Fsample.py -l 50 128 -n 1 -b 1 --fullhistory --device cuda:0\n    ```\n2.  **生成 GIF** (需安装 PyMOL):\n    ```bash\n    python foldingdiff\u002Fpymol_vis.py pdb2gif -i sampled_pdb\u002Fsample_history\u002Fgenerated_0\u002F*.pdb -o generated_0.gif\n    ```","某生物制药公司的计算生物学团队正致力于设计一种能特异性结合新型病毒靶点的全新蛋白质骨架，以加速候选药物的早期发现。\n\n### 没有 foldingdiff 时\n- **依赖现有模板**：研究人员只能基于自然界已知的蛋白质结构进行微调，难以跳出进化限制创造出具有全新拓扑形态的骨架。\n- **试错成本高昂**：传统从头设计方法往往需要运行数千次分子动力学模拟来验证稳定性，消耗大量 GPU 算力且耗时数周。\n- **多样性受限**：生成的结构往往集中在常见的折叠类型，缺乏针对特定结合口袋所需的罕见几何构型，导致筛选命中率低。\n- **几何约束复杂**：手动调整二面角和键长以满足物理化学规则极易出错，常生成在现实中无法稳定存在的“幻觉”结构。\n\n### 使用 foldingdiff 后\n- **生成全新拓扑**：利用扩散模型直接从噪声中采样，成功生成了多种自然界不存在但物理上合理的全新蛋白质骨架结构。\n- **效率显著提升**：通过预训练模型快速推理，几分钟内即可产出成千上万个候选结构，将原本数周的探索周期缩短至数小时。\n- **结构多样性爆发**：模型能够探索更广阔的构象空间，提供了多种针对病毒靶点优化的独特折叠方式，大幅提高了后续筛选的成功率。\n- **内建物理一致性**：foldingdiff 基于三角函数和注意力机制，天然保证了生成结构的键长、键角符合几何约束，无需繁琐的后处理修正。\n\nfoldingdiff 通过将复杂的蛋白质折叠问题转化为高效的扩散生成过程，让研究人员能够从“修改自然”跨越到“创造自然”，极大加速了原创性蛋白药物的研发进程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_foldingdiff_9ba38f2d.png","microsoft","Microsoft","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmicrosoft_4900709c.png","Open source projects and samples from Microsoft",null,"opensource@microsoft.com","OpenAtMicrosoft","https:\u002F\u002Fopensource.microsoft.com","https:\u002F\u002Fgithub.com\u002Fmicrosoft",[86,90,94],{"name":87,"color":88,"percentage":89},"Jupyter Notebook","#DA5B0B",97.3,{"name":91,"color":92,"percentage":93},"Python","#3572A5",2.7,{"name":95,"color":96,"percentage":97},"Shell","#89e051",0,566,73,"2026-03-28T23:07:26","MIT","Linux, macOS","采样和训练强烈建议使用 NVIDIA GPU (如 RTX 2080Ti)，CPU 运行极慢；支持多 GPU 并行推理；具体显存和 CUDA 版本未说明，需参考 PyTorch 环境配置","未说明 (训练计算 KL 散度时计算开销较大)",{"notes":106,"python":107,"dependencies":108},"1. 必须使用 conda 或 mamba 创建环境 (基于 environment.yml)。2. 训练需手动下载 CATH 数据集 (文件较大，未包含在 Git 中)。3. 评估设计性时需为 ESM-IF1、ProteinMPNN、OmegaFold\u002FAlphaFold2 分别配置独立的 conda 环境。4. 可视化扩散折叠过程需安装 PyMOL。5. 默认使用预训练模型，无需下载数据即可进行采样。","3.9 (逆折叠评估环境明确指定，主环境通过 environment.yml 定义)",[109,110,111,112,113],"PyTorch","PyTorch Lightning","HuggingFace Transformers","Biotite","PyMOL (可选，用于可视化)",[14,26],[116,117,118,119,120,121],"diffusion","diffusion-models","protein","proteins","transformer","protein-structure-generation","2026-03-27T02:49:30.150509","2026-04-06T05:19:27.809475",[125,130,135,140,145,150],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},15866,"下载 AlphaFold 或 CATH 数据集时遇到 404 错误或 MD5 校验失败怎么办？","关于 AlphaFold 数据：目前项目不支持 AlphaFold 数据集及其下载，相关脚本是开发初期的遗留文件，出现 404 错误是预期的。\n关于 CATH 数据：原始 URL 已失效，请使用以下 Dropbox 链接替代：https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fka5m5lx58477qu6\u002Fcath-dataset-nonredundant-S40.pdb.tgz?dl=0。此外，MD5 校验报错不影响实际文件下载，该问题已在后续提交中修复。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffoldingdiff\u002Fissues\u002F1",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},15867,"如何复现论文中声称的 22.7% 可设计性（designability）结果？","要复现高可设计性结果，建议使用 ProteinMPNN 进行序列设计。有用户反馈使用 ProteinMPNN 后，在 780 个生成的结构中有 170 个（约 21.8%）的 scTM 分数 ≥ 0.5，这比仅使用 ESM-IF 得到的结果（约 16.1%）更接近论文数据。请确保评估流程中包含 ProteinMPNN 步骤。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffoldingdiff\u002Fissues\u002F27",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},15868,"运行训练脚本时出现 'AttributeError: ... object has no attribute fnames' 错误如何解决？","这是一个已知代码缺陷，已在提交 b3c87e020688c6374a4ef9a0a08b08e9daea567e 中修复。请拉取最新的代码更新即可解决该问题。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffoldingdiff\u002Fissues\u002F11",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},15869,"FoldingDiff 模型的具体任务目标是什么？输入是否包含氨基酸序列？","该模型的任务是无条件生成蛋白质骨架结构（unconditional generation of protein backbone structures）。模型输入不包含氨基酸序列信息，而是从噪声开始生成一个新的蛋白质骨架形状。生成的形状随后可通过 ESM-IF1 等工具进行序列设计（即“幻觉”出新结构后再赋予序列）。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffoldingdiff\u002Fissues\u002F10",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},15870,"如果没有 CUDA 设备，可以在 CPU 上训练模型吗？","可以。虽然默认脚本中包含 'assert torch.cuda.is_available()' 检查导致无法直接运行，但代码本身支持 CPU 模式。用户可以注释掉该断言行，或者直接使用内置的 CPU 选项来在纯 CPU 环境下进行训练。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffoldingdiff\u002Fissues\u002F13",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},15871,"CATH 数据集的 MD5 校验和报错 'no properly formatted MD5 checksum lines found' 是否正常？","是的，这是正常现象。该错误并不影响文件的实际下载和使用。维护者已确认该问题并在后续代码提交中进行了修复，用户可以直接忽略此警告或更新代码以消除报错。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffoldingdiff\u002Fissues\u002F7",[156],{"id":157,"version":158,"summary_zh":159,"released_at":160},90579,"v0.0.1","正式发布，代码经过优化和清理。","2023-12-12T17:53:41"]