8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长的挑战,且受限于蛋白质序列组合复杂性的固有瓶颈。
随着人工智能的发展,蛋白质语言模型(PLMs)成为了理解蛋白质序列与功能关系的重要工具。面向蛋白质结合剂设计,PLMs 基于语言模型的生成能力,可直接从目标蛋白序列出发,设计具有高结合亲和力的配体蛋白或抗体片段。但同时其也面临挑战,例如缺乏兼具长上下文建模能力与真实生成力的 PLMs,尤其在设计具有复杂结合界面和长蛋白质结合剂方面存在显著技术缺口。
基于此,来自阿联酋阿布扎比 Inception AI 研究所与美国硅谷 Cerebras Systems 公司的联合研究团队,提出了首个仅依赖蛋白质序列信息、无需三维结构输入的 PLMs 家族——Prot42 。该模型利用自回归和仅解码架构(decoder-only)的生成能力,能在无结构信息时生成高亲和力蛋白质结合剂和序列特异性 DNA 结合蛋白。在 PEER 基准测试、蛋白质结合剂生成和 DNA 序列特异性结合剂生成实验中,Prot42 表现优异。
相关研究以「Prot42: a Novel Family of Protein Language Models for Target-aware Protein Binder Generation」为题,已在 arXiv 发表预印本。
研究亮点* Prot42 采用渐进式上下文扩展训练策略,从初始 1,024 氨基酸逐步扩展至 8,192 氨基酸。* 在 PEER 基准测试中,Prot42 在蛋白质功能预测、亚细胞定位、相互作用建模等 14 项任务中表现优异。* 与依赖 3D 结构的 AlphaProteo 不同,Prot42 仅需目标蛋白序列即可生成结合剂。
论文地址:
https://go.hyper.ai/cFupD
更多 AI 前沿论文:
https://go.hyper.ai/UuE1o
开源项目「awesome-ai4s」汇集了百余篇 AI4S 论文解读,并提供海量数据集与工具:
https://github.com/hyperai/awesome-ai4s
数据集:3 大数据集支撑模型开发—训练
该研究中使用了多个关键数据集来训练和评估其模型性能。这些数据集不仅涵盖了广泛的蛋白质序列信息,还涉及蛋白质与 DNA 的相互作用数据,为 Prot42 提供了丰富的训练素材。
Protein-DNA Interface Database (PDIdb) 2010
为了设计能够与靶向 DNA 序列结合的蛋白质,研究人员使用了 PDIdb 2010 数据集。作为 Norambuena 和 Melo 的外显数据集,该数据集包含 922 个独特的 DNA – 蛋白质对,用于训练和评估 Prot42 在生成特定 DNA 序列结合蛋白方面的能力。为了评估四种 DNA – 蛋白质模型,研究人员从各种 PDB 结构中提取了 DNA 片段,包括 1TUP 、 1BC8 、 1YO5 、 1L3L 、 2O4A 、 1OCT 、 1A1F 和 1JJ6 。
UniRef50 数据集
Prot42 模型的预训练数据集主要来源于 UniRef50 数据库,该数据库包含了 6,320 万个氨基酸序列,涵盖了广泛的生物种类和蛋白质功能。这些序列通过聚类处理,将相似度超过 50% 的序列归为一组,从而减少了数据冗余,提高了训练效率。
在训练 Prot42 之前,研究团队对 UniRef50 数据集进行了预处理,使用 20 种标准氨基酸的词汇对其进行标记,使用 Xtoken 代表氨基酸残留(X 用于标记不常见或模糊的氨基酸残基)。
在数据预处理阶段,研究团队对序列进行了最大上下文长度为 1,024 个 tokens 的处理,并排除了超过此长度的序列,最终得到了一个包含 5,710 万个序列的过滤数据集,初始填充密度为 27% 。为了提高数据利用率和计算效率,研究团队采用了可变序列长度(VSL)填充策略,最大限度地提高了固定上下文长度内的 tokens 占用率,最终将数据集减少到 1,620 万个填充序列,填充效率达到 96% 。
模型预训练(左)及持续预训练(右)过程中所使用的超参数
STRING 数据库
STRING 数据库是一个综合性的蛋白质-蛋白质相互作用数据库,整合了实验数据、计算预测和文本挖掘结果,提供了蛋白质相互作用的置信度评分。为了训练 Prot42 生成蛋白质结合剂,研究团队从 STRING 数据库中筛选了置信度评分 ≥ 90% 的蛋白质相互作用对,确保了训练数据的高可靠性。此外,序列长度被限制在 250 个氨基酸以内,以聚焦于可管理的单域结合蛋白。经过筛选,最终的数据集包含 74,066 个蛋白质 – 蛋白质相互作用对。训练集 D(train)(pb)包含 59,252 个样本和一个验证集 D(val)(pb)包含 14,814 个样本。
模型架构:基于自回归解码器架构衍生 2 大变体
本文提到的 Prot42 是一种基于自回归解码器架构的 PLMs,逐个生成氨基酸序列,利用前一个生成的氨基酸预测下一个氨基酸,这种架构使得模型能够捕捉序列中的长距离依赖关系,能够直接从大量未标记的蛋白质序列数据库中学习丰富的表征,有效弥合了已知蛋白质序列数量庞大与蛋白质序列占比相对较小(<0.3%)之间的差距。同时,模型包含多个 Transformer 层,每层包含多头自注意力机制和前馈神经网络,用于捕捉序列中的复杂模式。
生成的蛋白结合剂示例
其设计灵感来源于自然语言处理领域的突破性进展,特别是 LLaMA 模型。 Prot42 通过在大规模未标记蛋白质序列上进行预训练,捕捉了蛋白质的进化、结构和功能信息,从而实现了高亲和力的蛋白质结合剂生成。
在此基础上,研究人员预训练了 2 个模型变体,即 Prot42-B 和 Prot42-L 。
* Prot42-B:基础版本,模型参数量达 5 亿,支持的最大序列长度为 1,024 个氨基酸。
* Prot42-L:大型版本,模型参数量达 11 亿,同样支持最大序列长度为 1,024 个氨基酸。通过连续预训练策略,Prot42-L 的上下文长度从 1,024 个氨基酸逐步扩展至 8,192 个氨基酸,这一过程中使用了逐渐增加的上下文长度和恒定的 batch 大小(100 万个非填充 tokens),确保了模型在处理长序列时的稳定性和效率,显著提升了模型处理长序列和复杂蛋白质结构的能力。此外,Prot42-L 还包含 24 个隐藏层,每层有 32 个注意力头,隐藏层维度为 2,048 。
实验结论:6 项任务中均显现巨大潜力
为了在下游任务验证之前评估 Prot42 模型的性能,研究人员使用了复杂性(PPL)评估自回归语言模型的标准度量,即 Prot42 模型在不同上下文长度下的性能。所有模型在 1,024 个 tokens 时,困惑度都相对较高,但在 2,048 个 tokens 时有显著改善,降至约 6.5 。结果显示,基础模型以及针对较短上下文进行微调的模型,在各自的最大上下文长度范围内,呈现出相似的性能模式。 8k 上下文模型的表现尤为引人注目——尽管在中等长度序列(2,048 – 4,096 个 tokens)中,其困惑度略高一些,但它能够处理长达 8,192 个 tokens 的序列,并在最大长度时达到了最低困惑度 5.1 。在超过 4,096 个 tokens 后,困惑度曲线呈现下降趋势。如下图所示。
Prot42-L 模型在不同上下文长度下的 PPL 输入序列长度从 1k 变化至 8k
随着上下文长度的增加,模型的 PPL 逐渐降低,表明模型在处理长序列时的能力得到了显著提升。特别是 8K 上下文模型达到最低的 PPL,表明其能够有效利用扩展的上下文窗口来捕捉蛋白质序列中的长程依赖关系。扩展的上下文窗口是蛋白质序列建模领域的一项重大进展,使得能够更准确地表示复杂蛋白质以及蛋白质 – 蛋白质相互作用,这对于生成有效的蛋白质结合剂至关重要。
通过一系列严格的实验评估,Prot42 在多个关键任务上展现了卓越的性能,证明了其在蛋白质结合剂生成和特定 DNA 序列结合蛋白设计方面的有效性。
蛋白质功能预测
在 PEER 基准测试中,Prot42 模型在多个蛋白质功能预测任务上表现出色,包括荧光预测、稳定性预测、β-内酰胺酶活性预测和溶解度预测等。与现有模型相比,Prot42 在稳定性预测、溶解度预测和 β-内酰胺酶活性预测等方面取得了显著优势,表明其在高分辨率蛋白质工程任务中的巨大潜力。
蛋白质亚细胞定位预测
研究人员把每一个蛋白质序列表示为一个大小为 32×2048 的高维向量,在整个蛋白质序列中嵌入 Prot42-L 模型并进行计算。为了直观地评估质量在嵌入和区室的分化,研究人员应用了 t 分布的随机邻域嵌入 (t-SNE) 来降低维度,使得蛋白质基团的可视化变得清晰。经验证,Prot42 在蛋白质亚细胞定位预测任务上表现出色,其准确性与现有先进模型相当。通过可视化分析,研究团队进一步验证了 Prot42 模型在捕捉蛋白质亚细胞定位特征方面的有效性。
在 10 个亚细胞定位中 Prot42-L 蛋白质嵌入的 t-SNE 可视化
蛋白质结构预测
在蛋白质结构预测任务中,Prot42 模型在接触预测、折叠分类和二级结构预测等方面取得了优异成绩。这些结果表明,Prot42 模型能够捕捉蛋白质结构中的细微差别,为复杂的生物相互作用建模和制药应用提供了有力支持。
蛋白质-蛋白质相互作用预测
在蛋白质-蛋白质相互作用和蛋白质-配体相互作用预测任务中,Prot42 模型展示了高精度和可靠性,在蛋白质-配体相互作用预测中,研究人员利用 Chem42 生成化学嵌入向量,并且与 ChemBert 进行了对比分析,将其作为另一种化学表征模型,即便如此,其性能指标仍优于现有方法,且接近使用 Chem42 所取得的结果。特别是在使用 Chem42 生成化学嵌入的情况下,其预测结果接近专业化学模型。这表明 Prot42 在结合化学信息方面具有很好的扩展性,为药物设计提供了有力支持。
不同模型在各类蛋白质基础任务上的性能比较
蛋白质结合剂生成
为严谨评估 Prot42 模型在蛋白质结合剂生成方面的效果,研究人员将该模型与专门为蛋白质结合剂预测设计的先进模型 AlphaProteo 进行了对比。实验结果显示,Prot42 模型在多个治疗相关目标上生成了具有强预测亲和力的结合剂,特别是在 IL-7Rα、 PD-L1 、 TrkA 和 VEGF-A 等目标上,Prot42 模型的表现显著优于 AlphaProteo 模型。这些结果表明,Prot42 模型在蛋白质结合剂生成方面具有显著优势。如下图所示。
用于微调蛋白质结合剂生成模型的超参数
生成的蛋白质结合剂示例
DNA 序列特异性结合剂生成
在 DNA 序列特异性结合剂生成实验中,Prot42 同样取得了显著成果。实验结果显示,通过结合基因嵌入和蛋白质嵌入的多模态策略,Prot42 模型能够生成与目标 DNA 序列特异性结合的蛋白质,并且展现出高度的亲和力,且通过 DeepPBS 模型评估的结合特异性较高。这些结果表明,Prot42 模型在 DNA 序列特异性结合剂生成方面也具有巨大潜力,为基因调控和基因组编辑应用提供了新的工具。
生成的蛋白质结合剂示例
人工智能在蛋白质设计领域的突破与创新
随着生物技术与人工智能的深度融合,蛋白质设计这一前沿领域正经历革命性变革。作为生命活动的核心执行者,蛋白质的结构与功能解析一直是科学研究的难点,而 AI 技术的介入,正加速破解这一复杂谜题,为新药研发、酶工程改造等场景开辟全新路径。
近些年,AI 技术再度突破,以生成式 AI 为核心的新技术正将蛋白质设计推向「创世纪」阶段。
美国密苏里大学许东教授团队提出了结构感知蛋白质语言感知模型(S-PLM),通过引入多视图对比学习,将蛋白质序列和 3D 结构信息对齐到统一的潜在空间中,利用 Swin Transformer 处理 AlphaFold 预测的结构信息,将其与基于 ESM2 的序列嵌入融合,从而创建了一个结构感知的 PLM,并在 Advanced Science 上发表文章「S-PLM: Structure-Aware Protein Language Model via Contrastive Learning Between Sequence and Structure」。 S-PLM 通过将蛋白质序列与其三维结构在统一的潜在空间中对齐,巧妙地将结构信息融入序列表示中,同时探索了高效微调策略,使模型能够在不同的蛋白质预测任务中取得卓越表现,标志着在蛋白质结构和功能预测领域的一个重要进步。
论文地址:
https://advanced.onlinelibrary.wiley.com/doi/10.1002/advs.202404212
除此之外,清华大学研究团队等提出了一个统一的蛋白质语言模型 xTrimoPGLM,这是一个统一的预训练框架和基础模型,可扩展到 1,000 亿个参数,旨在用于各种蛋白质相关的任务,包括理解和生成 (或设计) 。通过利用通用语言模型(GLM)作为其双向注意力和自回归目标的骨干,该模型不同于先前的仅编码器或仅因果解码 PLMs 。该研究探索了超大规模 PLM 的统一理解和生成预训练,进一步揭示了蛋白质序列设计的新可能性,促进了蛋白质相关应用更广泛领域的进一步发展。以「xTrimoPGLM: unified 100-billion-parameter pretrained transformer for deciphering the language of proteins」为题,发表在 Nature 子刊。
论文地址:
https://www.nature.com/articles/s41592-025-02636-z
Prot42 的突破不仅是技术层面的进步,更映射着「数据驱动+AI 设计」模式在生命科学领域逐渐趋于成熟。未来,研究团队计划通过实验验证 Prot42 生成的结合剂,用实际功能测试补充计算评估。这一步将巩固模型在实际应用中的效用,并完善其预测准确性,弥合 AI 驱动序列生成与实验生物技术之间的差距。
参考资料:
1.https://arxiv.org/abs/2504.04453
2.https://mp.weixin.qq.com/s/SDUsXpAc8mONsQPkUx4cvA
3.https://mp.weixin.qq.com/s/x7_Wnws35Qzf3J0kBapBGQ
4.https://mp.weixin.qq.com/s/SDUs
相关文章:

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...