简介
在我们的应用小程序中,我们是前后端分离的。前端页面只负责渲染,而后端需要处理数据。但是如果遇到数据量很大的情况下,我们处理起来就很缓慢,如果我们想通过AJAX的方法追踪后台数据变化的进度,需要用到轮询的方案,这个是非常消耗资源的。这里我们用VueJS和Fastapi的小例子演示前端传递数据,后台用10秒处理数据并实时反应进度给前台的实现。
上一篇文章我们写了一个Streamlit的程序来全栈的执行我们的任务,但是我们也看到了它的一个缺点:前端界面非异步,UI定制缺乏灵活性。那么,我们接下来尝试采用前后端分离的方式来完成上次的任务。
Python的Scanpy
包和Seurat
包一样,是单细胞数据处理的利器,其中,Scanpy
中有一种堆积的小提琴图,可以很好的展示marker的表达情况,但是在Seurat
中并没有内置命令。因此,我自己尝试提取数据并用ggplot2
包来画该图。
首先来展示以下画图的成果,如图
Bedtools作为基因组研究的 “ 瑞士军刀 ”, 功能强大且易于操作,是生信行业不可多得的好软件。通常对bed区间的注释,我们使用其中“ 求交集 ”的功能(bedtools intersect) ,但是有一个很不方便的地方,我们通常要生成对应的bed文件,再注释完成后还需要用R语言等读入才能继续分析,所以整合度不是很好,本文希望提供R语言的思路来解决该问题。
我们在运行bwa mem比对的时候,由于某些不明的原因会造成程序中断,例如内存超了,IO错误,计算节点崩溃等,然而BAM是否完整很难察觉,最终导致后续流程无法运行。这里,我们通过一段简短的代码来检查BAM文件的完整性,代码如下: