简介
使用过pysam
和samtools
的小伙伴肯定了解 pileup
的操作,如果把BAM文件看作表格的话,那么通常我们是按行去解析它的record,进而获得一些信息,例如比对到哪条染色体,比对的开始位置和结束位置等. 另一种情况下,我们想要按照列去循环解析,得到这个列上的具体信息,典型的就是这个列上比对序列的碱基是什么?比对序列的位置是什么?以及是Match or Mismatch or indel 等。那么,该操作就需要引入pileup
操作了。
Python的Scanpy
包和Seurat
包一样,是单细胞数据处理的利器,其中,Scanpy
中有一种堆积的小提琴图,可以很好的展示marker的表达情况,但是在Seurat
中并没有内置命令。因此,我自己尝试提取数据并用ggplot2
包来画该图。
首先来展示以下画图的成果,如图
Bedtools作为基因组研究的 “ 瑞士军刀 ”, 功能强大且易于操作,是生信行业不可多得的好软件。通常对bed区间的注释,我们使用其中“ 求交集 ”的功能(bedtools intersect) ,但是有一个很不方便的地方,我们通常要生成对应的bed文件,再注释完成后还需要用R语言等读入才能继续分析,所以整合度不是很好,本文希望提供R语言的思路来解决该问题。
我们在运行bwa mem比对的时候,由于某些不明的原因会造成程序中断,例如内存超了,IO错误,计算节点崩溃等,然而BAM是否完整很难察觉,最终导致后续流程无法运行。这里,我们通过一段简短的代码来检查BAM文件的完整性,代码如下:
如题,官方已经提供了一个R的版本createGCcontentFile.R ,但是根据代码就能看出这个版本非常占内存了,首先要把基因组整个序列都load入内存中去,每次计算出的矫正数据也是储存dataframe中。为了降低内存占用,也为了提高计算速度,我写了一个julia版本的。代码如下: