Bio-DB-HTS

 view release on metacpan or  search on metacpan

lib/Bio/DB/HTS.xs  view on Meta::CPAN

OUTPUT:
   RETVAL

void
bama_aux_keys(b)
Bio::DB::HTS::Alignment b
PROTOTYPE: $
PREINIT:
   uint8_t *s;
   uint8_t type;
PPCODE:
   {
     s = bam_get_aux(b);  /* s is a khash macro */
     while (s < b->data + b->l_data) {
       XPUSHs(sv_2mortal(newSVpv((char *) s, 2)));
       s   += 2;
       type = *s++;
       if      (type == 'A') { ++s; }
       else if (type == 'C') { ++s; }
       else if (type == 'c') { ++s; }
       else if (type == 'S') { s += 2; }

lib/Bio/DB/HTS.xs  view on Meta::CPAN

    RETVAL


void
bam_parse_region(bamh,region)
    Bio::DB::HTS::Header bamh
    char*            region
    PROTOTYPE: $
    PREINIT:
       int seqid,start,end;
    PPCODE:
    {
      bam_parse_region(bamh,
		       region,
		       &seqid,
		       &start,
		       &end);
      if (seqid < 0)
	XSRETURN_EMPTY;
      else {
	EXTEND(sp,3);

lib/Bio/DB/HTS/Faidx.xs  view on Meta::CPAN

  char* seq_id


void
get_all_sequence_ids(obj)
   SV* obj
INIT:
   int num_seqs ;
   int i ;
    const char* faidx_name ;
PPCODE:
    num_seqs = 0 ;
    faidx_t *fai = ((Faidx*)SvIV(SvRV(obj)))->index ;
    num_seqs = faidx_nseq(fai) ;
    EXTEND(SP,num_seqs);
    for( i=0 ; i<num_seqs ; i++ )
    {
      faidx_name = faidx_iseq(fai,i) ;
      PUSHs(sv_2mortal(newSVpv(faidx_name,0))) ;
    }



( run in 2.310 seconds using v1.01-cache-2.11-cpan-71847e10f99 )