Why Subscribe?✅ Curated by Tommy Tang, a Director of Bioinformatics with 100K+ followers across LinkedIn, X, and YouTube✅ No fluff—just deep insights and working code examples✅ Trusted by grad students, postdocs, and biotech professionals✅ 100% free
|
Hello Bioiinformatics lovers, Tommy here. Summer is almost over. I hope you take the time to relax and learn new things. I am using it daily for my bioinformatics analysis, and it can trip you over if you are not careful. Claude Code built me a metacell analysis last week. I started with 12,000 cells. When it finished, the matrix still had 12,000 cells. That number told me everything. (You still need to read the code and output carefully to find things off) Metacells exist to fight sparsity in scRNA-seq. You group transcriptionally similar cells through a kNN graph and collapse each group into one representative cell. Start with 12,000 cells at a graining level of 30 and you should land near 400 metacells. Fewer rows, denser counts, cleaner downstream analysis. Claude Code wrote its own implementation from scratch and smoothed the original matrix instead. Every cell kept its own row. The code ran without a single error. The science was wrong. I told it to stop reinventing the method and use SuperCell, a package built and validated for exactly this job. One prompt fixed it. The code had never been broken. The approach was. The next task went the same way. I asked it to score a gene signature across my cells. It took the gene list and averaged expression. Clean, simple, and not what anyone in the field does. Seurat's AddModuleScore() subtracts the average of control genes drawn from matching expression bins, so a signature full of abundant genes cannot score high by abundance alone. AUCell ranks every gene within each cell and asks whether your signature sits near the top of that ranking. Both methods exist because naive averaging gets hijacked by highly expressed genes that have nothing to do with your biology. I caught both mistakes because I have done single-cell analysis for eight years. The model is not weak. I run a frontier Opus model and it writes clean, working code every time. Working code and correct biology are two different things. Neither mistake threw an error. Both would have landed in a figure if I had not checked the cell counts and known which scoring methods the field trusts. Protip to fix it: add the following to the CLAUDE.md file in the project: "whenever possible use well-tested packages to solve the problem. Do not te-invent the wheels" I still ended up on a call with the scientists who generated the data, the same call I would have needed without AI in the loop. Nobody automates that conversation. The real judgment calls live there. Three habits from this month:
Claude Code will not replace a bioinformatician. It makes me faster at the parts I already know how to check, and it makes eight years of experience worth more, not less. Where has AI-written code passed every test and still failed the biology for you? Hit reply. I read every one. Happy Learing! Tommy aka crazyhottommy PS: If you want to learn Bioinformatics, there are four ways that I can help:
Stay awesome! |
Why Subscribe?✅ Curated by Tommy Tang, a Director of Bioinformatics with 100K+ followers across LinkedIn, X, and YouTube✅ No fluff—just deep insights and working code examples✅ Trusted by grad students, postdocs, and biotech professionals✅ 100% free