生信工程师经常和各种类型的数据打交道,除了很多软件外,我们还需要自己编写脚本来完成数据的个性化分析任务。常用的语言包括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中的稀疏矩阵,有大用处。