Guest User

htslib + zig

a guest
Nov 5th, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. const std = @import("std");
  2.  
  3. const hts = @cImport({
  4. // htslib.org
  5. @cInclude("htslib/hts.h");
  6. @cInclude("htslib/sam.h");
  7. });
  8.  
  9. pub fn main() !void {
  10. const stdout = std.io.getStdOut().writer();
  11. var v = hts.hts_version();
  12. try stdout.print("version, {s}!\n", .{v});
  13.  
  14. var fh = hts.hts_open("/data/human/hg002.22.bam", "r");
  15. if (fh == null) {
  16. std.debug.warn("null file: {}", .{v});
  17. }
  18. try stdout.print("eof?:{d}\n", .{hts.hts_check_EOF(fh)});
  19.  
  20. var hdr = hts.sam_hdr_read(fh);
  21. try stdout.print("null header?:{d}\n", .{hdr == null});
  22.  
  23. var idx = hts.sam_index_load(fh, "/data/human/hg002.22.bam");
  24. try stdout.print("null idx?:{d}\n", .{idx == null});
  25.  
  26. var qiter = hts.sam_itr_querys(idx, hdr, "22:450000");
  27. try stdout.print("null itr?:{d}\n", .{qiter == null});
  28.  
  29. var b = hts.bam_init1();
  30. // ? https://github.com/ziglang/zig/issues/1580
  31. var ret = hts.sam_itr_next(fh, qiter, b);
  32.  
  33. try stdout.print("next ret?:{d}\n", .{ret});
  34. }
  35.  
Add Comment
Please, Sign In to add comment