XAM 包处理 sam 和 bam 文件
测试开头




测试结尾

没关注?伸出手指点这里—


1引言
前面有提起过这个包,今天就介绍一下这个 XAM package, python 有 pysam, R 语言有 Rsamtools, Julia 则有 XAM。
2安装
打开 Julia 终端,输入 ] 符号进入安装包模式,输入 add XAM
进行安装。
3使用
读取 bam/sam 文件
using XAM
# Open a BAM file.
reader = open(BAM.Reader, "data.bam")
# Open a SAM file.
reader = open(SAM.Reader, "data.sam")
迭代操作:
# Iterate over BAM records.
for record in reader
# `record` is a BAM.Record object.
# 过滤比对上的
if BAM.ismapped(record)
# 打印比对的参考染色体名称及比对的位置.
println(BAM.refname(record), ':', BAM.position(record))
end
end
# Close the BAM file.
close(reader)
BAM/SAM 文件一般很大,提供一个预先分配的对象来加速数据分析:
reader = open(BAM.Reader, "data.bam")
record = BAM.Record()
while !eof(reader)
empty!(record)
read!(reader, record)
# do something
end
bam/sam 相关的类型
# sam
XAM.SAM.flag
XAM.SAM.ismapped
XAM.SAM.isprimary
XAM.SAM.refname
XAM.SAM.position
XAM.SAM.rightposition
XAM.SAM.isnextmapped
XAM.SAM.nextrefname
XAM.SAM.nextposition
XAM.SAM.mappingquality
XAM.SAM.cigar
XAM.SAM.alignment
XAM.SAM.alignlength
XAM.SAM.tempname
XAM.SAM.templength
XAM.SAM.sequence
XAM.SAM.seqlength
XAM.SAM.quality
XAM.SAM.auxdata
# bam
XAM.BAM.flag
XAM.BAM.ismapped
XAM.BAM.isprimary
XAM.BAM.refid
XAM.BAM.refname
XAM.BAM.reflen
XAM.BAM.position
XAM.BAM.rightposition
XAM.BAM.isnextmapped
XAM.BAM.nextrefid
XAM.BAM.nextrefname
XAM.BAM.nextposition
XAM.BAM.mappingquality
XAM.BAM.cigar
XAM.BAM.alignment
XAM.BAM.alignlength
XAM.BAM.tempname
XAM.BAM.templength
XAM.BAM.sequence
XAM.BAM.seqlength
XAM.BAM.quality
XAM.BAM.auxdata
4结尾
更多使用文档见链接:
https://github.com/BioJulia/XAM.jl/blob/develop/docs/src/man/hts-files.md

欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群
哦,数据代码已上传至QQ群,欢迎加入下载。
群二维码:
老俊俊微信:
知识星球:
所以今天你学习了吗?
今天的分享就到这里了,敬请期待下一篇!
最后欢迎大家分享转发,您的点赞是对我的鼓励和肯定!
如果觉得对您帮助很大,赏杯快乐水喝喝吧!
往期回顾
◀...
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!