Giter Club home page Giter Club logo

fusta's People

Contributors

delehef avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fusta's Issues

Robustness could be improved

Hi again,

it might be beneficial to improve robustness of fusta towards user errors. Arguably, this could just be left as user error, but nonetheless it might be nice to improve on that, for more user friendliness.

For example, FASTA files containing header names with characters that are not valid in a file system (/, \, ? etc) will mount and give infos and labels files with the correct content, but otherwise be silently empty.

Similarly, when editing sequences to contain invalid FASTA content such as editing a seqs file to contain multiple new sequences, this is just silently written to the file when unmounting. That might even be misused as a "feature" to add sequences without going through the append directly - not sure how that messes with the internal file mapping while being mounted.

It might be good to at least give warnings for such misuse ;-)

Cheers
Lucas

Fuse dependency not fully installed on Ubuntu 20.04.4 LTS

Hi there,

your readme states that

On most GNU/Linux distributions, FUSE is installed by default. Otherwise, you should install it from your package manager โ€“ note that a reboot might be necessary for the kernel module to be loaded.

However, on Ubuntu 20.04.4 LTS, I first needed

sudo apt-get install fuse3 # might not have been necessary
sudo apt-get install libfuse3-* # installs libfuse3-3 and libfuse3-dev

I thought you might want to add to the readme that one of the libfuse dependencies might need to be install first. I am not sure which one of the two (libfuse3-3 and libfuse3-dev) was the one that actually was needed, but after that, I was able to cargo install fusta.

Cheers, and thanks
Lucas

Windows line endings not working

Hi again,

when opening a file with windows line endings \r\n, and renaming a sequence, the file after unmounting is broken.

Starting with

>a
GCAC-GTG-T
>b
C-T--AACCC
>c
AT-AACGTAG

and renaming one of the sequences gives me

>a

GCAC-GTG-T>x.seq
b
C-T--AAC>c

>c
AT-AAC

which does not seem right.

Best
Lucas

Cannot mount large files

Hello,

when trying to mount a large FASTA file (~30GB) with mmap, Rust is giving me an OOM panic:

fusta --no-daemon --max-cache 10000 SILVA_123.1_SSURef_Nr99_tax_silva_full_align_trunc.fasta 
 [INFO] Caching method:  Mmap
 [INFO] Reading SILVA_123.1_SSURef_Nr99_tax_silva_full_align_trunc.fasta...
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 12, kind: OutOfMemory, message: "Cannot allocate memory" }', src/fs.rs:601:34
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I'm not sure if that can be solved, or is a general limitation of mmap for such large files. Maybe at least the exception could be caught and a suggestion could be printed to use --cache file instead? It works fine with that option, and is surprisingly fast!

Cheers
Lucas

Files in `seq` not editable with all editors

Hello,

I'm trying to get an understanding of how the seq directory works - from the documentation, it seem that files in there should be editable, but that is not the case with all text editors. Opening in vim works, but neither nano nor gedit (from the file browser) work, and give me an error that I'm lacking write permissions. Not sure why those fail, but vim works.

Best
Lucas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.