医学之外,我在折腾些什么
写在前面
写这一篇文章的目的是简单总结一下目前在折腾的一些小玩意,也算是一个自我总结吧,但是感觉我的这个“写在前面”会叽里咕噜说一大堆……
我一直很羡慕那些能够通过创造实现某种功能或者便利某种功能的人,像工程师,软件开发者,游戏开发者这些……我认为创造事物是一件特别“酷”的事情。所以我之前在《2024年终总结》里写了下面这句话:
我之所以会写R,建一些与医学毫无关系的网站的一大原因可能就是我不想只是一个“文科生”吧。
所以我大体上喜欢医学,这可能是因为“人”,“故事”与“充实”,也可能是“未来前景”,但又羡慕那些“逻辑至上”的学科的同学,赞叹那些通过双手创造事物的职业,他们拥有着我所没有的“创造能力”。
这几周出于某种需要,开始上手接触一些湿实验相关的项目,跑WB条带(Western Blot(蛋白质印迹))或者养养细胞什么的。在深入了解背后的机制之后,真的很佩服发明WB法以及改良的人,中间每一个步骤都充满了“小巧思”,令人惊叹。
其实作为医学生来说,我所处的环境和周围非同专业的同龄朋友们十分的割裂。有人结婚了,有人买车了,有人工作了,有人创业了,总的来讲,就是都各有“收获”,都有阶段性的“成就”,哪怕没有什么值得一提的所谓“成就”,也都进入了下一阶段。然后看看自己,仿佛困在了医学院里服刑,一眼望不到尽头。
前几周和大鸟聚餐,听闻他与女朋友复合了,大鸟的女朋友是学口腔专业的,今年考研,但是作为一个超级纯种的985理科生,他对于医学相关专业的情况毫无概念,于是我跟他讲述了我专业的种种,讲了我自己的情况。得到的回复是:“你们这TM也太卷了吧?”,这么一对账才发现,外面根本没下雨……
就我自己的“身边统计学”来说,我们专业的80%的同学,截至大四,都拥有至少1篇中文核心以上的文章或者参与1个或多个科研项目的经历,而其中有发表SCI的就有不少了(20%)。前些段时间经常能在网上看见那些本科生发七八篇SCI被痛批“学阀”“少爷小姐”“家里有人”的,但实际上作为同专业同龄人来看,我会真心在想这个人真努力真辛苦啊……(当然,那种二十篇以上的本科生非生信类SCI就有点演都不演了,该骂)。不过生信SCI真的已经与灌水画等号了倒不假,感觉在我们学校随便抓一个学生就是做生信刷文章刷科研经历的。
在我的身边,已经有发了七八篇SCI绩点还名列前茅的神仙了,有的神仙大二就已经写了两份国自然标书了(这不是硕博生才会有的经历吗),还有的神仙已经组建了自己的实验室(简直是超人)……
但是回归本科教育的目的来讲,对于一个本科生,为何争着去要搞这些科研呢,好好学好基础知识就已经很困难了,但是事实就是周围人都在“科研”,不发论文基本就和路边一条无异,考研保研面试都要求有科研经历,没有科研经历只能被调剂嫌弃,堪比应届生要求工作经历10年以上。
所以我对那种迫不得已的“催熟”科研其实挺反感的,但又不得不承认,这些“催熟”科研确实能够培养科研思维,是好处很多的,也能培养科研兴趣,对日后的方向确定与专业路线决定都是有着不小的帮助。但,还是反对。
叽里咕噜说了一堆有的没的,来回归我们这片文章的正题,就是想把我自己这几年折腾的一些东西给陈列一下,因为我自己对写代码还是比较感兴趣的,再加之对于水生信比较抵触,所以当时在生信数据挖掘和制作网页工具之间,我选择了制作网页工具,也就有了下面这些玩意。
“折腾”一词就已经表明了,做的事情是我兴趣使然,而非“身不由己”。也因此,很多“科研”的“项目”并不会放进来,像很多生信的文章和课题组的小差事项目就不会出现在下面了。
OnlineMeta(Meta分析网页工具)
地址:https://smuonco.shinyapps.io/Onlinemeta/
DOI:https://doi.org/10.1016/j.craph.2025.100023.

这是我上手做的第一个网页工具,也是目前为止最花费心思的网页工具,之前在《Onlinemeta v1.1介绍》中就已经对这个工具做了很详细的介绍了,所以在此不过多赘述,只是讲讲开发感想。
Meta分析其实近些年来也和灌水画等号了,不过我认为Meta分析的目的是极好的,作为循证医学的最高证据,能够直接指导临床用药与药物可靠性研究,也能做出高度有效的相关性与结论性判断。
收获最大的是,通过开发这一个工具,基本对所有类型的meta分析都有了学习,因为只有了解背后的逻辑,了解每一种meta分析的产生过程,才能做出可以直接使用的网页工具;除此之外,从2023年至今3年的开发历程中,会遇到全球用户不同的反馈问题,在解决疑问与debug的过程中,也对Meta分析的理解更加深刻。
到现在,我可以自豪的说,对于Meta分析,我已经基本掌握了。

作为一个科研类型的shiny工具网页,能够实现年均10000+长时访问量感觉还是很不错的,并且真的在收到全球用户的真实反馈与引用。
好的工具在于不断的优化,让用户爽到,从一开始只有简单的作图功能到现如今可以实现中日英三语转换,将项目进行下去远比将项目完成想象中要困难的多。
不过依然能想起收到海外第一封反馈邮件的兴奋,那是来自摩洛哥默罕默德五世大学的一位教授,给我们提供了小建议:
thank you very much for this fantastic application. I have 2 suggestions:
-in the meta-analysis of the propositions, would it be possible to change the commas for example instead of 0.23 to have 23% on the forest plot.
- in the network meta-analysis, would it be possible to add the possibility of treating, in addition to continuous and binary variables, effects such as the hazard ratio which is often reported in many
studies in oncology for example.thank you once again.
嗯……这个建议到现在都没有实现……
除此之外还有一位来自荷兰乌特勒支大学的统计学教授,从工具诞生伊始就时刻关注,每一次更新都能得到他的反馈,实在令我感到“压力山大”,教授说,现在他都使用Onlinemeta作为乌特勒支大学Meta分析的教学软件……也得益于他的推广,我们在欧洲地区也有了不少使用者。
SSEA: Sample Size Estimation Assistant(样本量计算助手)



地址:https://smuonco.shinyapps.io/SSEA/
在Onlinemeta V1.1版本之后,便搭建了新的网页工具SSEA,相比起Meta分析,样本量计算显得比较简单和粗糙,但依旧充满了我的心血。总和32种情形的样本量计算,虽然比起PASS逊色很多,但是免费免费免费免费供全球用户使用。
样本量计算其实算是一个很容易被忽视的点,许多临床研究甚至都不会将样本量计算放到自己的实验数据当中,往往是有多少用多少,从而很容易导致实验结果的不可靠,但是其实对于大多数期刊编辑来说,这也不是一个会单独揪出来的点,更多是“差不多得了”的态度。
而现有的样本量计算工具除了PASS与G*Power以外基本没有可以选择的余地,如果使用R的话学习成本又太高,也就导致了大家普遍对于样本量计算都是一种可有可无的感觉。这也是SSEA产生的原因
并且在AI与互联网的辅助下,可能性就变得很大很大了,希望在未来也能和Onlinemeta取得一样的成绩吧!
ESP: EasyStatsPlots(数据分析与可视化网页工具)



在Onlinemeta和SSEA之后,便搭建了新的网页工具ESP,这也是我觉得前景会很好的一个工具,目前基本已经完成了全部内容,但还在测试阶段。
这个工具其实覆盖的面特别广,基本涵盖了临床研究会用到的所有基础统计方法与数据分析。有描述性统计、定性资料分析、定量资料分析、相关性分析、一只新检验、生存数据与回归分析等常用的分析与可视化功能。
可以说,我将能想到的数据分析功能,都容纳了进去……
不同于前两个工具Onlinemeta和SSEA,ESP的定位其实和市面上很多平台相似,像仙桃学术和小丫画图等,他们做的说实话都比我要精美很多,后台也更加丰富有根基。做这个工具的时候常常陷入到一种自我怀疑的状态,就是我为什么要做这个,明明已经有很多相似的平台。但是自己实际用起来又是另外一回事,还是不够简单,对用户还是不太友好,还是有门槛。
那么我做的这些就有了存在的必要,至少对我自己来讲,我能够像Onlinemeta一样,通过这样的方式去深刻理解数据分析之后的东西,而非临床常用的“傻瓜统计学”。
当然,最主要是,创造与折腾,这本身很酷😎。
其他的一些趣味APP
在某种机缘巧合之下,我接触到了Flutter,从此发现了一片新大陆!
得益于AI能力的日益提升,学习技能的时间成本大幅降低,自下而上的实践学习法变得越来越有可行性,因此能够让很多想法得以落实,在粗浅学习过flutter与dart之后,便可以直接上手做app了。
下面这些东西仅仅起到一个图一乐的作用,甚至连软件专业的课后小作业都比不上,轻喷。
吃什么APP——拒绝平台推荐,拒绝大数据茧房,让吃回归本命!
有无数次,面对早已被精准推流的美团外卖和淘宝闪购,都产生出一种吃饭只是吃饭的无力感。长时间大数据推荐所造成的,是对食物愈发寡淡的欲望。尤其是在一上午的早班之后以及不知所措的下午之后,“吃什么”已然成为了困扰我的最大问题。
因此,为了逃离平台推荐,拒绝大数据茧房,让吃回归本命,我开发了下面这一款app——吃什么APP。它能够根据时间心情以及个人属性(其实完全没什么根据),通过精妙的算法(其实没有),算出用户此时此刻的天命食物,从而让食物能够真正畅通无阻的进入你的视野。
下面是一些界面的展示:


麻将统计王APP(Mahjong scorer)——宿舍四人麻将打牌风格一目了然,对症下药,有效反制!
你还在为打麻将没有战斗记录,没有击杀记录,没有个人生涯记录,无法向他人展示而感到遗憾吗?你还在为无法分析明明同寝室但是完全摸不透打牌风格的舍友而感到懊恼吗?
Mahjong Scorer就是在这种情境下产生的,通过简单的单局结算,通过长时间的积累,能够将对手的打牌风格一目了然。软件未来还将接入大语言模型,深刻分析你上家下家对家仇家的出牌趋势,助你在赢三家剁手的路上越走越远!
除此之外,未来还将实现智能计分,自定义麻将,出牌推荐,反制方法,多种地区麻将的模式,让软件走进千家万户,让科学麻将变得更有可能!




最后
或许,在未来医疗行业暴死的某一天,我会用这些小东西来苟活吧。
3 条评论
大佬!结合自己的生活和场景做产品真的好棒!
加油,无限进步!
加油,冲冲冲!