生物数据库与数据格式公开课:从检索到坐标的可复现链路
简介生物信息学入门常遇到的第一道门槛不是算法而是生物数据库检索与数据格式解析。NCBI、Ensembl、UniProt等数据库按原始与加工分层理清GenBank/RefSeq、SRA/Ensembl的分工才能把序列、注释、变异检索走通而FASTA、FASTQ、GFF、BED、VCF各自语法不同尤其GFF的1-based闭区间与BED的0-based半开区间相差一个碱基FASTQ的Phred33/64偏移直接决定质量值换算。掌握这些基础后无论是下载基因序列、筛选变异还是解读注释文件都能建立一条可复现的分析链路。围绕公开课课件的稳定性还应通过真实样例、坐标换算练习和课前验证链让教学内容在数据库改版后依然经得起检验。1. 生物数据库与数据格式公开课把“检索”和“语法”做成一条可复现链路每当新入组的学生第一次打开NCBI的主页看到的通常不是信息而是一面由序列、文献、BLAST和各类子库筑起的高墙。真正拦人很久的不是算法是两样基础技能知道去哪几个常用生物数据库检索以及对FASTA、FASTQ、GFF、VCF这些数据格式有正确的直觉。也因此热门公开课“常用生物数据库和数据格式”总被安排在生物信息学培训的第一周。它不追求把某个分析工具讲透而是把数据库的层级、工具的选型逻辑、文件的字段语法串成一条可复现链路让新手从“打开网页看不懂”过渡到“能独立下载一个序列并识别坐标规则”。这篇文章把课件里最值得展开的要点拆清楚顺便聊聊做这种PPT时怎么避免它一年就过期。2. 先立主线看懂生物数据库的层级与三大门类2.1 一级库与二级库的分工为什么NCBI和EBI都得放到第一页课件生物数据库如果按“原始程度”分最常见的一刀切是一级数据库和二级数据库。一级数据库直接接受研究者的原始提交典型代表是NCBI的GenBank、欧洲的ENA和日本的DDBJ三者之间有数据同步协议叫“国际核酸序列数据库协作”所以同一条序列在三个库里拿到的内容一致。二级数据库则在一级库数据基础上做加工去冗余、补注释、统一命名。很多人第一次听RefSeq一头雾水其实就是NCBI把GenBank里大量重复的提交整理成一套更干净、带稳定ID的参考序列集合。课件讲这层逻辑目的不是让学员背名词而是解释一个常见困惑为什么同一个基因在NCBI搜索里会冒出两个条目一个像GenBank原始提交一个像RefSeq带NM_前缀。我一般会在这一页画一个简单流向图GenBank和ENA、DDBJ在底部RefSeq、Ensembl、UniProt叠在上一层箭头只标“整理”两个字。学生看明白“一级是原料、二级是加工品”之后后续所有下载路径都顺了。这页还有一个常见的选型问题需要讲查序列到底去NCBI还是EBI答案是两边数据几乎一样区别在界面习惯和侧重点。NCBI整合了PubMed、SRA、dbSNP适合从文献和基因出发反查序列EBI的ENA在原始测序数据下载上更顺手Ensembl则更擅长看注释基因模型。课件里不能只说“任选一个”要给出判断依据学员手里的任务如果是从基因名找序列NCBI优先如果是从一个物种的基因组注释表里取转录本Ensembl更直接。2.2 核酸与基因组GenBank、RefSeq、SRA和Ensembl各管一段这一节建议用一个贯穿始终的示例基因来讲比如TP53。可执行的教学顺序是四步第一步打开NCBI的Gene数据库搜索TP53看基因概览页第二步从Gene页面找到RefSeq转录本NM_000546下载FASTA第三步切到GenBank查看这条mRNA的完整结构注释第四步去SRA搜一下与TP53相关的RNA-seq数据看原始reads长什么样。这四步恰好把核酸数据库里最重要的四个角色串起来。GenBank和RefSeq的区别要在这轮操作里现场演示。Gene页面里一般会有两个入口一个是GenBank登录号带版本号一个是RefSeq的NM_号。形态上NM_开头的ID很稳定适合写进论文而GenBank的登录号更像“原始存档”。课件里可以直接放两行示例对比一行是NM_000546一行是某个GenBank登录号告诉学员“前者是整理过的参考序列后者是研究者的原始提交”。SRA则完全是另一个维度它存的是下机数据不是拼接结果所以文件名、测序平台、文库布局都在元数据里。常见误用是初学者去GenBank里找原始reads这个坑在课件里值得用一个红字提示标出来。Ensembl的定位是基因组浏览器侧的二级库长项不是单条序列而是整条染色体上的基因模型、转录本剪接方式和调控注释。它按物种建库人、鼠、斑马鱼等各自成册。课件里推荐用一个固定操作输入一个Ensembl基因ID比如人类TP53的ENSG00000141510看转录本有多少个再看蛋白翻译区落在哪些外显子上。这一步会让学员立刻感受到浏览器类数据库和文本检索类数据库的差别。2.3 蛋白质与结构UniProt、PDB以及常见BLAST选库逻辑核酸库之外蛋白层面至少要讲两个库。UniProt是目前公认的蛋白功能注释标准池其中Swiss-Prot部分经过人工审编注释可信度更高TrEMBL部分是自动注释覆盖广但信息颗粒度粗。课件里不需要深入算法但要讲清楚一个概念在UniProt里看到带“reviewed”标记的条目和看到未审编条目含义完全不同。我习惯用同一个基因的ACE2或TP53蛋白条目作对比让学员看人工审编条目的功能描述和GO注释明显更细。PDB是结构生物学的核心库收录通过X射线晶体学、冷冻电镜、核磁等手段解析的三维坐标。PDB文件本身是文本格式里面有ATOM坐标区段和REMARK注释区段结构生物学背景薄弱的学员容易把PDB和UniProt混淆。区分方法是给一个场景想看蛋白的一级序列和功能注释去UniProt想看某个结构域如何折叠去PDB。两者都少不了但查询入口、文件格式、使用频率都不一样。BLAST选库逻辑也建议放在这一章。常见做法是要找同源序列时默认选nr库覆盖最广但冗余多想要高可信注释功能选UniProt/Swiss-Prot想限定某个物种选该物种专用库。课件如果能用一个实际BLAST界面截图说明“数据库下拉框选不同选项对结果的影响”比单纯背库名有效得多。我见过不少学员在选库里翻车明明只想要人的同源蛋白却用了nr库把整个真核生物都拉出来结果前几十条全是其他物种。这种差异不是操作错误而是对数据库收录范围的认知不足正好是这一章该解决的。3. 数据格式就是“机器读的语法”从 FASTA 到 VCF 逐行拆3.1 FASTAID 行后面紧跟序列头行不能出现空格陷阱FASTA是生物信息学里最常见也最容易被轻视的格式。它的结构简单到一句话能说完以大于号开头的一行头行后面跟若干行纯序列。但正因为简单课件反而要重点讲三个细节头行的ID部分不能有空格描述信息要放在空格后面机器解析时默认只认第一个以空格分隔的token序列行不允许夹带数字、空格或注释换行是允许的但ID行必须单独一行。实际课件里可以放一个两行的小例子TP53_demo 这是教学示例仅用于展示FASTA头行结构 ATGGCCCACCTGAGTTCAAGAAGGGTGAGTGGCACAGAG讲的时候我会同步演示用Biopython读这个文件后取到的ID是什么。代码可以放在PPT的备注页让学员课后自己试from Bio import SeqIO records SeqIO.parse(demo.fasta, fasta) for rec in records: print(rec.id) print(rec.description)上面这段代码的逻辑是SeqIO.parse把FASTA文件流式读入每条记录的对象里id字段只取头行第一个tokendescription字段则保留完整头行内容。参数“fasta”是格式标识不能省略。如果是单条序列的FASTA也可以用SeqIO.read它会强制要求文件中恰好只有一条记录否则直接报错。这个“read强制单条”的特性很适合在课件里当一个小练习抛出让学员体会一个文件里有多条序列时程序会怎么反应。FASTA的教学价值在于它是几乎所有后续格式的地基。GFF、BED可以描述序列上的区域但序列本身一般还是用FASTA存BLAST的输入输出也是FASTA或表格格式。所以课件花半小时把FASTA讲透后面的格式都省力。常见翻车点是学员在Windows下用记事本编辑FASTA时被自动加上回车或者改成了UTF-16编码导致解析器报错。解决方法是建议用VS Code或Notepad等能显示编码的编辑器并在保存时选UTF-8。3.2 FASTQ质量行里的Phred编码与偏移量换算FASTQ比FASTA多一行的质量值但这一行能让新手当场崩溃。标准FASTQ有四行第一行是以开头的读取ID第二行是序列第三行是加号第四行是质量字符串。质量字符串每个字符对应序列中每个碱基的测序质量换算公式是Q -10 * log10(P)其中P是碱基出错概率。质量越高字符越靠后。课件必须讲清楚Phred33这个偏移量。所谓Phred33意思是质量字符的ASCII码值等于质量值加33。比如质量值Q30的碱基对应ASCII码63也就是问号字符Q40则对应ASCII码73即大写字母I。为方便掌握我会在课件里放一张小表质量值Phred33字符Phred64字符说明Q30?yQ30通用出现在Sanger与Illumina新平台Q40Ih旧Solexa数据可能用到64判断口诀看是否出现“!”“#”、“I”多看是否有小写字母如果有小写字母通常就该怀疑64这段教学有一个非常具体的落地方式让学员打开一个真实的下机FASTQ文件先看质量行的字符范围再推断偏移量。判断规则是Phred33编码的字符范围一般在33到73之间也就是感叹号到大写IPhred64编码的范围更靠后常出现小写字母和符号。最常见的数据集特别是来自SRA的现代Illumina数据几乎都是Phred33。旧数据集和某些特殊平台才可能出现64。这里我建议把命令行也放进课件备注# 截取一个FASTQ文件的前4行观察质量字符范围 head -n 4 SRR_example.fastq这个命令的逻辑是head只取文件前4行刚好覆盖一条完整的FASTQ记录。如果页面里显示的质量字符不是从“!”到“~”之间的可打印ASCII而是大量小写字母就需要用Python脚本或FastQC去进一步确认编码公式。常见翻车是在分析旧数据时套用Phred33换算导致所有碱基质量被高估下游变异过滤全部失效。课件里加这么一句“永远先确认编码再谈质量阈值”能省掉很多血泪经验。3.3 GenBank 与 GFF/GTF基因注释的两种记录方式GenBank文件格式是NCBI体系里的老牌注释格式特征是有一段非常整齐的文本头。真正有用的区域从LOCUS行开始然后是DEFINITION、ACCESSION、VERSION、FEATURES和ORIGIN。FEATURES表格是核心里面按行列出一段序列上所有的基因、CDS、外显子、mRNA等特征每个特征后面跟位置信息和注释键值对。课件演示时不需要让学员读完整文件而是用“找CDS位置”这个任务切入。比如打开一条NM_开头的GenBank记录让学员在FEATURES里找到CDS看它起点、终点和跨度。这一步可以顺带讲清楚“按位置取子序列”的基本操作。但GenBank格式不是软件间交换的主流实际分析工具更常用的是GFF和GTF。GFF3是制表符分隔的9列格式GTF可以看成是GFF的一种变体。9列依次是序列名、来源、特征类型、起始、终止、得分、链方向、相位、属性。这里最容易出错的是坐标系统GFF使用1-based全闭区间也就是说起始和终止两个坐标都包含在内而BED使用0-based半开区间起始坐标从0开始且不包含终止位置。同一个转录本在两种格式里写出来会差一个碱基。课件里的对比示例可以这样写# GFF31-based闭区间 chr2 demo transcript 2680 5000 . - . gene_id geneA; transcript_id txA;同一转录本如果写成BED起始坐标要减1终止坐标保持不变chr2 2679 5000 txA 0 -这个“减1”是无数脚本崩溃的根源。我每次讲到这都要停下来问学员一个数值题一条GFF坐标是100到200转换到BED应该怎么写答案是99到200长度是101个碱基。如果答案写成100到200长度就变成100了。课件里可以用一个坐标换算表格把“GFF起始-1对应BED起始BED终止复制GFF终止”这条规则钉死。3.4 BED 与 VCF面向坐标与变异的两类常见格式BED格式最初在UCSC体系里定义典型用途是描述基因组上的区间比如ChIP-seq峰、基因注释、引物位置。核心信息只需要前3列染色体名、起始、终止。后面可以带名字、得分、链方向等可选列。它的0-based半开约定是个容易踩坑的角落尤其在与GFF互转时前面刚说过。课件里除了凹一块讲坐标还要提一句BED文件的行不能从chr0开始也不能在列里混入空格。VCF是变异检测结果的通用格式结构上分两个部分文件头以#号开头通常有##fileformat和列名行#CHROM数据行是固定的8个必填列加若干INFO列。8列依次是染色体、位置、ID、参考碱基、替代碱基、质量值、过滤标记、附加信息。这里最容易让学员误解的是QUAL和FILTER。QUAL是一个数值表示这个变异检测结果的置信程度FILTER则是一个标记如果检测结果通过了过滤就记PASS否则记一些如q10、DP20这样的失败原因。VCF的坐标继承自1-based体系POS列指的是参考基因组上的第一个变异位点。这个位置和BED不同不能拿来和BED区间直接拼接。课件的建议是用一个完整VCF片段让学员自己数列# VCF片段示例仅教学用 ##fileformatVCFv4.2 #CHROM POS ID REF ALT QUAL FILTER INFO chr2 2680 rs123 G A 50.0 PASS DP30;AF0.5注意看第8列INFO里面DP表示测序深度AF表示等位基因频率。课件要解释一个原则FILTER列的值不能直接当作“可靠”的代名词。一个位点如果FILTER是PASS只代表它通过了流程预设的阈值阈值合理与否要回到样本深度和比对质量去判断。很多新手拿过滤后的VCF直接做生物学结论结果批量变异里混入比对噪音而不自知。我会把这条写成大字提示放在VCF页的上边缘。4. 把课件做成“能用三年”的工程件结构与还原细节4.1 四小时公开课的漏斗结构三个模块加一次上机获奖级别的一堂生物数据库课绝不是把NCBI首页从头到尾介绍一遍。常见做法是用一个四小时的漏斗结构第一个小时讲数据库层级第二个小时讲格式语法第三个小时做一次半引导上机第四个小时让学员独立完成一条检索链路并提交一份带坐标换算的作业。这个结构和PPT的章节划分直接对应每段PPT也不要超过25页否则信息密度太高。四个小时模块可以拆成这样时间模块核心产出对应课件页第1小时数据库层级与检索路径能解释GenBank和RefSeq的差别6-10页第2小时FASTA、FASTQ、GFF、BED、VCF基础能口头说清坐标差异11-20页第3小时半引导上机下载一条基因序列并转换格式生成一个从FASTA到GFF的坐标匹配示例21-24页第4小时独立练习与答疑完成一次完整检索加格式判断25页收束这个表本身就是课件骨架。我通常会把表放在讲师备注页而不是正课幻灯片里因为公开课听众需要的是故事线不是课程大纲。故事线的关键是用同一个基因贯穿全场前面每讲一个数据库都回到同一个基因去查每讲一个格式都用同一个基因的序列或注释做示例。这样学员不会在多个示例之间跳来跳去认知负担会小很多。4.2 课件与数据示例配套把 FASTA/FASTQ 样本也放进课后包讲格式的PPT最忌讳只放截图不放真实文件。截图能展示样子但学员无法复制解析过程。常见的加分做法是课件定稿后把每个格式抽成极小样例打包成一份配套数据随课件一并发放。FASTA可以放两条序列FASTQ放四条readsGFF放一个基因的三行外显子BED和VCF各放一个可运行的小片段。这些样例不需要真实生物学含义但必须能被标准解析工具读通。配套文件的具体命名规则我建议是课件主文件名含日期数据包用同一日期前缀。比如课件叫“常用生物数据库和数据格式公开课获奖课件_20251230.pptx”数据包就叫“_20251230_examples.zip”。这样再过半年看到文件名就知道课件是哪个版本的。数据包里再放一个README.txt里面写清楚每个文件对应课件哪一页解析用的Python命令长什么样。这个小动作能让课件复用率提高一个量级。数据包里的FASTQ样例记得做隔离处理不能直接用真实患者数据或带个人信息的测序文件。公开课场景下自行构造的一段随机序列就够了。这一条不仅是隐私合规考虑也是教学便利考虑极短序列能一眼看清质量字符串与Phred字符的对应关系真实数据太长反而分散注意力。4.3 PPTX 的体检技巧用 ZIP 解包看图片与文本是否同步很多讲师不知道PPTX本身就是一个ZIP压缩包。课件文件名的扩展名改成.zip后可以直接解压里面是一个标准的XML目录结构。利用这一点可以做一件很有价值的事情核对课件里的截图是否都还在。常见情况是某个截图在制作中被误删或者图片压成了低分辨率幻灯片上却还占着一个空的占位框。肉眼排查几十页PPT很累但用命令行看一眼媒体文件列表就清楚了。mkdir pptx_check cd pptx_check cp ../常用生物数据库和数据格式公开课获奖课件.pptx demo.zip unzip -q demo.zip ls ppt/media/ | wc -l ls ppt/slides/ | grep -E ^slide | wc -l上面的命令先解包再统计媒体文件数量和幻灯片页数。如果幻灯片有30页而媒体文件只有3个说明课件图片严重缺失或大量截图根本没用媒体库存储。真正严谨的检查还可以用Python把每页XML里引用的图片文件名拉出来和media目录对照from zipfile import ZipFile from xml.etree import ElementTree as ET ppt ZipFile(demo.pptx) slide_ids [n for n in ppt.namelist() if n.startswith(ppt/slides/slide) and n.endswith(.xml)] for slide in slide_ids: xml ppt.read(slide).decode(utf-8) embeds xml.count(p:pic) print(slide, 图片数: , embeds)这段代码的思路是逐个读取slide XML查找图片元素标签的个数从而发现哪些页面没有配图或配图异常。参数上要注意的是ZipFile当作字典用键是包内文件路径读取时直接按路径传入即可。实际教学中这个体检技巧还可以用来确认某页PPT用了哪个FASTA示例文本直接在解压后的slide XML里搜索ACGT字符串几秒钟就能定位到具体页面。养成这个习惯后改课件日期、换示例序列的效率会高很多。5. 避坑生物数据库课件里最常见的五处翻车现场5.1 数据库主页改版课件截图成了“过去式”现象课件里放了一张NCBI搜索框的截图结果开课前一学期NCBI改了新版界面学员按截图找不到对应按钮课堂当场卡壳。原因数据库网页是活物NCBI和Ensembl的主页、基因详情页布局平均每半年到一年就会有一次明显调整。课件是静态文件不可能实时跟随网页变化。解决所有涉及数据库界面的截图页脚要标注“截图日期访问URL”。开课前一周逐个重访截图对应的页面发现界面变了就重新截图。公共课没必要把每个页面都截图优先截那些学员一定会用的关键路径比如Gene搜索结果页、FASTA下载页。对频繁变化的操作则改成课堂现场演示提前在浏览器里开好标签页不依赖截图。5.2 FASTQ 质量编码讲成 64新数据全部读错现象课件里用一份旧教材的FASTQ例子质量字符串大量出现小写字母老师按ASCII码减64解释学员照做后发现现代数据的质量全部偏高。原因许多老课件继承了早期Solexa时代资料当时Phred64确实常见。SRA和主流测序平台统一到Phred33后旧解释没有同步更新成了遗留错误。解决课件里除了讲Phred33还必须有一步“如何判断偏移量”的实操打开文件看质量行的字符范围若最低字符是大写A则大概率是64若范围明显覆盖感叹号到波浪号则是33。同时注明不同时期的Illumina平台转换关系并把FastQC这类工具当作验证手段放进推荐列表。这一页宁可多花两分钟也不能一笔带过。5.3 GFF 和 BED 的坐标混用导致转录本长度对不上现象学生拿到同一基因的GFF注释和BED注释按两边坐标分别取序列发现跨度差一个碱基跟老师对答案时各执一词。原因这是教学中最常见也最核心的翻车点GFF是1-based闭区间BED是0-based半开区间。课件如果在讲完两种格式后没有专门做一次坐标换算训练学员必然混淆。解决用一个具体基因的一号外显子做例子同时给出GFF和BED两行代码让学生手动计算长度。特别要强调GFF的终止坐标等于BED的终止坐标GFF的起始坐标减1等于BED的起始坐标。再进一步练习把BED区间转回GFF时起始坐标要加1。这一题每次都值得花五分钟因为它直接关系到后续所有区间分析脚本是否正确。5.4 PDB 示意图的来源没交代版权边界含糊现象某页PPT展示蛋白结构用了一张网上搜到的渲染图图片角落还有原作者水印。课件获奖后被原作者邮件问询只好连夜换图。原因PDB结构可视化图片的版权归属比较复杂原子坐标数据本身来自PDB但渲染结果可能属于PyMOL脚本作者或渲染工具产生的个人创作。解决课件一律使用自己生成的模型图。工具选开源且常见的PyMOL或NGL Viewer不依赖网页第三方生成器。生成后把渲染参数写进备注页标明“此图由PyMOL基于PDB 1TUP生成”既留下溯源信息也方便日后复现。如果实在要用某篇论文的图可以在课件里放链接而不是贴图让学员自己点击查看。5.5 VCF 里 FILTER/QUAL 被当成了“可靠评分”现象课间练习时学员拿着一个VCF文件看到FILTER列为PASS就把它当作合格变异直接进入下游富集分析结果后续验证全部失败。原因课件讲VCF时如果只罗列列名而不解释语义学员很容易把PASS等价于“真阳性”把QUAL等价于“靠谱指数”。实际这两个字段只是流程输出与样本处理、比对情况和阈值设置强相关。解决在VCF页面加一条明确规则FILTER列PASS只代表该位点通过当前流程阈值需要结合INFO里的DP和AD字段人工复核。课件里准备一个真实低深度示例DP只有4却PASS成功然后反问学员它适合被放进结果表吗。用这个案例把“数据格式正确”和“生物学结论正确”分离清楚。6. 让课件续命三条最小验证链的课前走动最后一件事是每次开课前用半小时把课件里的关键链路复跑一遍别让它在书架上躺到泛黄。我自己的做法是三条最小验证链每一条都能在几分钟内跑完却足以暴露多数过期问题。第一条是基因与序列链路打开课件选的示例基因在NCBI里重新搜索确认Gene ID没有变化点击FASTA下载后对比文件头的基本信息。如果课件里用了E-utilities接口也可以用一行命令快速验证curl -s https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?dbnucleotideidNM_000546rettypefasta | head -n 6这个命令的逻辑是向NCBI公共接口请求指定登录号的FASTA记录head只取出前6行用于人工检查。如果返回内容出现错误提示说明登录号已失效或接口路径有变化课前就得更新课件里对应的截图和示例ID。不过要注意公共接口有访问频率限制课件演示时不要连续高频请求同一数据库。第二条是格式文件链路把数据包里的FASTA、FASTQ、GFF、BED、VCF各拿出来先用head命令看前几行再用解析脚本跑一遍。目标是确认每个文件都能被标准工具读取且坐标换算示例没有因为修订而错位。比如GFF和BED的坐标对可以手动算一次转录本长度和课件页面上的数值对比。第三条是浏览器链路把课件里引用的所有主站页面按顺序打开包括NCBI基因页、Ensembl基因页、UniProt蛋白页和PDB详情页。不追求全部截图只看搜索结果是否还在、页面是否加载完整。如果有某个页面彻底改版立刻调整课堂演示路径而不是临时现场找按钮。这三条验证链走完课件就等于重新体检了一遍。过去我把课件改到第十版时仍然漏掉了Ensembl的菜单结构调整开课前三分钟才临时用学员的电脑现场演示场面很狼狈。后来把验证链固定在课表里翻车就少多了。做公开课课件真正值钱的不只是那张获奖页而是每一章内容都能在下次开课时原样复现。希望这套方法对你也有帮助。本文还有配套的精品资源点击获取

相关新闻

IEEE33潮流计算收敛难题:配电网仿真落地第一道门槛

IEEE33潮流计算收敛难题:配电网仿真落地第一道门槛

简介:本资源是一套基于MATLAB实现的IEEE 33节点与69节点配电网潮流计算完整代码包,面向电力系统专业本科生、研究生及工程实践者,用于掌握经典配网模型建模、稳态分析与算法验证。包内共5个文件,含4个核心M脚本(如IEEE…

2026/10/11 21:22:14 阅读更多 →
如何给 KOReader SimpleUI 插件添加新语言:.po 文件、Poedit 与 msgfmt 校验完整教程

如何给 KOReader SimpleUI 插件添加新语言:.po 文件、Poedit 与 msgfmt 校验完整教程

【免费下载链接】simpleui.koplugin A highly customizable UI plugin for KOReader that features a home screen, bottom navigation bar, top bar and desktop modules/widgets. 项目地址: https://gitcode.com/gh_mirrors/si/simpleui.koplugin 点击查看 免费下…

2026/10/11 21:22:14 阅读更多 →
条件语句入门:从if/else到分支结构核心原理与实战

条件语句入门:从if/else到分支结构核心原理与实战

这一章的主角是条件语句,也就是你代码里第一次出现“如果……那么……”的决定性瞬间。前面几章我们写的程序都是按顺序一路执行到底,不管什么输入都走同一条路;到了条件语句,程序才真正开始有一点“智能”的味道——它能根据当前…

2026/10/11 21:22:14 阅读更多 →

最新新闻

后EVM时代破局:从并行执行到模块化架构的性能安全博弈

后EVM时代破局:从并行执行到模块化架构的性能安全博弈

1. 打破“EVM最优解”的技术惯性:从共识层到执行层的再审视链上生态发展到现在,很少有一个话题能像“EVM之后往哪走”这样,让基础设施团队、应用开发者和安全审计机构同时感到焦虑。EVM作为智能合约的事实标准,支撑了绝大多数DeFi…

2026/10/12 2:04:08 阅读更多 →
Claude Code 接入 Google Search MCP 实现联网搜索

Claude Code 接入 Google Search MCP 实现联网搜索

最近在做项目时发现一个很现实的问题:Claude Code 在终端里确实很能打,但它是拿不到外部信息的。遇到一个新发布的库、一个报错里出现的陌生函数、或者不确定某个 API 当前版本是否还支持,就只能靠模型自己猜。于是我给 Claude Code 接上了 A…

2026/10/12 2:04:08 阅读更多 →
Claude Code接入MCP搜索:配置实战与踩坑指南

Claude Code接入MCP搜索:配置实战与踩坑指南

1. 项目背景与前置准备1.1 为什么要给 Claude Code 接一个“搜索外挂”用过 Claude Code 的朋友应该都有同感:它在代码生成、文件操作、多文件重构这些任务上确实能打,但一碰到“实时信息”就立刻露馅。比如问它某个框架的最新版本号、某个依赖当前几个月…

2026/10/12 2:04:08 阅读更多 →
JanusGraph 核心能力与存储后端选型:从超大规模图处理到 CAP 权衡

JanusGraph 核心能力与存储后端选型:从超大规模图处理到 CAP 权衡

图数据库分布式数据库后端 【免费下载链接】janusgraph JanusGraph: an open-source, distributed graph database 项目地址: https://gitcode.com/gh_mirrors/ja/janusgraph 点击查看 免费下载 导读:本文围绕 JanusGraph 官方文档《The Benefits of Ja…

2026/10/12 2:03:07 阅读更多 →
Langchain01_框架之模型的创建与调用

Langchain01_框架之模型的创建与调用

模型创建3种方式 1.使用特定的Model Class(最直接,但不好用) LangChain为一些大模型供应商提供了专门的Model类,导入对应的具体类(如 ChatOpenAI、ChatAnthropic、ChatDeepSeek、ChatOllama、ChatHunyuan、ChatTongy…

2026/10/12 2:03:07 阅读更多 →
ET高级定制版与睿排引擎:从智能排版到可打印的完整工程实践

ET高级定制版与睿排引擎:从智能排版到可打印的完整工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 2:03:07 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →