资源简介
bwa算法,经过bwa算法执行后会得到sam文件,sam文件用于之后的gatk工作

代码片段和文件信息
#include
#include
#include
#include
#include
#include “bamlite.h“
#ifdef USE_MALLOC_WRAPPERS
# include “malloc_wrap.h“
#endif
/*********************
* from bam_endian.c *
*********************/
static inline int bam_is_big_endian()
{
long one= 1;
return !(*((char *)(&one)));
}
static inline uint16_t bam_swap_endian_2(uint16_t v)
{
return (uint16_t)(((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8));
}
static inline void *bam_swap_endian_2p(void *x)
{
*(uint16_t*)x = bam_swap_endian_2(*(uint16_t*)x);
return x;
}
static inline uint32_t bam_swap_endian_4(uint32_t v)
{
v = ((v & 0x0000FFFFU) << 16) | (v >> 16);
return ((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8);
}
static inline void *bam_swap_endian_4p(void *x)
{
*(uint32_t*)x = bam_swap_endian_4(*(uint32_t*)x);
return x;
}
static inline uint64_t bam_swap_endian_8(uint64_t v)
{
v = ((v & 0x00000000FFFFFFFFLLU) << 32) | (v >> 32);
v = ((v & 0x0000FFFF0000FFFFLLU) << 16) | ((v & 0xFFFF0000FFFF0000LLU) >> 16);
return ((v & 0x00FF00FF00FF00FFLLU) << 8) | ((v & 0xFF00FF00FF00FF00LLU) >> 8);
}
static inline void *bam_swap_endian_8p(void *x)
{
*(uint64_t*)x = bam_swap_endian_8(*(uint64_t*)x);
return x;
}
/**************
* from bam.c *
**************/
int bam_is_be;
bam_header_t *bam_header_init()
{
bam_is_be = bam_is_big_endian();
return (bam_header_t*)calloc(1 sizeof(bam_header_t));
}
void bam_header_destroy(bam_header_t *header)
{
int32_t i;
if (header == 0) return;
if (header->target_name) {
for (i = 0; i < header->n_targets; ++i)
if (header->target_name[i]) free(header->target_name[i]);
if (header->target_len) free(header->target_len);
free(header->target_name);
}
if (header->text) free(header->text);
free(header);
}
bam_header_t *bam_header_read(bamFile fp)
{
bam_header_t *header;
char buf[4];
int magic_len;
int32_t i = 1 name_len;
// read “BAM1“
magic_len = bam_read(fp buf 4);
if (magic_len != 4 || strncmp(buf “BAM\001“ 4) != 0) {
fprintf(stderr “[bam_header_read] invalid BAM binary header (this is not a BAM file).\n“);
return NULL;
}
header = bam_header_init();
// read plain text and the number of reference sequences
if (bam_read(fp &header->l_text 4) != 4) goto fail;
if (bam_is_be) bam_swap_endian_4p(&header->l_text);
header->text = (char*)calloc(header->l_text + 1 1);
if (bam_read(fp header->text header->l_text) != header->l_text) goto fail;
if (bam_read(fp &header->n_targets 4) != 4) goto fail;
if (bam_is_be) bam_swap_endian_4p(&header->n_targets);
// read reference sequence names and lengths
header->target_name = (char**)calloc(header->n_targets sizeof(char*));
header->target_len = (uint32_t*)calloc(header->n_targets 4);
for (i = 0; i != header->n_targets; ++i) {
if (bam_read(fp &name_len 4) != 4) goto fail;
if (bam_is_be) bam_swap_endian_4p(&name_len);
header->target_name[i] = (char*)calloc(name_len 1);
if (bam_read(fp header->target_name[
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 55 2016-05-31 23:02 bwa-master\bwa-master\.gitignore
....... 53 2016-05-31 23:02 bwa-master\bwa-master\.travis.yml
....... 6098 2016-05-31 23:02 bwa-master\bwa-master\bamlite.c
....... 3124 2016-05-31 23:02 bwa-master\bwa-master\bamlite.h
....... 13778 2016-05-31 23:02 bwa-master\bwa-master\bntseq.c
....... 2775 2016-05-31 23:02 bwa-master\bwa-master\bntseq.h
....... 26165 2016-05-31 23:02 bwa-master\bwa-master\bwa.1
....... 13684 2016-05-31 23:02 bwa-master\bwa-master\bwa.c
....... 2044 2016-05-31 23:02 bwa-master\bwa-master\bwa.h
....... 17977 2016-05-31 23:02 bwa-master\bwa-master\bwakit\bwa-postalt.js
....... 5953 2016-05-31 23:02 bwa-master\bwa-master\bwakit\README.md
....... 6604 2016-05-31 23:02 bwa-master\bwa-master\bwakit\run-bwamem
....... 1731 2016-05-31 23:02 bwa-master\bwa-master\bwakit\run-gen-ref
....... 411 2016-05-31 23:02 bwa-master\bwa-master\bwakit\run-HLA
....... 1681 2016-05-31 23:02 bwa-master\bwa-master\bwakit\typeHLA-selctg.js
....... 16856 2016-05-31 23:02 bwa-master\bwa-master\bwakit\typeHLA.js
....... 1521 2016-05-31 23:02 bwa-master\bwa-master\bwakit\typeHLA.sh
....... 47544 2016-05-31 23:02 bwa-master\bwa-master\bwamem.c
....... 7958 2016-05-31 23:02 bwa-master\bwa-master\bwamem.h
....... 4428 2016-05-31 23:02 bwa-master\bwa-master\bwamem_extra.c
....... 17361 2016-05-31 23:02 bwa-master\bwa-master\bwamem_pair.c
....... 29383 2016-05-31 23:02 bwa-master\bwa-master\bwape.c
....... 19552 2016-05-31 23:02 bwa-master\bwa-master\bwase.c
....... 1033 2016-05-31 23:02 bwa-master\bwa-master\bwase.h
....... 6868 2016-05-31 23:02 bwa-master\bwa-master\bwaseqio.c
....... 5816 2016-05-31 23:02 bwa-master\bwa-master\bwashm.c
....... 15342 2016-05-31 23:02 bwa-master\bwa-master\bwt.c
....... 4966 2016-05-31 23:02 bwa-master\bwa-master\bwt.h
....... 11004 2016-05-31 23:02 bwa-master\bwa-master\bwtaln.c
....... 3833 2016-05-31 23:02 bwa-master\bwa-master\bwtaln.h
............此处省略53个文件信息
相关资源
- 斜带石斑鱼TLR22基因的克隆和鉴定
- 基于比较基因组学的玉米ESTs定位方法
- 三重SCoT引物在表征某些埃及大麦基因
- 氟哌啶醇对新西兰兔心室肌细胞膜钠
- 基于高分子谷蛋白基因的中国节节麦
- ACE2基因多态性与糖尿病肾病的关系
- FOXP3基因多态性与原发性肝细胞癌的关
- IL-13基因microRNA靶序列单核苷酸多态性
- 乙醇代谢酶基因多态性对酒精性肝硬
- TLR4基因多态性与军团菌感染易感性的
- FABP2基因54位点多态性与结直肠癌易感
- 宝德高性能计算机揭开大熊猫基因秘
- 多基因融合小电流接地故障选线方法
- 家蚕胺类受体膜蛋白基因表达及重组
- 猪S100A8、S100A9基因组织表达分布及真
- FGFR2基因稳定表达细胞模型的建立
- BSMV-VIGS技术在小麦抗赤霉病基因鉴定
- 病毒诱导的基因沉默载体及其在植物
- 超级稻“培矮64S/93-11”染色体片
- 基于拉格朗日松弛与基因算法的机组
- 基于MHCⅡ类B基因的凹耳臭蛙遗传多样
- 多浪羊MHC-DRB1基因多态性与包虫病抗性
- 基因免疫法制备鲤鱼MHC-Ⅱβ多克隆
- 中国美利奴羊MHC-DRB1基因PCR-RFLP多态性
- 中国美利奴新疆军垦型羊MHC-DQB基因遗
- 高通量实时荧光定量PCR方法筛选FL细胞
- 地黄饮子对转基因果蝇AD模型mTOR信号
- STEAP4基因铁还原酶活性在昆虫杆状病
- Cdk5、p35和p53基因在砷诱导的神经细胞
- 论文研究 - 基因型×环境互作对籽
评论
共有 条评论