跳转至

技术私房菜

这作者关于生物信息学、互联网 IT、运维开发、软件安装部署、测评使用等方向的文章集合,大部分为原创。

  1. 本节点的所有文章均来源于个人在 GitHub 的 “Digital-Garden” 仓库讨论区。

  2. 基于 GitHub Actions + 一系列 Python script 实现每天同步更新与部署。

正确的打开方式

这部分的文章内容仅仅代表我的个人观点,由于技术的更新,如果你发现有些内容已经失效或者错误,欢迎在评论区指出来,我希望我的文章能被别人整理能被修改,因为文章会有错误,也会需要时常更新。

为什么我不在微信公众号上写文章 - 陈皓

最重要的是,我希望我的文章和观点是有讨论的,希望我的文章能被指正和批评,最好是引发讨论和思辨,这样才会让我们每一个人都可以在交流中成长。很多时候,文章本身并没有什么太大的价值,而引发的讨论和思辨才更有价值,这是我认为文章传播最正确的姿势。


用 AI 优化 mRNA 序列设计软件 LinearDesign 的一次尝试

在 OpenClaw 如火如荼,全民养虾的当下,聚焦一下自己更加关注的 AI 在编程中的应用场景 —— 在编程中如何让 AI 更好为自己服务。本次优化的 LinearDesign 代码也已经提交到 GitHub,感兴趣的小伙伴可以参考。

LinearDesign

LinearDesign 是百度自主研发的 mRNA 序列设计优化算法,其核心功能是同时优化 mRNA 的折叠自由能(MFE)和密码子适应指数(CAI),为研究人员提供专业的序列设计解决方案。

LinearDesign 项目的源代码托管在 GitHub 上,全球的开发者和研究人员都可以共同协作和改进。安装和使用过这个软件的小伙伴,都会发现几个问题:

  1. 默认仅支持 Python2 语法;
  2. 编译后的程序默认只能在当前目录执行,不支持绝对路径;
  3. LinearDesign 自 203 年 4 月开源发布以来,基本没有任何实际性的更新,各种 Issues 也是没有任何响应。

Qwen Code CLI

Qwen Code CLI 是阿里巴巴通义千问团队推出的一款,基于 Gemini CLI 改造、针对 Qwen3-Coder 模型优化的开源命令行工具,专为终端用户设计,能够实现自然语言生成代码、调试 bug、解释代码、文件操作及自动化工作流,显著提升开发效率。

虽然 Gemini CLI 能力更强(如联网搜索、长上下文),但 Qwen Code 在本地文件操作、代码生成方面更成熟,而且主打国产自主、每天 2000 次免费额度,适合中文社区和阿里生态。因此,我们在这里选择使用 Qwen Code CLI 对 LinearDesign 上面提到的两个尝试进行 AI 优化修复。

Bioconductor 西湖大学镜像无法下载安装 R 包

Bioconductor 为高通量基因组数据的分析和可视化提供开源工具。Bioconductor 多数软件包采用 R 统计编程语言开发。Bioconductor 每年释出两个版本,并有活跃的用户社区。

版本说明

由于 Bioconductor 的 rsync 上游会自行删除非最新的版本,大部分镜像站仅提供 Bioconductor 的当前最新版本和开发版本,只有少量镜像站点会保留过时的版本。目前已知西湖大学镜像站提供了历史版本的镜像。

详细讨论参见 tuna/issues#1969

问题

先看一下问题,在 R 里面直接配置配置西湖大学的 bioconductor 镜像站,执行 BiocManager::install 包安装提示 “cannot open URL”。

> options(BioC_mirror="https://mirrors.westlake.edu.cn/bioconductor")
> BiocManager::install("ChAMP")
Warning: unable to access index for repository https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/bioc/src/contrib:
  cannot open URL 'https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/bioc/src/contrib/PACKAGES'
Warning: unable to access index for repository https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/data/annotation/src/contrib:
  cannot open URL 'https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/data/annotation/src/contrib/PACKAGES'
Warning: unable to access index for repository https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/data/experiment/src/contrib:
  cannot open URL 'https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/data/experiment/src/contrib/PACKAGES'
Warning: unable to access index for repository https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/workflows/src/contrib:
  cannot open URL 'https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/workflows/src/contrib/PACKAGES'
Warning: unable to access index for repository https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/books/src/contrib:
  cannot open URL 'https://mirrors.westlake.edu.cn/bioconductor/packages/3.18/books/src/contrib/PACKAGES'
Bioconductor version 3.18 (BiocManager 1.30.22), R 4.3.0 (2023-04-21)
Installing package(s) 'ChAMP'

用 Docker 来解决 LinearDesign 的 GLIBC 版本过低问题

LinearDesign 介绍

LinearDesign 是一款用于优化 mRNA 设计的软件,旨在提高 mRNA 的稳定性和免疫原性。该项目由 He Zhang、Liang Zhang、Ang Lin 等研究人员开发,并已在 Nature杂志上发表相关研究成果。LinearDesign 通过算法优化 mRNA 序列,使其在保持高翻译效率的同时,具有更好的结构稳定性。

GitHub 地址:https://github.com/LinearDesignSoftware/LinearDesign

项目快速启动

确保你的系统满足以下依赖要求:
- Clang 11.0.0 或更高版本,或 GCC 4.8.5 或更高版本
- Python 2.7
- GLIBC≥2.29

glibc (GNU C Library) 是 GNU 发布的 C 标准运行库,是 Linux 系统中最底层、最核心的 API,几乎所有应用软件都依赖它。它主要负责封装 Linux 内核系统调用,并提供内存管理、字符串操作、文件操作等标准函数。

在 Ubuntu 18.04.6 LTS 中,GLIBC 最高只有 2.27,在不升级系统更新 GLIBC 风险太大,因此可以考虑用 Docker 的方式来解决 LinearDesign 的 GLIBC 版本过低问题。

Python 包和项目管理工具 UV 安装与更新

uv 有人评价是近十年来 Python 生态出现的最好东西,它彻底改变了 Python 的安装和使用方式,尤其在快速解决依赖冲突(这对大型项目至关重要)方面,速度快得惊人。作为一个由 Astral 开发,用 Rust 编写,几乎可以在任何操作系统或平台上运行的免费的开源工具,个人在越来越多的开源模型、项目中都能看到它的身影,uv 似乎已经和 conda 成为了现在 Python 环境构建与管理的标配。

uv-fast
Installing Trio's dependencies with a warm cache.

官方文档 Installing uv 大多数都是先下载 install.sh,然后 sh install.sh 执行安装。

一次发生在 GitHub 的 Trigger security scan 异常事件

2025年9月4日,早上起来看邮件时候,突然发现,邮箱一下子多了几百封 GitHub Actions 构建异常的邮件!

震惊紧张后,第一个反应就是,该不会是个人的 personal access token,或者密码泄露了,被人动态进行 commit 提交,以至于出现批量的 Actions 异常。于是,赶紧登录 GitHub 看一下到底发生了什么事。

首先,看到个人账号下基本每个 Public 仓库,甚至包括 organization 下个人创建的所有 Public 仓库,都出现了类似 “Trigger security scan” 的 commits 提交。 trigger-security-scan

Dify 上的 Ollama 不支持 Rerank 模型

在 Dify Cloud 平台调用各大平台的大模型 API 一直都没发现这个问题,随着开始折腾本地化使用,才发现 Ollama 部署大模型虽然方便,但是 RAG 中 Dify 知识库混合检索,需要 Rerank 模型时,这一点上,Ollama 居然是不支持 Rerank 模型的。
rag-pipelines

Vim 缩进插入删除使用技巧

在服务器环境下,Vim 因其高效、轻量、无需图形界面的特性,确实是开发者最常用的代码编辑工具之一。针对 vim 使用过程中最常遇到的一些操作技巧简单记录一下。