# \[ANN\] BioJulia: CIGARStrings.jl

**URL:** <https://discourse.julialang.org/t/ann-biojulia-cigarstrings-jl/130112>\
**Category:** Package Announcements\
**Created:** [June 22, 2025, 3:02pm UTC](https://discourse.julialang.org/t/ann-biojulia-cigarstrings-jl/130112 "2025-06-22T15:02:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jakobnissen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jakobnissen/32/13477_2.png) [@jakobnissen](https://discourse.julialang.org/u/jakobnissen)\
**Post date:** [June 22, 2025, 3:02pm UTC](https://discourse.julialang.org/t/ann-biojulia-cigarstrings-jl/130112/1 "2025-06-22T15:02:16Z")

</div>

I’m pleased to announce the latest BioJulia package: [CIGARStrings.jl](https://github.com/BioJulia/CIGARStrings.jl).  
This is a small package used to parse Concise Idiosyncratic Gapped Alignment Reports, or, CIGAR strings, for short. CIGARs are a notation for writing a pairwise alignment, and are used in the SAM, GFA and PAF formats.

BioAlignments.jl already contains [a CIGAR parser](https://github.com/BioJulia/BioAlignments.jl/blob/0f3cc5e1ac8b34fdde23cb3dca7afb9eb480322f/src/alignment.jl#L52-L98), but the one in CIGARStrings.jl may be preferable for several reasons:

- The CIGAR isn’t heap allocated, but is a view into memory, and can therefore be constructed from a view into the same buffer used to parse the file containing the CIGAR. This package is generally faster
- The CIGARStrings.jl package is better documented (I think)
- The package has recoverable errors which is useful for parsing.

I’ve [just registered the package](https://github.com/JuliaRegistries/General/pull/133439), but since this package is nascent, based on feedback, I’m okay with releasing a breaking version 0.2 soon after release.
