GFA visualizer, GPU-accelerated using Vulkan

Overview

gfaestus - Vulkan-accelerated GFA visualization

Demo: https://youtu.be/TOJZeeCqatk

gfaestus is a tool for visualizing and interacting with genome graphs in the GFA format.

It can display GFA graphs using a provided 2D layout (produced with odgi's layout command), and is intended to deliver an interactive visual interface for exploring genome graphs that is fast, powerful, and easy to use.

In addition to the 2D layout, a handlegraph representation of the GFA is created, which will enable visualizations and interactivity that take advantage of the graph topology, paths, and more.

gfaestus uses Vulkan for hardware-acceleration, via the vulkano crate.

Comments
  • Assertion failed

    Assertion failed

    Very nice project. I saw a working version of this program and it seems very promising. However, I get errors when I try to compile gfaestus with RUST_BACKTRACE=full cargo build --release

    error[E0277]:` `[gff::Gff3Column; 3]` is not an iterator
       --> src/gui.rs:449:18
        |
    449 |             list.set_default_columns(
        |                  ^^^^^^^^^^^^^^^^^^^ borrow the array with `&` or call `.iter()` on it to iterate over it
        |
        = help: the trait `std::iter::Iterator` is not implemented for `[gff::Gff3Column; 3]`
        = note: arrays are not iterators, but slices like the following are: `&[1, 2, 3]`
        = note: required because of the requirements on the impl of `IntoIterator` for `[gff::Gff3Column; 3]`
    
    error[E0277]: `[gff::Gff3Column; 4]` is not an iterator
       --> src/gui.rs:451:17
        |
    451 |                 [Gff::SeqId, Gff::Start, Gff::End, Gff::Strand],
        |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |                 |
        |                 expected an implementor of trait `IntoIterator`
        |                 help: consider borrowing here: `&[Gff::SeqId, Gff::Start, Gff::End, Gff::Strand]`
        |
        = note: the trait bound `[gff::Gff3Column; 4]: IntoIterator` is not satisfied
        = note: required because of the requirements on the impl of `IntoIterator` for `[gff::Gff3Column; 4]`
    
    error[E0277]: `[_; 0]` is not an iterator
       --> src/gui.rs:466:18
        |
    466 |             list.set_default_columns([], [Bed::Chr, Bed::Start, Bed::End]);
        |                  ^^^^^^^^^^^^^^^^^^^ borrow the array with `&` or call `.iter()` on it to iterate over it
        |
        = help: the trait `std::iter::Iterator` is not implemented for `[_; 0]`
        = note: arrays are not iterators, but slices like the following are: `&[1, 2, 3]`
        = note: required because of the requirements on the impl of `IntoIterator` for `[_; 0]`
    
    error[E0277]: `[bed::BedColumn; 3]` is not an iterator
       --> src/gui.rs:466:42
        |
    466 |             list.set_default_columns([], [Bed::Chr, Bed::Start, Bed::End]);
        |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |                                          |
        |                                          expected an implementor of trait `IntoIterator`
        |                                          help: consider borrowing here: `&[Bed::Chr, Bed::Start, Bed::End]`
        |
        = note: the trait bound `[bed::BedColumn; 3]: IntoIterator` is not satisfied
        = note: required because of the requirements on the impl of `IntoIterator` for `[bed::BedColumn; 3]`
    

    I do not know any Rust... so I don't know how to properly fix it. When I outcomment the offending lines the code compiles though

    opened by TorHou 9
  • Compilation problem -> Execution problem

    Compilation problem -> Execution problem

    Hi Chris,

    on my system (Ubuntu 20.04), doing

    git clone --recursive https://github.com/chfi/gfaestus.git
    cd gfaestus/
    RUST_BACKTRACE=full cargo build --release
    

    I get

    [...]
       Compiling gif v0.11.1
       Compiling tokio v0.2.25
       Compiling dlib v0.4.2
       Compiling ash v0.31.0
    
    error: failed to run custom build command for `gfaestus v0.1.0 (/home/guarracino/git/gfaestus)`
    
    Caused by:
      process didn't exit successfully: `/home/guarracino/git/gfaestus/target/release/build/gfaestus-432db26c746973b7/build-script-build` (exit code: 101)
      --- stdout
      Compiling shaders...
    
      --- stderr
      thread 'main' panicked at 'Failed to compile shader. Cause: No such file or directory (os error 2)', build.rs:83:13
      stack backtrace:
         0:     0x5613d4e065b0 - std::backtrace_rs::backtrace::libunwind::trace::h74532f8b485906a1
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
         1:     0x5613d4e065b0 - std::backtrace_rs::backtrace::trace_unsynchronized::h2c8425dd0be5999b
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
         2:     0x5613d4e065b0 - std::sys_common::backtrace::_print_fmt::hd8ce6577f46119ce
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/sys_common/backtrace.rs:67:5
         3:     0x5613d4e065b0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6289eeebc1f97d57
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/sys_common/backtrace.rs:46:22
         4:     0x5613d4e20e0f - core::fmt::write::h3d3f8a8bb9d4c367
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/fmt/mod.rs:1092:17
         5:     0x5613d4e03c52 - std::io::Write::write_fmt::ha117cbfa72664a7b
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/io/mod.rs:1572:15
         6:     0x5613d4e08285 - std::sys_common::backtrace::_print::h112e8a4ac2720a21
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/sys_common/backtrace.rs:49:5
         7:     0x5613d4e08285 - std::sys_common::backtrace::print::h2a4ab5824600ebce
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/sys_common/backtrace.rs:36:9
         8:     0x5613d4e08285 - std::panicking::default_hook::{{closure}}::h399ab06c3b83a1f2
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:208:50
         9:     0x5613d4e07d33 - std::panicking::default_hook::h7481e93ca9c2d739
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:225:9
        10:     0x5613d4e0888d - std::panicking::rust_panic_with_hook::h01f9d4e9485ccb8b
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:591:17
        11:     0x5613d4e08427 - std::panicking::begin_panic_handler::{{closure}}::h25bff4eb752cc444
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:497:13
        12:     0x5613d4e06a6c - std::sys_common::backtrace::__rust_end_short_backtrace::h5dfd3f7920e58cc5
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/sys_common/backtrace.rs:141:18
        13:     0x5613d4e08389 - rust_begin_unwind
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:493:5
        14:     0x5613d4de1eab - std::panicking::begin_panic_fmt::h5ea05d30b78d4fb2
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:435:5
        15:     0x5613d4de536e - build_script_build::handle_program_result::hd616f239f03b87e5
        16:     0x5613d4de4c1a - build_script_build::compile_shaders::{{closure}}::h6a21294b2d2e3036
        17:     0x5613d4de6612 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hdba9e6f844b18f25
        18:     0x5613d4de8666 - core::iter::adapters::filter::filter_fold::{{closure}}::hd2335b6a7e938309
        19:     0x5613d4deb13d - core::iter::adapters::map::map_fold::{{closure}}::h5a9825aac41bb721
        20:     0x5613d4deb709 - core::iter::traits::iterator::Iterator::fold::h676a543d465bc74a
        21:     0x5613d4deacb1 - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::h9480345f9c19c8e0
        22:     0x5613d4de7f91 - <core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::fold::h9da373dcdbf0f4b1
        23:     0x5613d4de8562 - core::iter::traits::iterator::Iterator::for_each::hb13b215b1fca0e15
        24:     0x5613d4de4716 - build_script_build::compile_shaders::h4aaa1f5a16508b64
        25:     0x5613d4de448e - build_script_build::main::h71df4c9e67a911fe
        26:     0x5613d4de9253 - core::ops::function::FnOnce::call_once::hfb05eaca16c55879
        27:     0x5613d4de8739 - std::sys_common::backtrace::__rust_begin_short_backtrace::h7e77a3f26319a990
        28:     0x5613d4de5b09 - std::rt::lang_start::{{closure}}::ha0e46fb4d0791a39
        29:     0x5613d4e08c8a - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::ha7db63b609be77e3
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/ops/function.rs:259:13
        30:     0x5613d4e08c8a - std::panicking::try::do_call::h715c8c8ca0806d14
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:379:40
        31:     0x5613d4e08c8a - std::panicking::try::h2530c507ef432acf
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:343:19
        32:     0x5613d4e08c8a - std::panic::catch_unwind::h0c4984a63ffdd417
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panic.rs:431:14
        33:     0x5613d4e08c8a - std::rt::lang_start_internal::h12392519f60c6396
                                     at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/rt.rs:51:25
        34:     0x5613d4de5af1 - std::rt::lang_start::h4aa2d3928c63fb01
        35:     0x5613d4de5543 - main
        36:     0x7f2cd85770b3 - __libc_start_main
        37:     0x5613d4de290e - _start
        38:                0x0 - <unknown>
    warning: build failed, waiting for other jobs to finish...
    error: build failed
    

    The problem happens with Rust 1.51.0 and 1.52.0.

    Do you have any clues?

    opened by AndreaGuarracino 6
  • Error compiling in docker container

    Error compiling in docker container

    Hi @chfi,

    I'm struggling compiling gfaestus in a docker container:

    #10 63.84    Compiling libc v0.2.101
    #10 63.84    Compiling cfg-if v1.0.0
    #10 63.95    Compiling autocfg v1.0.1
    #10 64.26    Compiling proc-macro2 v1.0.24
    #10 64.42    Compiling unicode-xid v0.2.1
    #10 64.57    Compiling version_check v0.9.2
    #10 64.70    Compiling lazy_static v1.4.0
    #10 64.82    Compiling libm v0.2.1
    #10 65.00    Compiling syn v1.0.60
    #10 65.12    Compiling bitflags v1.2.1
    #10 65.41    Compiling memchr v2.3.4
    #10 65.49    Compiling once_cell v1.5.2
    #10 65.76    Compiling crossbeam-utils v0.8.5
    #10 65.78    Compiling log v0.4.14
    #10 66.07    Compiling pkg-config v0.3.19
    #10 66.08    Compiling getrandom v0.2.2
    #10 66.40    Compiling scopeguard v1.1.0
    #10 66.53    Compiling crossbeam-epoch v0.9.5
    #10 66.72    Compiling xml-rs v0.8.4
    #10 66.84    Compiling smallvec v1.6.1
    #10 67.10    Compiling getrandom v0.1.16
    #10 67.42    Compiling ab_glyph_rasterizer v0.1.4
    #10 67.75    Compiling ppv-lite86 v0.2.10
    #10 67.93    Compiling rayon-core v1.9.0
    #10 68.16    Compiling futures-core v0.3.15
    #10 68.20    Compiling proc-macro-hack v0.5.19
    #10 68.46    Compiling crossbeam-queue v0.3.2
    #10 68.58    Compiling ryu v1.0.5
    #10 68.77    Compiling static_assertions v1.1.0
    #10 68.88    Compiling byteorder v1.4.2
    #10 68.97    Compiling typenum v1.12.0
    #10 69.20    Compiling downcast-rs v1.2.0
    #10 69.33    Compiling futures-task v0.3.15
    #10 69.63    Compiling lexical-core v0.7.6
    #10 69.64    Compiling proc-macro-nested v0.1.7
    #10 69.93    Compiling futures-channel v0.3.15
    #10 70.00    Compiling nix v0.18.0
    #10 70.23    Compiling scoped-tls v1.0.0
    #10 70.25    Compiling minimal-lexical v0.1.3
    #10 70.38    Compiling ttf-parser v0.6.2
    #10 70.80    Compiling ttf-parser v0.12.3
    #10 74.55    Compiling cfg-if v0.1.10
    #10 74.66    Compiling anyhow v1.0.38
    #10 75.06    Compiling maybe-uninit v2.0.0
    #10 75.44    Compiling futures-sink v0.3.15
    #10 75.44    Compiling arrayvec v0.5.2
    #10 75.57    Compiling same-file v1.0.6
    #10 75.82    Compiling regex-syntax v0.6.22
    #10 75.84    Compiling futures-io v0.3.15
    #10 76.17    Compiling pin-utils v0.1.0
    #10 80.05    Compiling cc v1.0.66
    #10 81.32    Compiling xdg v2.2.0
    #10 82.57    Compiling pin-project-lite v0.2.6
    #10 82.69    Compiling slab v0.4.2
    #10 82.85    Compiling paste v1.0.4
    #10 83.68    Compiling rawpointer v0.2.1
    #10 83.80    Compiling either v1.6.1
    #10 83.97    Compiling unicode-segmentation v1.8.0
    #10 84.45    Compiling atomic_refcell v0.1.6
    #10 84.61    Compiling fnv v1.0.7
    #10 84.74    Compiling winit v0.25.0
    #10 85.06    Compiling argh_shared v0.1.5
    #10 85.29    Compiling emath v0.14.0
    #10 85.98    Compiling glob v0.3.0
    #10 85.99    Compiling yansi v0.5.0
    #10 86.35    Compiling gfaestus v0.1.0 (/opt/gfaestus)
    #10 86.81    Compiling percent-encoding v2.1.0
    #10 87.48    Compiling futures-timer v3.0.2
    #10 87.68    Compiling colorous v1.0.5
    #10 88.03    Compiling rustc-hash v1.1.0
    #10 88.16    Compiling libloading v0.7.0
    #10 88.53    Compiling instant v0.1.10
    #10 88.65    Compiling libloading v0.6.7
    #10 88.93    Compiling num-traits v0.2.14
    #10 89.02    Compiling memoffset v0.6.1
    #10 89.23    Compiling num-integer v0.1.44
    #10 89.32    Compiling futures-macro v0.3.15
    #10 89.52    Compiling rayon v1.5.0
    #10 89.62    Compiling futures-util v0.3.15
    #10 89.81    Compiling num-rational v0.3.2
    #10 90.03    Compiling nom v7.0.0
    #10 90.10    Compiling ahash v0.7.0
    #10 90.31    Compiling nom v5.1.2
    #10 90.42    Compiling generic-array v0.14.4
    #10 90.70    Compiling thread_local v1.1.3
    #10 90.82    Compiling lock_api v0.4.2
    #10 91.08    Compiling wayland-sys v0.28.6
    #10 91.18    Compiling x11-dl v2.18.5
    #10 91.50    Compiling smartstring v0.2.9
    #10 91.63    Compiling regex-automata v0.1.9
    #10 92.00    Compiling owned_ttf_parser v0.6.0
    #10 92.01    Compiling owned_ttf_parser v0.12.1
    #10 92.31    Compiling walkdir v2.3.2
    #10 92.42    Compiling vk-mem v0.2.2
    #10 92.88    Compiling matrixmultiply v0.2.4
    #10 93.69    Compiling heck v0.3.3
    #10 94.48    Compiling dlib v0.5.0
    #10 94.69    Compiling ash v0.32.0
    #10 97.07    Compiling dlib v0.4.2
    #10 110.3    Compiling rusttype v0.9.2
    #10 110.5    Compiling ab_glyph v0.2.11
    #10 112.8    Compiling num_cpus v1.13.0
    #10 113.9    Compiling memmap v0.7.0
    #10 114.3    Compiling memmap2 v0.1.0
    #10 114.8    Compiling raw-window-handle v0.3.3
    #10 114.9    Compiling time v0.1.43
    #10 116.0    Compiling parking_lot_core v0.8.2
    #10 116.3    Compiling atty v0.2.14
    #10 116.6    Compiling xcb v0.8.2
    #10 116.9    Compiling quote v1.0.8
    #10 117.3    Compiling nix v0.20.0
    #10 123.6    Compiling aho-corasick v0.7.15
    #10 126.2    Compiling bstr v0.2.15
    #10 127.5    Compiling crossbeam-channel v0.5.1
    #10 128.3    Compiling mio v0.7.13
    #10 130.5    Compiling andrew v0.3.1
    #10 133.2    Compiling rand_core v0.6.1
    #10 133.9    Compiling rand_core v0.5.1
    #10 134.2    Compiling ash-window v0.6.0
    #10 136.1    Compiling parking_lot v0.11.1
    #10 142.3    Compiling wayland-scanner v0.28.6
    #10 144.3    Compiling approx v0.4.0
    #10 144.5    Compiling num-complex v0.3.1
    #10 145.1    Compiling ordered-float v2.1.1
    #10 145.2    Compiling succinct v0.5.2
    #10 145.3    Compiling calloop v0.6.5
    #10 145.9    Compiling regex v1.4.3
    #10 146.4    Compiling xcursor v0.3.4
    #10 148.0    Compiling wayland-commons v0.28.6
    #10 151.6    Compiling wyhash v0.5.0
    #10 151.9    Compiling rand_chacha v0.3.1
    #10 152.9    Compiling rand_chacha v0.2.2
    #10 153.8    Compiling crossbeam-deque v0.8.0
    #10 156.8    Compiling wayland-client v0.28.6
    #10 157.4    Compiling wayland-protocols v0.28.6
    #10 159.5    Compiling chrono v0.4.19
    #10 162.2    Compiling simba v0.3.1
    #10 162.5    Compiling bytemuck_derive v1.0.1
    #10 164.9    Compiling thiserror-impl v1.0.28
    #10 166.6    Compiling rhai_codegen v1.0.0
    #10 168.3    Compiling argh_derive v0.1.5
    #10 168.5    Compiling epaint v0.14.0
    #10 170.2    Compiling rand v0.8.4
    #10 171.2    Compiling rand v0.7.3
    #10 172.7    Compiling crossbeam v0.8.1
    #10 175.6    Compiling x11-clipboard v0.3.3
    #10 177.6    Compiling bytemuck v1.7.2
    #10 180.8    Compiling thiserror v1.0.28
    #10 180.9    Compiling rhai v1.0.2
    #10 182.7    Compiling egui v0.14.2
    #10 184.3 error[E0425]: cannot find value `args` in this scope
    #10 184.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:227:42
    #10 184.3     |
    #10 184.3 227 | gen_arithmetic_functions!(arith_basic => INT);
    #10 184.3     |                                          ^^^ not found in this scope
    #10 184.3     |
    #10 184.3     = note: consider importing this function:
    #10 184.3             std::env::args
    #10 184.3 
    #10 184.5 error[E0425]: cannot find value `args` in this scope
    #10 184.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:44
    #10 184.5     |
    #10 184.5 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 184.5     |                                            ^^ not found in this scope
    #10 184.5     |
    #10 184.5     = note: consider importing this function:
    #10 184.5             std::env::args
    #10 184.5 
    #10 184.6 error[E0425]: cannot find value `args` in this scope
    #10 184.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:48
    #10 184.6     |
    #10 184.6 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 184.6     |                                                ^^ not found in this scope
    #10 184.6     |
    #10 184.6     = note: consider importing this function:
    #10 184.6             std::env::args
    #10 184.6 
    #10 184.7 error[E0425]: cannot find value `args` in this scope
    #10 184.7    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:52
    #10 184.7     |
    #10 184.7 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 184.7     |                                                    ^^^ not found in this scope
    #10 184.7     |
    #10 184.7     = note: consider importing this function:
    #10 184.7             std::env::args
    #10 184.7 
    #10 184.8 error[E0425]: cannot find value `args` in this scope
    #10 184.8    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:57
    #10 184.8     |
    #10 184.8 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 184.8     |                                                         ^^^ not found in this scope
    #10 184.8     |
    #10 184.8     = note: consider importing this function:
    #10 184.8             std::env::args
    #10 184.8 
    #10 184.9 error[E0425]: cannot find value `args` in this scope
    #10 184.9    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:62
    #10 184.9     |
    #10 184.9 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 184.9     |                                                              ^^^ not found in this scope
    #10 184.9     |
    #10 184.9     = note: consider importing this function:
    #10 184.9             std::env::args
    #10 184.9 
    #10 185.0 error[E0425]: cannot find value `args` in this scope
    #10 185.0    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:67
    #10 185.0     |
    #10 185.0 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.0     |                                                                   ^^^ not found in this scope
    #10 185.0     |
    #10 185.0     = note: consider importing this function:
    #10 185.0             std::env::args
    #10 185.0 
    #10 185.2 error[E0425]: cannot find value `args` in this scope
    #10 185.2    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:231:72
    #10 185.2     |
    #10 185.2 231 | gen_arithmetic_functions!(arith_numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.2     |                                                                        ^^^ not found in this scope
    #10 185.2     |
    #10 185.2     = note: consider importing this function:
    #10 185.2             std::env::args
    #10 185.2 
    #10 185.3 error[E0425]: cannot find value `args` in this scope
    #10 185.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:236:44
    #10 185.3     |
    #10 185.3 236 | gen_arithmetic_functions!(arith_num_128 => i128, u128);
    #10 185.3     |                                            ^^^^ not found in this scope
    #10 185.3     |
    #10 185.3     = note: consider importing this function:
    #10 185.3             std::env::args
    #10 185.3 
    #10 185.4 error[E0425]: cannot find value `args` in this scope
    #10 185.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:236:50
    #10 185.4     |
    #10 185.4 236 | gen_arithmetic_functions!(arith_num_128 => i128, u128);
    #10 185.4     |                                                  ^^^^ not found in this scope
    #10 185.4     |
    #10 185.4     = note: consider importing this function:
    #10 185.4             std::env::args
    #10 185.4 
    #10 185.5 error[E0425]: cannot find value `args` in this scope
    #10 185.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:238:39
    #10 185.5     |
    #10 185.5 238 | gen_signed_functions!(signed_basic => INT);
    #10 185.5     |                                       ^^^ not found in this scope
    #10 185.5     |
    #10 185.5     = note: consider importing this function:
    #10 185.5             std::env::args
    #10 185.5 
    #10 185.6 error[E0425]: cannot find value `args` in this scope
    #10 185.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:242:41
    #10 185.6     |
    #10 185.6 242 | gen_signed_functions!(signed_numbers => i8, i16, i32);
    #10 185.6     |                                         ^^ not found in this scope
    #10 185.6     |
    #10 185.6     = note: consider importing this function:
    #10 185.6             std::env::args
    #10 185.6 
    #10 185.6 error[E0425]: cannot find value `args` in this scope
    #10 185.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:242:45
    #10 185.6     |
    #10 185.6 242 | gen_signed_functions!(signed_numbers => i8, i16, i32);
    #10 185.6     |                                             ^^^ not found in this scope
    #10 185.6     |
    #10 185.6     = note: consider importing this function:
    #10 185.6             std::env::args
    #10 185.6 
    #10 185.6 error[E0425]: cannot find value `args` in this scope
    #10 185.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:242:50
    #10 185.6     |
    #10 185.6 242 | gen_signed_functions!(signed_numbers => i8, i16, i32);
    #10 185.6     |                                                  ^^^ not found in this scope
    #10 185.6     |
    #10 185.6     = note: consider importing this function:
    #10 185.6             std::env::args
    #10 185.6 
    #10 185.6 error[E0425]: cannot find value `args` in this scope
    #10 185.6    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/arithmetic.rs:247:41
    #10 185.6     |
    #10 185.6 247 | gen_signed_functions!(signed_num_128 => i128);
    #10 185.6     |                                         ^^^^ not found in this scope
    #10 185.6     |
    #10 185.6     = note: consider importing this function:
    #10 185.6             std::env::args
    #10 185.6 
    #10 185.6 error[E0425]: cannot find value `args` in this scope
    #10 185.6   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:31
    #10 185.6    |
    #10 185.6 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.6    |                               ^^ not found in this scope
    #10 185.6    |
    #10 185.6    = note: consider importing this function:
    #10 185.6            std::env::args
    #10 185.6 
    #10 185.7 error[E0425]: cannot find value `args` in this scope
    #10 185.7   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:35
    #10 185.7    |
    #10 185.7 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.7    |                                   ^^ not found in this scope
    #10 185.7    |
    #10 185.7    = note: consider importing this function:
    #10 185.7            std::env::args
    #10 185.7 
    #10 185.8 error[E0425]: cannot find value `args` in this scope
    #10 185.8   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:39
    #10 185.8    |
    #10 185.8 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.8    |                                       ^^^ not found in this scope
    #10 185.8    |
    #10 185.8    = note: consider importing this function:
    #10 185.8            std::env::args
    #10 185.8 
    #10 185.8 error[E0425]: cannot find value `args` in this scope
    #10 185.8   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:44
    #10 185.8    |
    #10 185.8 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.8    |                                            ^^^ not found in this scope
    #10 185.8    |
    #10 185.8    = note: consider importing this function:
    #10 185.8            std::env::args
    #10 185.8 
    #10 185.9 error[E0425]: cannot find value `args` in this scope
    #10 185.9   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:49
    #10 185.9    |
    #10 185.9 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 185.9    |                                                 ^^^ not found in this scope
    #10 185.9    |
    #10 185.9    = note: consider importing this function:
    #10 185.9            std::env::args
    #10 185.9 
    #10 186.0 error[E0425]: cannot find value `args` in this scope
    #10 186.0   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:54
    #10 186.0    |
    #10 186.0 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 186.0    |                                                      ^^^ not found in this scope
    #10 186.0    |
    #10 186.0    = note: consider importing this function:
    #10 186.0            std::env::args
    #10 186.0 
    #10 186.0 error[E0425]: cannot find value `args` in this scope
    #10 186.0   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:74:59
    #10 186.0    |
    #10 186.0 74 | gen_cmp_functions!(numbers => i8, u8, i16, u16, i32, u32, u64);
    #10 186.0    |                                                           ^^^ not found in this scope
    #10 186.0    |
    #10 186.0    = note: consider importing this function:
    #10 186.0            std::env::args
    #10 186.0 
    #10 186.1 error[E0425]: cannot find value `args` in this scope
    #10 186.1   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:79:31
    #10 186.1    |
    #10 186.1 79 | gen_cmp_functions!(num_128 => i128, u128);
    #10 186.1    |                               ^^^^ not found in this scope
    #10 186.1    |
    #10 186.1    = note: consider importing this function:
    #10 186.1            std::env::args
    #10 186.1 
    #10 186.2 error[E0425]: cannot find value `args` in this scope
    #10 186.2   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:79:37
    #10 186.2    |
    #10 186.2 79 | gen_cmp_functions!(num_128 => i128, u128);
    #10 186.2    |                                     ^^^^ not found in this scope
    #10 186.2    |
    #10 186.2    = note: consider importing this function:
    #10 186.2            std::env::args
    #10 186.2 
    #10 186.2 error[E0425]: cannot find value `args` in this scope
    #10 186.2   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/logic.rs:87:29
    #10 186.2    |
    #10 186.2 87 | gen_cmp_functions!(float => f64);
    #10 186.2    |                             ^^^ not found in this scope
    #10 186.2    |
    #10 186.2    = note: consider importing this function:
    #10 186.2            std::env::args
    #10 186.2 
    #10 186.3 error[E0425]: cannot find value `args` in this scope
    #10 186.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:480:58
    #10 186.3     |
    #10 186.3 480 | gen_conversion_as_functions!(basic_to_float => to_float (INT) -> FLOAT);
    #10 186.3     |                                                          ^^^ not found in this scope
    #10 186.3     |
    #10 186.3     = note: consider importing this function:
    #10 186.3             std::env::args
    #10 186.3 
    #10 186.3 error[E0425]: cannot find value `args` in this scope
    #10 186.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:60
    #10 186.3     |
    #10 186.3 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.3     |                                                            ^^ not found in this scope
    #10 186.3     |
    #10 186.3     = note: consider importing this function:
    #10 186.3             std::env::args
    #10 186.3 
    #10 186.3 error[E0425]: cannot find value `args` in this scope
    #10 186.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:64
    #10 186.3     |
    #10 186.3 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.3     |                                                                ^^ not found in this scope
    #10 186.3     |
    #10 186.3     = note: consider importing this function:
    #10 186.3             std::env::args
    #10 186.3 
    #10 186.3 error[E0425]: cannot find value `args` in this scope
    #10 186.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:68
    #10 186.3     |
    #10 186.3 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.3     |                                                                    ^^^ not found in this scope
    #10 186.3     |
    #10 186.3     = note: consider importing this function:
    #10 186.3             std::env::args
    #10 186.3 
    #10 186.3 error[E0425]: cannot find value `args` in this scope
    #10 186.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:73
    #10 186.3     |
    #10 186.3 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.3     |                                                                         ^^^ not found in this scope
    #10 186.3     |
    #10 186.3     = note: consider importing this function:
    #10 186.3             std::env::args
    #10 186.3 
    #10 186.3 error[E0425]: cannot find value `args` in this scope
    #10 186.3    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:78
    #10 186.3     |
    #10 186.3 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.3     |                                                                              ^^^ not found in this scope
    #10 186.3     |
    #10 186.3     = note: consider importing this function:
    #10 186.3             std::env::args
    #10 186.3 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:83
    #10 186.4     |
    #10 186.4 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.4     |                                                                                   ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:88
    #10 186.4     |
    #10 186.4 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.4     |                                                                                        ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:485:93
    #10 186.4     |
    #10 186.4 485 | gen_conversion_as_functions!(numbers_to_float => to_float (i8, u8, i16, u16, i32, u32, i64, u64) -> FLOAT);
    #10 186.4     |                                                                                             ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:491:60
    #10 186.4     |
    #10 186.4 491 | gen_conversion_as_functions!(num_128_to_float => to_float (i128, u128) -> FLOAT);
    #10 186.4     |                                                            ^^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:491:66
    #10 186.4     |
    #10 186.4 491 | gen_conversion_as_functions!(num_128_to_float => to_float (i128, u128) -> FLOAT);
    #10 186.4     |                                                                  ^^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:493:54
    #10 186.4     |
    #10 186.4 493 | gen_conversion_as_functions!(basic_to_int => to_int (char) -> INT);
    #10 186.4     |                                                      ^^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:56
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                        ^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:60
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                            ^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:64
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                                ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:69
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                                     ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:74
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                                          ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:79
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                                               ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:84
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                                                    ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.4 error[E0425]: cannot find value `args` in this scope
    #10 186.4    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:497:89
    #10 186.4     |
    #10 186.4 497 | gen_conversion_as_functions!(numbers_to_int => to_int (i8, u8, i16, u16, i32, u32, i64, u64) -> INT);
    #10 186.4     |                                                                                         ^^^ not found in this scope
    #10 186.4     |
    #10 186.4     = note: consider importing this function:
    #10 186.4             std::env::args
    #10 186.4 
    #10 186.5 error[E0425]: cannot find value `args` in this scope
    #10 186.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:502:56
    #10 186.5     |
    #10 186.5 502 | gen_conversion_as_functions!(num_128_to_int => to_int (i128, u128) -> INT);
    #10 186.5     |                                                        ^^^^ not found in this scope
    #10 186.5     |
    #10 186.5     = note: consider importing this function:
    #10 186.5             std::env::args
    #10 186.5 
    #10 186.5 error[E0425]: cannot find value `args` in this scope
    #10 186.5    --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rhai-1.0.2/src/packages/math_basic.rs:502:62
    #10 186.5     |
    #10 186.5 502 | gen_conversion_as_functions!(num_128_to_int => to_int (i128, u128) -> INT);
    #10 186.5     |                                                              ^^^^ not found in this scope
    #10 186.5     |
    #10 186.5     = note: consider importing this function:
    #10 186.5             std::env::args
    #10 186.5 
    

    I don't think this refers to a problem with the setup (but I may be wrong):

    FROM ubuntu:20.04
    ENV DEBIAN_FRONTEND=noninteractive 
    LABEL version="0.1.0"
    LABEL description="gfaestus"
    WORKDIR /opt
    RUN apt-get update
    RUN apt-get -y install build-essential curl wget git \ 
    && wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - \
    && wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list \
    && apt-get update \
    && apt-get install -y apt vulkan-sdk \
    && apt-get -y clean all \
    && rm -rf /var/cache
    RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y
    ENV PATH="/root/.cargo/bin:${PATH}"
    RUN git clone --recursive https://github.com/chfi/gfaestus.git \
    && cd gfaestus \
    && RUST_BACKTRACE=full cargo build --release
    ```
    
    Can you help with this ?
    
    Thanks,
    
    Davide
    opened by davidebolo1993 5
  • Can't Compile on macOS

    Can't Compile on macOS

    Hi,

    I'm trying to compile gfaestus on MacOS 10.14.2 but I can't get past this error:

    $ git clone --recursive https://github.com/chfi/gfaestus.git
    Cloning into 'gfaestus'...
    remote: Enumerating objects: 9657, done.
    remote: Counting objects: 100% (9657/9657), done.
    remote: Compressing objects: 100% (3964/3964), done.
    remote: Total 9657 (delta 7291), reused 7853 (delta 5491), pack-reused 0
    Receiving objects: 100% (9657/9657), 1.89 MiB | 1.91 MiB/s, done.
    Resolving deltas: 100% (7291/7291), done.
    
    $ cd gfaestus/
    $ RUST_BACKTRACE=full
    $ cargo build --release
       Compiling libc v0.2.101
       Compiling autocfg v1.0.1
       Compiling cfg-if v1.0.0
       Compiling proc-macro2 v1.0.24
       Compiling libm v0.2.1
       Compiling unicode-xid v0.2.1
       Compiling syn v1.0.60
       Compiling bitflags v1.2.1
       Compiling version_check v0.9.2
       Compiling lazy_static v1.4.0
       Compiling crossbeam-utils v0.8.5
       Compiling memchr v2.3.4
       Compiling getrandom v0.2.2
       Compiling scopeguard v1.1.0
       Compiling foreign-types-shared v0.1.1
       Compiling core-foundation-sys v0.8.2
       Compiling once_cell v1.5.2
       Compiling crossbeam-epoch v0.9.5
       Compiling getrandom v0.1.16
       Compiling block v0.1.6
       Compiling ppv-lite86 v0.2.10
       Compiling log v0.4.14
       Compiling static_assertions v1.1.0
       Compiling core-foundation-sys v0.7.0
       Compiling futures-core v0.3.15
       Compiling proc-macro-hack v0.5.19
       Compiling rayon-core v1.9.0
       Compiling ryu v1.0.5
       Compiling lexical-core v0.7.6
       Compiling futures-channel v0.3.15
       Compiling futures-task v0.3.15
       Compiling byteorder v1.4.2
       Compiling typenum v1.12.0
       Compiling proc-macro-nested v0.1.7
       Compiling anyhow v1.0.38
       Compiling crossbeam-queue v0.3.2
       Compiling ttf-parser v0.12.3
       Compiling regex-syntax v0.6.22
       Compiling arrayvec v0.5.2
       Compiling futures-sink v0.3.15
       Compiling rawpointer v0.2.1
       Compiling unicode-segmentation v1.8.0
       Compiling either v1.6.1
       Compiling slab v0.4.2
       Compiling ab_glyph_rasterizer v0.1.4
       Compiling futures-io v0.3.15
       Compiling pin-project-lite v0.2.6
       Compiling pin-utils v0.1.0
       Compiling smallvec v1.6.1
       Compiling paste v1.0.4
       Compiling cc v1.0.66
       Compiling argh_shared v0.1.5
       Compiling atomic_refcell v0.1.6
       Compiling cfg-if v0.1.10
       Compiling fnv v1.0.7
       Compiling winit v0.25.0
       Compiling emath v0.14.0
       Compiling glob v0.3.0
       Compiling yansi v0.5.0
       Compiling gfaestus v0.1.0 (/Users/baxter/gfaestus)
       Compiling dispatch v0.2.0
       Compiling colorous v1.0.5
       Compiling rustc-hash v1.1.0
       Compiling futures-timer v3.0.2
       Compiling libloading v0.7.0
       Compiling instant v0.1.10
       Compiling num-traits v0.2.14
       Compiling memoffset v0.6.1
       Compiling num-integer v0.1.44
       Compiling futures-macro v0.3.15
       Compiling num-rational v0.3.2
       Compiling futures-util v0.3.15
       Compiling rayon v1.5.0
       Compiling ahash v0.7.0
       Compiling generic-array v0.14.4
       Compiling nom v5.1.2
       Compiling lock_api v0.4.2
       Compiling foreign-types v0.3.2
       Compiling thread_local v1.1.3
       Compiling smartstring v0.2.9
       Compiling regex-automata v0.1.9
       Compiling matrixmultiply v0.2.4
       Compiling heck v0.3.3
       Compiling owned_ttf_parser v0.12.1
       Compiling vk-mem v0.2.2
       Compiling ash v0.32.0
       Compiling ab_glyph v0.2.11
       Compiling quote v1.0.8
       Compiling crossbeam-channel v0.5.1
       Compiling malloc_buf v0.0.6
       Compiling num_cpus v1.13.0
       Compiling raw-window-handle v0.3.3
       Compiling time v0.1.43
       Compiling memmap v0.7.0
       Compiling atty v0.2.14
       Compiling parking_lot_core v0.8.2
       Compiling aho-corasick v0.7.15
       Compiling bstr v0.2.15
       Compiling core-foundation v0.9.1
       Compiling core-foundation v0.7.0
       Compiling num-complex v0.3.1
       Compiling approx v0.4.0
       Compiling ordered-float v2.1.1
       Compiling succinct v0.5.2
       Compiling rand_core v0.6.1
       Compiling objc v0.2.7
       Compiling rand_core v0.5.1
       Compiling parking_lot v0.11.1
       Compiling regex v1.4.3
       Compiling core-graphics-types v0.1.1
       Compiling core-graphics v0.19.2
       Compiling crossbeam-deque v0.8.0
       Compiling chrono v0.4.19
       Compiling simba v0.3.1
       Compiling wyhash v0.5.0
       Compiling rand_chacha v0.3.1
       Compiling epaint v0.14.0
       Compiling rand_chacha v0.2.2
       Compiling objc_id v0.1.1
       Compiling core-graphics v0.22.2
       Compiling cocoa-foundation v0.1.0
       Compiling core-video-sys v0.1.4
       Compiling crossbeam v0.8.1
       Compiling bytemuck_derive v1.0.1
       Compiling thiserror-impl v1.0.28
       Compiling argh_derive v0.1.5
       Compiling rhai_codegen v1.0.0
       Compiling rand v0.8.4
       Compiling egui v0.14.2
       Compiling rand v0.7.3
       Compiling objc-foundation v0.1.1
       Compiling cocoa v0.24.0
       Compiling bytemuck v1.7.2
       Compiling thiserror v1.0.28
       Compiling argh v0.1.5
       Compiling rhai v1.0.2
       Compiling rand_distr v0.3.0
       Compiling clipboard v0.5.0
       Compiling gfa v0.10.0
       Compiling rgb v0.8.25
       Compiling raw-window-metal v0.1.2
       Compiling boomphf v0.5.9
       Compiling flexi_logger v0.18.0
       Compiling futures-executor v0.3.15
       Compiling nalgebra v0.24.1
       Compiling ash-window v0.6.0
       Compiling handlegraph v0.7.0-alpha.9 (https://github.com/chfi/rs-handlegraph#6b0a807b)
       Compiling futures v0.3.15
       Compiling nalgebra-glm v0.10.0
    error[E0423]: expected value, found struct `InstanceExtensions`
       --> src/vulkan/init.rs:64:31
        |
    64  |         instance_extensions = InstanceExtensions;
        |                               ^^^^^^^^^^^^^^^^^^
    ...
    535 | pub struct InstanceExtensions {}
        | -------------------------------- `InstanceExtensions` defined here
        |
    help: use struct literal syntax instead
        |
    64  |         instance_extensions = InstanceExtensions {};
        |                               ~~~~~~~~~~~~~~~~~~~~~
    help: a local variable with a similar name exists
        |
    64  |         instance_extensions = instance_extensions;
        |                               ~~~~~~~~~~~~~~~~~~~
    
    warning: unused import: `std::sync::Arc`
      --> src/app.rs:22:5
       |
    22 | use std::sync::Arc;
       |     ^^^^^^^^^^^^^^
       |
       = note: `#[warn(unused_imports)]` on by default
    
    warning: unused import: `crate::app::selection::NodeSelection`
      --> src/app.rs:29:5
       |
    29 | use crate::app::selection::NodeSelection;
       |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    warning: unused macro definition: `handle`
       --> src/app.rs:418:30
        |
    418 |                 macro_rules! handle {
        |                              ^^^^^^
        |
        = note: `#[warn(unused_macros)]` on by default
    
    warning: unused imports: `HashMap`, `HashSet`, `path::PathBuf`
     --> src/context.rs:2:19
      |
    2 |     collections::{HashMap, HashSet},
      |                   ^^^^^^^  ^^^^^^^
    3 |     path::PathBuf,
      |     ^^^^^^^^^^^^^
    
    warning: unused imports: `Direction`, `mutablehandlegraph::*`
      --> src/context.rs:13:14
       |
    13 |     handle::{Direction, Handle, NodeId},
       |              ^^^^^^^^^
    14 |     handlegraph::*,
    15 |     mutablehandlegraph::*,
       |     ^^^^^^^^^^^^^^^^^^^^^
    
    warning: unused imports: `Rect`, `selection::NodeSelection`
      --> src/context.rs:24:11
       |
    24 |     app::{selection::NodeSelection, App, AppChannels, AppMsg, SharedState},
       |           ^^^^^^^^^^^^^^^^^^^^^^^^
    25 |     geometry::{Point, Rect},
       |                       ^^^^
    
    warning: unused imports: `SinkExt`, `future::RemoteHandle`
     --> src/reactor/modal.rs:2:15
      |
    2 | use futures::{future::RemoteHandle, SinkExt};
      |               ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
    
    warning: unused imports: `RwLockUpgradableReadGuard`, `RwLockWriteGuard`
     --> src/reactor/modal.rs:4:37
      |
    4 |     Mutex, RwLock, RwLockReadGuard, RwLockUpgradableReadGuard, RwLockWriteGuard,
      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
    
    warning: unused import: `InstanceV1_0`
      --> src/vulkan/draw_system/edges.rs:11:32
       |
    11 | use ash::version::{DeviceV1_0, InstanceV1_0};
       |                                ^^^^^^^^^^^^
    
    warning: unused import: `VecDeque`
     --> src/annotations.rs:2:28
      |
    2 |     collections::{HashMap, VecDeque},
      |                            ^^^^^^^^
    
    warning: unused import: `parking_lot::Mutex`
      --> src/annotations.rs:18:5
       |
    18 | use parking_lot::Mutex;
       |     ^^^^^^^^^^^^^^^^^^
    
    warning: unused import: `Annotations`
      --> src/gui/console.rs:26:49
       |
    26 |         AnnotationCollection, AnnotationRecord, Annotations, BedColumn,
       |                                                 ^^^^^^^^^^^
    
    warning: unused import: `quad_tree::*`
      --> src/gui/console.rs:38:5
       |
    38 |     quad_tree::*,
       |     ^^^^^^^^^^^^
    
    warning: unused import: `self::text::draw_text_at_world_point`
      --> src/gui.rs:63:5
       |
    63 | use self::text::draw_text_at_world_point;
       |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    warning: unused import: `packed`
      --> src/context.rs:16:5
       |
    16 |     packed::*,
       |     ^^^^^^
    
    warning: unused import: `bstr::ByteSlice`
       --> src/script/plugins.rs:346:13
        |
    346 |         use bstr::ByteSlice;
        |             ^^^^^^^^^^^^^^^
    
    For more information about this error, try `rustc --explain E0423`.
    warning: `gfaestus` (lib) generated 16 warnings
    error: could not compile `gfaestus` due to previous error; 16 warnings emitted
    warning: build failed, waiting for other jobs to finish...
    error: build failed
    

    I'd appreciate any thoughts or advice on this. Thanks in advance!

    opened by BaxW 3
  • thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: stream did not contain valid UTF-8', src/main.rs:102:61

    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: stream did not contain valid UTF-8', src/main.rs:102:61

    Hi @chfi Running

    ./target/release/gfaestus ~/Downloads/yeast/pggb_gfaestus/cerevisiae.pan.fa.pggb-W-s50000-l150000-p90-n5-a0-K16.seqwish-k8-B10000000.smooth-w30000-j5000-e5000-I0.7-p1_4_6_2_26_1.gfa ~/Downloads/yeast/pggb_gfaestus/cerevisiae.pan.fa.pggb-W-s50000-l150000-p90-n5-a0-K16.seqwish-k8-B10000000.smooth-w30000-j5000-e5000-I0.7-p1_4_6_2_26_1.chop.og.lay
    

    I see

    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: stream did not contain valid UTF-8', src/main.rs:102:61
    

    Link to the data. Will expire in 10 days. http://fex.belwue.de/fop/LTIrSTM5/pggb_gfaestus_issue.zip

    Thanks for any feedback!

    opened by subwaystation 2
  • thread 'main' panicked

    thread 'main' panicked

    Hi there @chfi, with the current master or dev branch gfaestus isn't working for me anymore.

    gfaestus overlap.gfa overlap.gfa.lay.tsv
    WARN [gfaestus::vulkan::init] enumerating instance extension properties
    WARN [gfaestus::vulkan::init] "VK_KHR_device_group_creation"
    WARN [gfaestus::vulkan::init] "VK_KHR_display"
    WARN [gfaestus::vulkan::init] "VK_KHR_external_fence_capabilities"
    WARN [gfaestus::vulkan::init] "VK_KHR_external_memory_capabilities"
    WARN [gfaestus::vulkan::init] "VK_KHR_external_semaphore_capabilities"
    WARN [gfaestus::vulkan::init] "VK_KHR_get_display_properties2"
    WARN [gfaestus::vulkan::init] "VK_KHR_get_physical_device_properties2"
    WARN [gfaestus::vulkan::init] "VK_KHR_get_surface_capabilities2"
    WARN [gfaestus::vulkan::init] "VK_KHR_surface"
    WARN [gfaestus::vulkan::init] "VK_KHR_surface_protected_capabilities"
    WARN [gfaestus::vulkan::init] "VK_KHR_wayland_surface"
    WARN [gfaestus::vulkan::init] "VK_KHR_xcb_surface"
    WARN [gfaestus::vulkan::init] "VK_KHR_xlib_surface"
    WARN [gfaestus::vulkan::init] "VK_EXT_acquire_drm_display"
    WARN [gfaestus::vulkan::init] "VK_EXT_acquire_xlib_display"
    WARN [gfaestus::vulkan::init] "VK_EXT_debug_report"
    WARN [gfaestus::vulkan::init] "VK_EXT_direct_mode_display"
    WARN [gfaestus::vulkan::init] "VK_EXT_display_surface_counter"
    WARN [gfaestus::vulkan::init] "VK_EXT_debug_utils"
    WARN [gfaestus::vulkan::init] "VK_KHR_portability_enumeration"
    INFO [winit::platform_impl::platform::x11::window] Guessed window scale factor: 1
    INFO [gfaestus::vulkan::init] Selected physical device: "AMD RADV RENOIR"
    INFO [gfaestus] Loading GFA
    INFO [gfaestus::gfa::load] loading GFA with 10 nodes, 11 edges
    INFO [gfaestus::gfa::load] adding nodes
    INFO [gfaestus::gfa::load] adding edges
    INFO [gfaestus::gfa::load] adding paths
    INFO [gfaestus::gfa::load] created path handles
    INFO [gfaestus::universe] loading layout
    INFO [gfaestus] layout bounding box	(1000.00, 1000.00)	(1012.14, 12018.01)
    INFO [gfaestus] layout width: 12.14	height: 11018.01
    INFO [gfaestus] GFA loaded in 0.004 sec
    INFO [gfaestus] Loaded 10 nodes	20 points
    WARN [gfaestus::vulkan::draw_system::nodes] node_renderer_type: TessellationQuads
    [src/main.rs:389]
    [src/main.rs:398]
    [src/main.rs:403]
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: No such file or directory (os error 2)', src/main.rs:455:10
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    gfaestus: vendor/src/vk_mem_alloc.h:11791: void VmaDeviceMemoryBlock::Destroy(VmaAllocator): Assertion `m_pMetadata->IsEmpty() && "Some allocations were not freed before destruction of this memory block!"' failed.
    Aborted (core dumped)
    

    Any ideas? Thanks!

    Files are in toposort.zip.

    opened by subwaystation 1
  • Weired display on M1 Mac

    Weired display on M1 Mac

    Hi,

    I installed MoltenVK and Vulkan on M1 Mac and gfaestus cargo building seems very smooth. But when I run the gfaestus with my graph, it display was all black and some weired thing displayed in the screen. I can choose the button.

    ./gfaestus-release chr1.fasta.gz.0eed25d.c2fac19.5c75112.smooth.final.gfa 
    
    chr1.fasta.gz.0eed25d.c2fac19.5c75112.smooth.final.og.lay.tsv
    DEBUG [gfaestus] Logger initalized
    DEBUG [gfaestus] using /Users/zbao/software/gfaestus/chr1.fasta.gz.0eed25d.c2fac19.5c75112.smooth.final.gfa and /Users/zbao/software/gfaestus/chr1.fasta.gz.0eed25d.c2fac19.5c75112.smooth.final.og.lay.tsv
    DEBUG [gfaestus::vulkan] Initializing GfaestusVk context
    DEBUG [gfaestus::vulkan] Using default event loop
    DEBUG [gfaestus::vulkan] Creating window
    DEBUG [gfaestus::vulkan] Created Vulkan entry
    DEBUG [gfaestus::vulkan::init] Creating instance
    DEBUG [gfaestus::vulkan::init] Enumerated required instance extensions
    DEBUG [gfaestus::vulkan::init] getting layer names and pointers
    DEBUG [gfaestus::vulkan::init] Loading instance extension "VK_KHR_surface"
    DEBUG [gfaestus::vulkan::init] Loading instance extension "VK_EXT_metal_surface"
    DEBUG [gfaestus::vulkan::init] Loading instance extension "VK_KHR_get_physical_device_properties2"
    DEBUG [gfaestus::vulkan] Created Vulkan instance
    DEBUG [gfaestus::vulkan] Created window surface
    DEBUG [gfaestus::vulkan::init] Enumerating physical devices
    DEBUG [gfaestus::vulkan::init] Device 0 - "Apple M1 Pro"
    INFO [gfaestus::vulkan::init] Selected physical device: "Apple M1 Pro"
    DEBUG [gfaestus::vulkan::init] Found queue families; graphics: Some(0), present: Some(0), compute: Some(0)
    WARN [gfaestus::vulkan::context] Device is missing the optional feature: wide_lines
    DEBUG [gfaestus::vulkan::render_pass] Chose node ID image format: R32_UINT
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: B8G8R8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x135645a90
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: B8G8R8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x136804080
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R32_UINT, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x135647100
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R32_UINT, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: TRANSFER_SRC | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x1356460b0
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x136811600
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: SAMPLED | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x136b0c280
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: SAMPLED | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x13680a530
    DEBUG [gfaestus] futures thread pool: 3
    DEBUG [gfaestus] rayon   thread pool: 4
    INFO [gfaestus] Loading GFA
    INFO [gfaestus::gfa::load] loading GFA with 4289958 nodes, 5937559 edges
    INFO [gfaestus::gfa::load] adding nodes
    INFO [gfaestus::gfa::load] adding edges
    INFO [gfaestus::gfa::load] adding paths
    INFO [gfaestus::gfa::load] created path handles
    INFO [gfaestus::universe] loading layout
    INFO [gfaestus] layout bounding box	(1000.00, 1000.00)	(29598796.00, 516053.66)
    INFO [gfaestus] layout width: 29597796.00	height: 515053.66
    INFO [gfaestus] GFA loaded in 24.537 sec
    INFO [gfaestus] Loaded 4289958 nodes	8579916 points
    WARN [gfaestus::vulkan::draw_system::nodes] node_renderer_type: TessellationQuads
    DEBUG [gfaestus::vulkan::texture] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 2048, height: 64, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: TRANSFER_SRC | TRANSFER_DST | SAMPLED | STORAGE, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan::texture] Allocating 524288 bytes of memory for image
    DEBUG [gfaestus::vulkan::texture] Transitioning image to SHADER_READ_ONLY_OPTIMAL
    DEBUG [gfaestus::vulkan::texture] Created image view
    DEBUG [gfaestus::vulkan::texture] Image created: 0x2d6b47a70
    DEBUG [gfaestus::reactor] spawning reactor task
    DEBUG [gfaestus::reactor] spawning reactor task
    DEBUG [gfaestus::reactor] spawning reactor task
    DEBUG [gfaestus::reactor] spawning reactor task
    DEBUG [gfaestus::reactor] spawning reactor task
    DEBUG [gfaestus::script] Overlay values, min: 1, max: 4016
    [src/main.rs:380]
    DEBUG [gfaestus::vulkan::texture] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 1024, height: 64, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: TRANSFER_SRC | TRANSFER_DST | SAMPLED | STORAGE, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan::texture] Allocating 262144 bytes of memory for image
    DEBUG [gfaestus::vulkan::texture] Transitioning image to SHADER_READ_ONLY_OPTIMAL
    DEBUG [gfaestus::vulkan::texture] Created image view
    DEBUG [gfaestus::vulkan::texture] Image created: 0x2c1ff8a20
    DEBUG [gfaestus::vulkan::texture] Copying buffer into texture
    [src/main.rs:388]
    [src/main.rs:391]
    WARN [gfaestus::gui::console] initializing app_module
    WARN [gfaestus::gui::console] initializing msg_module
    WARN [gfaestus::gui::console] initializing db_module
    WARN [gfaestus::gui::console] initializing geo_module
    WARN [gfaestus::gui::console] initializing modal_module
    DEBUG [gfaestus::vulkan::texture] Creating 2048x64 R8_UNORM texture from pixel slice
    DEBUG [gfaestus::vulkan::texture] Created staging buffer
    DEBUG [gfaestus::vulkan::texture] Copied pixels into staging buffer
    DEBUG [gfaestus::vulkan::texture] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8_UNORM, extent: Extent3D { width: 2048, height: 64, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: TRANSFER_SRC | TRANSFER_DST | SAMPLED, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan::texture] Filled image from staging buffer
    WARN [gfaestus] uploaded path view texture: User(1)
    DEBUG [gfaestus::vulkan::render_pass] Chose node ID image format: R32_UINT
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: B8G8R8A8_UNORM, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x135646740
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: B8G8R8A8_UNORM, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x2d8e70950
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R32_UINT, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x136b0c280
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R32_UINT, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: TRANSFER_SRC | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x1252537c0
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x154754a20
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: SAMPLED | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x2d6b5ba90
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 3024, height: 1890, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: SAMPLED | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 22861440 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x1252566c0
    DEBUG [gfaestus::vulkan::render_pass] Chose node ID image format: R32_UINT
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: B8G8R8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x2d6b5a720
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: B8G8R8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x1547367c0
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R32_UINT, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x2d6b5c870
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R32_UINT, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: TRANSFER_SRC | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x1369c6fa0
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_4, tiling: OPTIMAL, usage: COLOR_ATTACHMENT | TRANSIENT_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x154754a20
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: SAMPLED | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x2d6b5bd80
    DEBUG [gfaestus::vulkan] Creating image ImageCreateInfo { s_type: IMAGE_CREATE_INFO, p_next: 0x0, flags: , image_type: TYPE_2D, format: R8G8B8A8_UNORM, extent: Extent3D { width: 800, height: 600, depth: 1 }, mip_levels: 1, array_layers: 1, samples: TYPE_1, tiling: OPTIMAL, usage: SAMPLED | COLOR_ATTACHMENT, sharing_mode: EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: 0x0, initial_layout: UNDEFINED }
    DEBUG [gfaestus::vulkan] Allocating 1920000 bytes of memory for image
    DEBUG [gfaestus::vulkan] Image created: 0x135646740
    
    
    image
    opened by baozg 0
  • cargo build error

    cargo build error

    Hi when i build in Macos with. cargo build --release It go with :

    error: failed to download `emath v0.15.0`
    
    Caused by:
      unable to get packages from source
    
    Caused by:
      failed to parse manifest at `/Users/masen/.cargo/registry/src/github.com-1ecc6299db9ec823/emath-0.15.0/Cargo.toml`
    
    Caused by:
      feature `resolver` is required
    
      consider adding `cargo-features = ["resolver"]` to the manifest
    

    after add cargo-features = ["resolver"] to the end of Cargo.toml. still another message: error: failed to parse manifest at/Users/masen/Documents/gfaestus/Cargo.toml`

    Caused by: invalid type: sequence, expected a version string like "0.9.8" or a detailed dependency like { version = "0.9.8" } for key patch.crates-io.cargo-features

    `

    opened by masen0407 1
  • How to install gfaestus

    How to install gfaestus

    Hi @chfi,

    I just got my 2D layout for a human pangenome using odgi. Just wondering how can I install gfaestus in order to use the interactive tool for navigating the VGS?

    Thanks in advance!

    opened by Overcraft90 22
  • making core actions easy

    making core actions easy

    Gfaestus is very good at loading large, complex variation graphs for whole human chromosomes. It also works very well on smaller subgraphs, where the odgi layout algorithm can be run longer to produce cleaner renderings.

    It needs a lot of UI polish to be usable. Here are things that gfaestus is capable of, but for which the UI is very tricky:

    • coloring / highlighting / labeling annotations (regions, positions, genes) from GFF or BED
    • finding a position in a path
    • finding the position of a path at a given node
    • zooming into a particular node (by id or path position)
    • color overlays showing path depth and base content (e.g. node sequence hash)
    • color overlay showing annotation depth or numerical features given in annotations (e.g. the 4th column of a BED)

    And here's a few that are nearly possible, but which would require a little work, but are essential to use:

    • subgraph selection and extraction (to GFA)
    • overlay (with an additional set of splines or segments) the approximate walk through the layout made by a given path, avoiding overplotting as much as possible so as to show the traversal of a path through a difficult region

    There should be a menu of actions that provides GUIs that walk through the required steps to set these up. The amount of state that's kept around could be minimized. For instance, we may not need to many GFF or BED files into memory if we just want to take annotations from one and layer them on the graph. We can just read the file and store the required annotations and their positions on the layout.

    Over time, we'll learn how to simplify the set of actions, and extend them. But focusing on these use cases should help us get to where the tool is solving current problems in our work.

    opened by ekg 2
  • Error loading GFA file

    Error loading GFA file

    Hi

    I'm trying to load my GFA file, but I'm getting an error.

    gfaestus *.smooth.gfa *.smooth.chop.og.lay
    loading GFA
    loading GFA with 734 nodes, 1003 edges
    adding nodes
    adding edges
    adding paths
    created path handles
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: stream did not contain valid UTF-8', src/main.rs:116:61
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    
    echo $RUST_BACKTRACE
    1 
    

    I've also set the environment variable RUST_BACKTRACE=1 but still get no more information about the error.

    I'm trying to visualise graphs produced from PGGB (https://github.com/pangenome/pggb). At the moment I'm only looking at small graphs representing a gene region. Thanks for any help you can provide.

    opened by brettChapman 9
Releases(v0.0.1)
  • v0.0.1(Aug 2, 2022)

    gfaestus is a pangenome graph browser for GFA files. It reads graphs in GFAv1 format, with 2D layouts produced by odgi. The user can interact with the graph nodes, to view the set of paths at each node, or provide overlays which color the nodes based on path depth or sequence features. gfaestus can scale to simultaneously display all the nodes in a whole human pan-chromosome. To link biological features to the graph model, gfaestus uses colors and labels to display path-relative annotations provided in BED format.

    Source code(tar.gz)
    Source code(zip)
Owner
Christian Fischer
Christian Fischer
Cross-platform GPU-accelerated viewer for the Mandelbrot set and similar (escape-time) fractals

fractal_viewer A cross-platform, GPU-accelerated viewer for the Mandelbrot Set and related fractals. Try it online! Usage Scroll wheel to zoom, click

null 5 Jan 8, 2023
Vulkan rendering sandbox for raytracing

sol-rs ☀ sol-rs is a small rendering toolkit for Vulkan, with a focus on real-time raytracing (which is not currently available via other APIs such as

Éric Renaud-Houde 65 Dec 7, 2022
Vulkan and Rust rendering~game engine which creation is covered with YouTube videos

Vulkan and Rust rendering~game engine which creation is covered with YouTube videos

小鳥 11 Dec 4, 2022
A barebones example of how to integrate OpenXR with wgpu (Vulkan-only)

wgpu-openxr-example a barebones example of how to integrate OpenXR with wgpu (Vulkan-only) It has four modes: cargo run --no-default-features: desktop

Philpax 21 Dec 15, 2022
A vulkan library.

Docs.rs vkvk A vulkan library. Running The Example The shaders aren't compiled as part of the build script. Instead, run shader_build.bat (or copy the

Lokathor 7 Mar 13, 2023
grr and rust-gpu pbr rendering

grr-gltf Barebone gltf viewer using grr and rust-gpu. Currently only supports a single gltf model! Assets These files need to be downloaded and placed

Markus Siglreithmaier 28 Dec 2, 2022
Tic-Tac-Toe on the GPU, as an example application for wgpu

Tic-Tac-GPU A simple (cough cough) example on a tic-tac-toe game with wgpu. Why? Because I didn't find that many small applications which use wgpu as

multisn8 2 Oct 7, 2022
🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU

renderling ?? This library is a collection of WGPU render pipelines. Shaders are written in GLSL. shaderc is used to compile shaders to SPIR-V. Defini

Schell Carl Scivally 5 Dec 20, 2022
Provides a mechanism to lay out data into GPU buffers according to WGSL's memory layout rules

Provides a mechanism to lay out data into GPU buffers ensuring WGSL's memory layout requirements are met. Features supports all WGSL host-shareable ty

Teodor Tanasoaia 69 Dec 30, 2022
Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance.

bevy_efficient_forest_example Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance. Grass i

Henrik Djurestål 43 Jan 5, 2023
3d Cellular Automata using WGPU in Rust (for the web and using compute shaders)

3D-Cellular-Automata-WGPU 3d Cellular Automata using WGPU in Rust (for the web and using compute shaders) The branches are very messy... I recommend y

null 18 Dec 18, 2022
A simple space shooter game. Runs in the terminal using characters-based UI. Fully written in Rust, using the "ruscii" library.

Thrust - a terminal shooter game Originally created as a project for the "Missing Semester" course at JKU Linz (338.006). The game is entirely written

Mathias Wöß 3 Jan 16, 2023
Simple profiler scopes for wgpu using timer queries

wgpu-profiler Simple profiler scopes for wgpu using timer queries Features Easy to use profiler scopes Allows nesting! Can be disabled by runtime flag

null 41 Dec 5, 2022
Text Renderer written in Rust using HarfBuzz for shaping, FreeType for rasterization and OpenGL for rendering.

Provok Text Renderer written in Rust using HarfBuzz for shaping, FreeType for rasterization and OpenGL for rendering. Input Provok is fed with a JSON

Ossama Hjaji 67 Dec 10, 2022
Rustcraft is a simple Minecraft engine written in rust using wgpu.

Rustcraft is a simple Minecraft engine written in rust using wgpu.

Raphael Van Hoffelen 110 Dec 22, 2022
Show puffin profiler flamegraph in-game using egui

Show puffin profiler flamegraph in-game using egui puffin is an instrumentation profiler where you opt-in to profile parts of your code: fn my_functio

Emil Ernerfeldt 44 Jun 3, 2022
Proof-of-concept of getting OpenXR rendering support for Bevy game engine using gfx-rs abstractions

Introduction Proof-of-concept of getting OpenXR rendering support for Bevy game engine using gfx-rs abstractions. (hand interaction with boxes missing

Mika 52 Nov 14, 2022
A framework for making games using Macroquad.

Omegaquad A framework for making games using Macroquad. After writing maybe 5 games and finding myself always going to the previous project to copy-pa

null 14 Oct 13, 2022
minesweeper-rs is a simple minesweeper game using Rust and windows-rs.

minesweeper-rs minesweeper-rs is a simple minesweeper game using Rust and windows-rs. Key Features TBA Quick Start TBA How To Contribute Contributions

Chris Ohk 15 Jun 25, 2022