Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • student-t
    replied
    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);

    Leave a comment:


  • lindenb
    replied
    cross posted: http://stackoverflow.com/questions/2...lar-expression

    Leave a comment:


  • dpryan
    replied
    If you're using C/C++ already, then just use htslib. The functions for this have already been written (afterall, it's what samtools uses) and the API is generally convenient.

    Leave a comment:


  • Brian Bushnell
    replied
    Originally posted by tedwong View Post
    What'd be the best way to parse a CIGAR string fully according to the specification in C/C++? Would regular expression work?
    No. Unless you simply want to detect the presence of some operation, the best way is with a custom loop.

    Here's an example in Java that can easily be translated to C++:

    Discussion of next-gen sequencing related bioinformatics: resources, algorithms, open source efforts, etc

    Leave a comment:


  • tedwong
    started a topic Parse CIGAR string in C/C++

    Parse CIGAR string in C/C++

    What'd be the best way to parse a CIGAR string fully according to the specification in C/C++? Would regular expression work?

Latest Articles

Collapse

  • seqadmin
    Non-Coding RNA Research and Technologies
    by seqadmin




    Non-coding RNAs (ncRNAs) do not code for proteins but play important roles in numerous cellular processes including gene silencing, developmental pathways, and more. There are numerous types including microRNA (miRNA), long ncRNA (lncRNA), circular RNA (circRNA), and more. In this article, we discuss innovative ncRNA research and explore recent technological advancements that improve the study of ncRNAs.

    Nobel Prize for MicroRNA Discovery
    This week,...
    10-07-2024, 08:07 AM
  • seqadmin
    Recent Developments in Metagenomics
    by seqadmin





    Metagenomics has improved the way researchers study microorganisms across diverse environments. Historically, studying microorganisms relied on culturing them in the lab, a method that limits the investigation of many species since most are unculturable1. Metagenomics overcomes these issues by allowing the study of microorganisms regardless of their ability to be cultured or the environments they inhabit. Over time, the field has evolved, especially with the advent...
    09-23-2024, 06:35 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by seqadmin, Yesterday, 02:44 PM
0 responses
7 views
0 likes
Last Post seqadmin  
Started by seqadmin, 10-11-2024, 06:55 AM
0 responses
14 views
0 likes
Last Post seqadmin  
Started by seqadmin, 10-02-2024, 04:51 AM
0 responses
110 views
0 likes
Last Post seqadmin  
Started by seqadmin, 10-01-2024, 07:10 AM
0 responses
117 views
0 likes
Last Post seqadmin  
Working...
X