欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C++使用htslib庫(kù)讀入和寫(xiě)出bam文件的實(shí)例

有時(shí)候我們需要使用C++處理bam文件,比如取出read1或者read2等符合特定條件的序列,根據(jù)cigar值對(duì)序列指定位置的堿基進(jìn)行統(tǒng)計(jì)或者對(duì)序列進(jìn)行處理并輸出等,這時(shí)我們可以使用htslib庫(kù)。htslib可以用來(lái)處理SAM, BAM,CRAM 和VCF文件,是samtools、bcftools的核心庫(kù)。

發(fā)展壯大離不開(kāi)廣大客戶(hù)長(zhǎng)期以來(lái)的信賴(lài)與支持,我們將始終秉承“誠(chéng)信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠(chéng)服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及成都紙箱等,在網(wǎng)站建設(shè)公司、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開(kāi)發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。

#include <stdio.h>
#include <stdlib.h>
#include <htslib/sam.h>

using namespace std; 

#define bam_is_read1(b) (((b)->core.flag&BAM_FREAD1) != 0)

uint8_t Base[16] = {0,65,67,0,71,0,0,0,84,0,0,0,0,0,0,78};

int main(int argc, char **argv)
{
 bam_hdr_t *header;
 bam1_t *aln = bam_init1();

 samFile *in = sam_open(argv[1], "r");
 htsFile *outR1 = hts_open(argv[2], "wb");
 header = sam_hdr_read(in);
 if (sam_hdr_write(outR1, header) < 0) {
 fprintf(stderr, "Error writing output.\n");
 exit(-1);
 }
 uint8_t *seq;
 int32_t lseq;
 uint32_t *cigar;
 char* qname;
 while (sam_read1(in, header, aln) >= 0) {
 if (bam_is_read1(aln)){
  sam_write1(outR1, header, aln);
 }
 else {
  seq = bam_get_seq(aln);
  lseq = aln->core.l_qseq;
  qname = bam_get_qname(aln);
  printf("%s\n",qname);
  cigar = bam_get_cigar(aln);
  for(int i=0; i < aln->core.n_cigar;++i){
  int icigar = cigar[i];
  printf("%d%d\n",bam_cigar_op(icigar),bam_cigar_oplen(icigar));
  }
  for(int i=0; i < lseq;++i){
  printf("%c", Base[bam_seqi(seq, i)]);
  }
  printf("\n");

 }
 }
 sam_close(in);
 sam_close(outR1);
}

cigar值存儲(chǔ)形式

32位int,通過(guò)bam_get_cigar獲得地址,aln->core.n_cigar返回cigar operation的個(gè)數(shù)

•低 4位存儲(chǔ)cigar operation;通過(guò)函數(shù)bam_cigar_op()獲得operation

C++使用htslib庫(kù)讀入和寫(xiě)出bam文件的實(shí)例

•高28位存儲(chǔ)cigar值的長(zhǎng)度;通過(guò)函數(shù),bam_cigar_oplen獲得

seq存儲(chǔ)形式

8位int,4位存儲(chǔ)一個(gè)堿基,1,2,4,8,15分別代表A、C、G、T、N,高四位存儲(chǔ)坐標(biāo)數(shù)較小的堿基,可通過(guò)bam_seqi(seq,i)遍歷。

以上這篇C++使用htslib庫(kù)讀入和寫(xiě)出bam文件的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。

分享名稱(chēng):C++使用htslib庫(kù)讀入和寫(xiě)出bam文件的實(shí)例
文章出自:http://aaarwkj.com/article24/pcojje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司商城網(wǎng)站、自適應(yīng)網(wǎng)站服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
日本熟人妻中文字幕在线| 国产91精品成人在线观看| 亚洲va在线va天堂va在线| 麻豆久久av免费观看| 国产午夜福利视频合集| 欧美精品成人免费在线| 国产中文字幕婷婷丁香| 中文字幕五月婷婷免费| 99久久久国产精品日本久久区一| 美女高潮呻吟免费观看久久久| 国产精品午夜福利亚洲综合网| 91免费福利激情视频| 亚洲av成人三区国产精品| 亚洲天堂欧美天堂淫人天堂| 中国吞精囗交免费视频| 加藤桃香中文字幕在线| 国产伦一区二区三区三州| 亚洲一区二区三区精品乱码 | 一级黄片一区二区三区| 日韩av一区二区在线| 有码精品视频在线观看| 亚洲一区有码在线观看| 国产精品三级电影网| 久久久久久成人综合色| 午夜性色福利视频你懂的| 啊啊舒服爽用力爱我视频| 中文字幕日本精品人妻在线| 国产污视频网站在线观看 | 中文字幕国产精品91| 丰满人妻侵犯中文字幕| 一区三区三区日韩高清不卡| 99精品午夜福利在线| 热精品韩国毛久久久久久| 91在线看片国产免费观看| 欧美性做爰片免费视频网| 午夜福利影片免费观看| 亚洲欧美日韩精品麻豆| 国产欧美日韩亚洲精品区| 加藤桃香中文字幕在线| 日韩国产传媒在线精品| 久久人妻精品一区二区三区|