Julia生物信息分析包推荐

生信工程师经常和各种类型的数据打交道,除了很多软件外,我们还需要自己编写脚本来完成数据的个性化分析任务。常用的语言包括R, Perl以及Python。他们各有优点,但是julia作为后浪一点不输三者,甚至于在某些方面有独特之处。

鉴于目前julia尚处于发展阶段文档不全,包不好找,在这里推荐一些生信相关的包,方便大家寻找。

BioSequences.jl

这是一个生物序列相关的包,提供了用于生物序列(包括DNA,RNA和氨基酸序列)的常见操作的数据类型方法,类型指的是将A/G/C/T/N/U等碱基或者其组合成的文本优化为类似矩阵的数据结构(eg. LongDNAseq),即方便我们才用不同的方法操作(反向互补,切片,计数,突变等等)序列,也提供了更好的性能

FASTX.jl

提供了针对Fasta和Fastq序列文件的IO操作,可以直接将序列存储为BioSequence结构,方面文件交互。

注意: 你或许在用python的时候使用过pyfaidx随机提取基因组序列,虽然FASTX可以做到同样的事情,但是目前来说效率很低

BioAlignments.jl

NGS数据就离不开序列比对,无论是生物进化,序列注释还是Crispr基因编辑计数,都需要对大量序列做序列比对分析,该库提供了非常好用的算法和数据结构,可以执行局部比对或者全局比对,甚至于BWT算法的BAM文件的cigr字符也可以解析,可以在脱离htslib的情况下分析sam文件

GenomicFeatures.jl

经常用bedtools做基因区间分析,不妨来试试这个包,它既有bedtool的速度,又更加的灵活

BED.jl

解析bed文件

GFF3.jl

解析GFF和GTF的基因组注释文件

DataFrames.jl

类似于R的tibble和pandas的dataframe,表格分析的好帮手。转录组或基因芯片表达矩阵的分析的好帮手。单细胞矩阵分析重点参考base中的稀疏矩阵,有大用处

3 个赞

做生信作业结果系里的老师很多都不知道Julia,给他们代码都跑不起来;只能用awk手撸脚本……

julia不像python那样,python你咋写都是那么慢, 但是julia不同的写法却会得到不同的性能,这即是优点,但又可能也是阻挡它流行起来的屏障,因为易学难精,而搞生物的是没有人有大量的时间去研究语法特点的,大部分应该都是拿来用。希望未来的julia能够优化以下warning信息,也就是说写的不符合高性能规范时可以报警告并给出指导,相信那个时候julia将迎来新的飞跃

2 个赞