INNER CODE UNIT · Go
gfa_graphs
lh3/gfatools · gfa-server.go:290
gfa_graphs = make(map[string]*C.gfa_t)
for i := optind; i < len(os.Args); i++ {
fn := C.CString(os.Args[i]);
defer C.free(unsafe.Pointer(fn));
key := re_base.ReplaceAllString(os.Args[i], "$2");
key = re_gz.ReplaceAllString(key, "");
key = re_gfa.ReplaceAllString(key, "");
fmt.Fprintf(os.Stderr, "[%d] read graph '%s' from '%s'\n", time.Now().UnixNano(), key, os.Args[i]);
g := C.gfa_read(fn);
defer C.gfa_destroy(g);
gfa_graphs[key] = g; // TODO: check duplicate names!!!
gfa_graph_list = append(gfa_graph_list, key);
if i == optind {
gfa_graph_default = g;
}
}
http.HandleFunc(gfa_endpoint, gfa_server_query);