Convert aligned sequences to corresponding Compact Idiosyncratic Gapped Alignment Report (CIGAR) format strings
[Cigars,Starts] = align2cigar(Alignment,Ref) converts aligned sequences represented in Alignment, a cell array of aligned strings or a character array, into Cigars, a cell array of corresponding CIGAR strings, using the reference sequence specified by Ref, a string. It also returns Starts, a vector of integers indicating the start position of each aligned sequence with respect to the ungapped reference sequence.
Cell array of aligned sequence strings or a character array representing aligned sequences. Soft clippings are assumed to be represented by lowercase letters in the aligned sequences. Skipped positions are assumed to be represented by . in the aligned sequences.
String specifying an aligned reference sequence. The length of Ref must equal the number of columns in Alignment.
Cell array of CIGAR strings corresponding to each aligned sequence in Alignment.
Vector of integers indicating the start position of each aligned sequence with respect to the ungapped reference sequence.
Create a cell array of aligned strings, create a string specifying a reference sequence, and then convert the alignment to CIGAR strings:
aln = ['ACG-ATGC'; 'ACGT-TGC'; ' GTAT-C']
aln = ACG-ATGC ACGT-TGC GTAT-C
ref = 'ACGTATGC'; [cigar, start] = align2cigar(aln, ref)
cigar = '3M1D4M' '4M1D3M' '4M1D1M' start = 1 1 3
 Li, H., Handsaker, B., Wysoker, A., Fennell, T., Ruan, J., Homer, N., Marth, G., Goncalo, A., and Durbin, R. (2009). The Sequence Alignment/Map format and SAMtools. Bioinformatics 25, 16, 2078–2079.