Zengtudor
1天前在线
全职 · 799/日  ·  17378/月
工作时间: 周末09:00-17:00工作地点: 远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

我是程序员客栈的Zengtudor,一名C++后端; 负责过高性能生物信息学程序,程序语言语法树分析,AI后端API数据拉取,工作流混合的开发; 熟练使用C++现代化编程,Nodejs Express,深入python原理,打NOIP算法竞赛拿过省级奖项 如果我能帮上您的忙,请点击“立即预约”或“发布需求”!

工作经历

  • 2018-09-01 -至今自由开发者(专注开源技术实践)高级后端工程师

    聚焦 开源技术实践,深耕 生物信息处理与高性能计算 交叉领域。我的核心职责是主导 DNASequence 等开源项目的全流程开发,攻克大规模 DNA 序列数据的高效处理难题:​ 核心算法与并行优化:​ 基于 现代 C++(模板编程、内存预分配、分支预测优化)设计 reverseComplement 核心函数,实现 DNA 互补链的高效计算;​ 集成 OpenMP 并行框架,通过多线程加速(支持 12 线程并行),将 800MB 序列数据的处理耗时压缩至 2.5 秒内(单块计算阶段仅 277ms)。​ 跨语言生态打通:​ 基于 pybind 开发 dna.pyd 扩展库,暴露 dna_reverse 接口,支持 Python 直接调用 C++ 高性能逻辑,无缝衔接科学计算场景;​ 生成类型提示文件 dna.pyi,保障 Python 开发的代码补全与类型校验体验。​ 工程化与性能打磨:​ 设计 4GB 分块内存管理 策略,适配 5×10⁴长度的超长序列,规避内存溢出风险;​ 针对多平台编译优化:Windows 优先采用 Visual Studio(MSVC) 编译(性能最优),Linu

教育经历

  • 2023-09-01 - 深圳技术大学软件工程本科

语言

普通话
0
1
2
3
4
5
0
1
2
3
4
5

技能

Docker
CMake
0
1
2
3
4
5
0
1
2
3
4
5
作品
高性能生物信息学分析

# DNASequence 项目简介 DNASequence 是一个专注于 DNA 序列处理的开源项目,核心功能为计算 DNA 片段的互补链并与原序列整合,解决测序中双链方向不确定的问题。以下从核心功能、构建指南、技术细节、性能表现及版权说明等方面展开介绍。 ## 核心功能与逻辑 DNA 为双链结构且互为互补链,测序时无法确定片段所属链方向。项目通过计算所有 DNA 片段的互补链,并将其与原序列共同处理组装,实现高效序列整合。 - **输入格式**:默认从项目根目录读取 `filteredReads.txt`,支持类似 FastQ 格式的序列(示例如下),默认最大单条序列长度支持 5×10⁴,可通过代码修改扩容: ``` @SRR13280199.1 1 length=32 ACGTACACATTGCTGTCTGCTGAACCACCTAG ``` ## 构建与使用指南 ### 环境准备 需安装构建工具及对应依赖: - 推荐使用 C++ 构建工具(如 Visual Studio、Clang、GCC),并确保路径添加至系统 `PATH`; - 若在未安装 Visual Studio 的环境中使用编译后代码,需安装 [VCRuntime](https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022),项目 `dll` 文件夹提供相关依赖。 ### 项目克隆与构建 1. **克隆项目**(含子模块): ```bash git clone --recurse-submodules https://git.zziyu.cn/Zengtudor/DNASequence.git ``` 2. **构建方式**(推荐 CMake,xmake 不再维护): - **CMake 构建**: ```bash cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build --config Release ``` - **xmake 构建(仅历史支持)**: ```bash xmake b -v # 编译(-v 输出详细信息) xmake r # 运行 xmake project -k vsxmake # 生成 Visual Studio 工程文件 ``` ## 技术细节与扩展支持 ### Python 接口(pybind 支持) 编译后生成 `dna.pyd`(动态库)和 `dna.pyi`(类型提示文件),可通过 Python 便捷调用: ```python import dna # 查看帮助 help(dna) # 计算互补链并输出到文件 dna.dna_reverse("filteredReads.txt", "reversedSequence.txt") ``` 核心函数 `dna_reverse` 接收输入/输出文件路径,实现互补链计算与写入。 ### 关键技术配置 - **并行加速**:基于 OpenMP 实现并行化处理,主流 C++ 编译器(VS、Clang、GCC)默认支持,Windows 平台推荐使用 Visual Studio(MSVC)或 Clang,Linux 推荐 GCC,**不建议使用 MinGW**(IO 优化较差)。 - **内存配置**:默认按 4GB 块内存分块处理文件,可通过修改核心函数参数调整: ```cpp // 格式:("输入文件", "输出文件", 处理函数) dna::open_file_and_calculate("input.txt", "output.txt", reverseComplement); ``` ## 性能表现 - **最优环境**:经测试,Windows 平台下使用 Visual Studio 编译时性能最佳。 - **实测数据**:处理 800MB 规模的 `filteredReads.txt` 时: - 分块读取耗时 1031ms,计算互补链耗时 277ms(启用 12 线程并行),写入输出耗时 1169ms,总耗时仅 2479ms。 - 性能分析显示,核心函数 `reverseComplement` 占总计算开销的 73.72%,为优化重点。 ## 前置依赖与注意事项 - 需安装对应 Visual C++ 运行时(VCRuntime),详情见 [微软官方指南](https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170)。 - 项目配置细节(含性能优化、计算精度相关)需参考 `xmake.lua` 文件。 ## 版权说明 - 项目算法版权归原作者所有,不强制遵循开源协议;其他部分使用需遵循开源协议,如需特殊使用可联系咨询。 项目地址:[https://gitcode.com/Zengtudor/DNASequence](https://gitcode.com/Zengtudor/DNASequence)

0
2025-07-25 10:40
下载次数:0
¥1000
TudorLang

TudorLang 是一款 轻量级脚本语言,聚焦以下核心价值: 1. 面向群体与解决的问题 面向谁:熟悉 C++ 语法的开发者(如算法工程师、工具开发人员)。 解决问题:在 简单逻辑开发场景 中(如算法原型验证、小工具脚本),避免搭建复杂 C++ 工程(编译繁琐),同时降低学习全新脚本语言的成本,实现 “即写即运行” 的高效迭代。 2. 对比常规方案的特点 相较于 Python、Lua 等脚本语言,或传统 C++ 开发,TudorLang 有三大差异化优势: 语法 “零壁垒”:变量定义(int a = 1)、语句结构高度贴近 C++,熟悉 C++ 的开发者可 “无缝上手”,无需额外学习新语法体系。 开发效率更高:支持 解释执行(类似脚本语言),修改代码后直接运行,跳过 C++ 编译、链接的繁琐流程,大幅缩短调试周期。 性能适配轻量场景:底层基于 C++ 开发,针对 数值计算、逻辑控制类脚本(而非复杂工程)优化,在轻量场景下保障运行效率,平衡 “开发快” 与 “运行快”。 3. 技术选型与产品组成 核心技术:以 C++ 作为底层开发语言,构建解释执行引擎,保障性能与兼容性。 功能验证:通过最简测试用例(如 tests/main.ztl)展示核心能力:支持变量定义、运算、输出(print 函数),直观体现语言的基础逻辑,便于开发者快速验证、拓展特性。 简言之,TudorLang 致力于让 熟悉 C++ 的开发者,用最顺手的语法,最快实现轻量脚本需求,成为 “C++ 生态内的轻量脚本补充方案”。

0
2025-07-25 10:41
下载次数:0
¥1000
更新于: 1天前 浏览: 6