文章目录
1. 引言
各位读者朋友好,新年期间都在忙着走亲串户。这两天才有时间对最近热门的AI模型——Deepseek做一个体验测试。毕竟号称自家R1模型对标GPT-O1性能、让英伟达股价断崖式下跌的团队,咱们肯定也要试试。昨天在直播过程中,已经简单地和chatgpt做了一个横向比对,做了一些梳理。在写这篇文章时,我又对一些细节进行了查询和补充,尽可能将结果真实,客观的进行呈现。
先说结论,就目前网页版展示的对话而言,DeepSeek-v3的性能目前还无法与Chatgpt-4o对齐。具体在哪些地方有欠缺,请看下面的详细测评。
2. 工具与方法
版本介绍:
DeepSeek-v3
Chatgpt-4o
我选择的是两个工具的网页对话模型,deepseek注册后可以在官方网站直接点击开始对话进入对话模式
Chatgpt则是用google邮箱登陆后,免费用户可以限制访问gpt-4o版本。因为考虑到限制访问后面可能会被切换为gpt3.5,因此提示内容我只选择了一条关于单细胞转录组的问题。
提示内容:
请详细介绍单细胞转录组的生物信息分析流程和工具代码
3. DeepSeek-V3与ChatGPT-4O详细评测
3.1 知识准确性
在评测中,我们对两款模型在生信知识的准确性方面进行了比较。首先对于单细胞数据的格式而言,gpt-4o可以准确说明单细胞转录组的数据存储在特定格式的文件中,给出.h5
,.mtx
等格式。
通常单细胞转录组的数据存储在特定格式的文件中,如 10x Genomics 的 cellranger 输出文件(如 .h5 或 .mtx 格式)。可以使用 Scanpy 或 Seurat 等工具来加载这些数据。
import scanpy as sc
# 读取 10x Genomics 数据
adata = sc.read_10x_mtx('data_directory/', var_names='gene_symbols', cache=True)
相比之下,DeepSeek-v3给出了fastq格式,并按照二代转录组分析流程使用fastqc对fastq格式的原始数据进行质控。
### 1. 数据预处理
#### 1.1 数据质量控制
- **工具**:FastQC、MultiQC
- **代码示例**:
fastqc -o output_dir input.fastq.gz
multiqc output_dir/
倾向于生成通用的答案,某些情况下缺乏生物领域的深度和细节。
此外,从整体的单细胞转录组分析流程来看,gpt4o确实理解并学习了相关知识和流程,通过特定的数据集进行训练,能够准确反馈单细胞转录组中的稀有细胞类型注释以及可选的单细胞轨迹分析。
5. 细胞类型注释
细胞类型注释通常基于已知的marker基因。你可以根据已知的基因表达模式来进行注释。
# 根据marker基因进行细胞类型注释
marker_genes = ['CD3D', 'MS4A1', 'CD14', 'NCAM1']
sc.pl.violin(adata, marker_genes, groupby='louvain')
6. 单细胞轨迹分析(可选)
单细胞轨迹分析用于研究细胞命运转化或分化过程。常用的工具有 monocle 或 slingshot。
# 使用Scanpy进行轨迹分析(需要进行PCA、邻接图计算等)
import scanpy as sc
from sklearn.decomposition import PCA
import numpy as np
# 轨迹分析代码框架
sc.tl.dpt(adata) # DPT(Diffusion Pseudotime)分析
sc.pl.dpt_groups_pseudotime(adata)
而deepseek-v3在差异分析后给出了功能富集分析,使用clusterprofiler进行go,kegg功能注释。尽管单细胞流程中有这部分分析,但更像是普通转录组中的分析流程,而没有把单细胞转录组特有的分析流程进行展示。
考虑到Deepseek-V3对二代转录组与单细胞转录组分析的混用,其准确性略逊gpt4o一筹。
3.2 数据处理与分析
在单细胞转录组分析的应用中,DeepSeek-v3将普通转录组和单细胞转录组分析进行了混合,因此数据处理上显得非常割裂,如流程开始的质控和比对与后面差异分析,功能富集分析都是按照普通转录组流程进行处理与分析。
#### 1.2 数据比对
- **工具**:STAR、HISAT2、Cell Ranger
- **代码示例**(STAR):
STAR --genomeDir /path/to/genome \
--readFilesIn input.fastq.gz \
--outFileNamePrefix output_prefix \
--runThreadN 8
……
……
……
#### 7.1 GO分析
- **工具**:clusterProfiler
- **代码示例**(R):
library(clusterProfiler)
ego <- enrichGO(gene = markers$gene, OrgDb = org.Hs.eg.db, keyType = "SYMBOL", ont = "BP")
dotplot(ego)
#### 7.2 KEGG分析
- **工具**:clusterProfiler
- **代码示例**(R):
kk <- enrichKEGG(gene = markers$gene, organism = "hsa", keyType = "kegg")
dotplot(kk)
ChatGPT-4o就显得更加专业和高效。尽管他没有使用Seurat,模型选择的是python包Scanpy进行分析处理,但它整个分析流程是比较完整的,可以完全基于py包完成单细胞的分析工作。并且还提供了可选分析
因此,ChatGPT-4O不仅在知识准确性上表现出色,而且它对于数据处理和分析也有显著优势。
5. 细胞类型注释
细胞类型注释通常基于已知的marker基因。你可以根据已知的基因表达模式来进行注释。
# 根据marker基因进行细胞类型注释
marker_genes = ['CD3D', 'MS4A1', 'CD14', 'NCAM1']
sc.pl.violin(adata, marker_genes, groupby='louvain')
6. 单细胞轨迹分析(可选)
单细胞轨迹分析用于研究细胞命运转化或分化过程。常用的工具有 monocle 或 slingshot。
# 使用Scanpy进行轨迹分析(需要进行PCA、邻接图计算等)
import scanpy as sc
from sklearn.decomposition import PCA
import numpy as np
# 轨迹分析代码框架
sc.tl.dpt(adata) # DPT(Diffusion Pseudotime)分析
sc.pl.dpt_groups_pseudotime(adata)
3.3 可用性与用户体验
在可用性方面,DeepSeek-v3响应时间快,1s快速响应;而gpt-4o则等待了40s以上才回复答案,这可能是梯子限制了流量,但是使用体验上无疑是国内模型更具优势。
此外,我还对两个模型的回复进行了字数统计。包括格式符号在内,v3回复字数为927字,gpt-4o回复了1125字。另外,v3有超过200字是用R markdown写的一个解读报告,这也说明v3模型回答的准确性不足。
4. 总结与展望
总体而言,DeepSeek-v3在综合表现上略逊一筹。但考虑到毕竟不是R1和O1的评测,并且极大的降低了模型训练的成本,。只是对于学习生信知识,查询生信技巧的新手而言,大模型的知识储备确实非常重要。说到底,他也就是个高级一点的搜索引擎,但是回复的准确性如何,仍然需要我们自己去判断。因此,个人认为,打造适合自己的个性化知识库体系才是未来的趋势。在写这篇文章的时,我已经在本地部署了deepseek的简易版本,后面会试着搭建一下本地知识库,方便个人使用,等熟悉了整个流程,也会给大家进行分享。
🌟 非常感谢您抽出宝贵的时间阅读我的文章。如果您觉得这篇文章对您有所帮助,或者激发了您对生物信息学的兴趣,我诚挚地邀请您:
👍 点赞这篇文章,让更多人看到我们共同的热爱和追求。
🔔 关注我的账号,不错过每一次知识的分享和探索的旅程。
📢 您的每一个点赞和关注都是对我最大的支持和鼓励,也是推动我继续创作优质内容的动力。
📚 我承诺,将持续为您带来深度与广度兼具的生物信息学内容,让我们一起在知识的海洋中遨游,发现更多未知的奇迹。
💌 如果您有任何问题或想要进一步交流,欢迎在评论区留言,我会尽快回复您。
🌐 点击下方的微信名片,获取本书资料,加入交流群,与志同道合的朋友们一起探讨、学习和成长。