What'd be the best way to parse a CIGAR string fully according to the specification in C/C++? Would regular expression work?
Unconfigured Ad
Collapse
X
-
No. Unless you simply want to detect the presence of some operation, the best way is with a custom loop.Originally posted by tedwong View PostWhat'd be the best way to parse a CIGAR string fully according to the specification in C/C++? Would regular expression work?
Here's an example in Java that can easily be translated to C++:
-
-
For reference (using the htslib library)
#include <htslib/sam.h>
auto f = sam_open(file.c_str(), "r");
auto h = sam_hdr_read(f);
auto t = bam_init1();
while (sam_read1(f, h, t) >= 0)
{
auto id = std::string(h->target_name[0]);
auto mapped = !(t->core.flag & BAM_FUNMAP);
const auto cigar = bam_get_cigar(t);
for (int k = 0; k < t->core.n_cigar; k++)
{
const int op = bam_cigar_op(cigar[k]);
const int ol = bam_cigar_oplen(cigar[k]);
if (op == BAM_CMATCH || op == BAM_CINS || op == BAM_CDEL)
{
// your code, you have the length in ol (eg: 101M -> ol == 101)
}
}
}
sam_close(f);
Comment
Latest Articles
Collapse
-
by SEQadmin2
Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.
We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing...-
Channel: Articles
-
ad_right_rmr
Collapse
News
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by SEQadmin2, 09-29-2026, 09:51 AM
|
0 responses
43 views
0 reactions
|
Last Post
by SEQadmin2
09-29-2026, 09:51 AM
|
||
|
Started by SEQadmin2, 09-25-2026, 09:06 AM
|
0 responses
50 views
0 reactions
|
Last Post
by SEQadmin2
09-25-2026, 09:06 AM
|
||
|
Started by SEQadmin2, 09-23-2026, 11:05 AM
|
0 responses
41 views
0 reactions
|
Last Post
by SEQadmin2
09-23-2026, 11:05 AM
|
||
|
Started by SEQadmin2, 09-18-2026, 11:37 AM
|
1 response
51 views
0 reactions
|
Last Post
by pekgio
09-21-2026, 02:04 AM
|
Comment