lskatz / fasten Goto Github PK
View Code? Open in Web Editor NEW:construction_worker: Fasten toolkit, for streaming operations on fastq files
License: MIT License
:construction_worker: Fasten toolkit, for streaming operations on fastq files
License: MIT License
I would specify when a tool supports FASTA and FASTQ or only FASTQ as input, including in the description (the --help
page).
It's self-explanatory to have quality-related functions not working on FASTA files. Still, some tools like fasten_sort do not work on FASTA file, but there's no evident mention and no input validation.
I understand that sometimes the philosophy of keeping it simple can be the right thing to do; in this case, just a line in the helpfile would suffice :)
for fasten_mutate
is not clear if the number of SNPs should be guaranteed or it's just a maximum.
From the tests it looks like the second:
for i in {1..30};
do
./target/debug/fasten_mutate < testdata/four_reads.fastq --snps 5 -m | awk 'NR % 4 == 2' | \
sed 's/[a-z]//g' | perl -ne 'chomp; if (length($_)!=5){die "Error: unexpected SNPs count: $_\n"}';
done
If this is the intended behaviour I would specify so in the help page
-s, --snps INT Number of SNPs (point mutations) to include per read.
linked to #20
Add command to convert to interleaved format and back from interleaved format back to 2 FASTQ files for paired-end data, so they can be used at the beginning and end of a fasten pipeline.
The existing installation instructions are fine, but you might want to add a line that cargo install fasten
works (tested on my Linux box) and installs all the programs in the appropriate place without needing a git clone
.
Can you explicitly state (perhaps in readme or help menu) which tests are used for FastQ validation in fasten_validate
? As far as I can tell in the src the seqlen and quallen aren't compared, or am I wrong?
I've only ever seen 2 options to handle this issue when Field 2 and Field 4 lengths aren't the same:
Both options some might find useful in something like --seq-and-qual-len-diff [repair,remove]
but I think remove is the safer more ideal option for quality concerns if only 1 can be implemented. The remove creates a broken sister read pair, so it might be tougher to implement.
Hello pips,
I open this issue to keep track of the review.
Benchmark: version of the tools
I started reproducing the benchmark and wanted to know if you could share the exact version of the programs used in your benchmark. I made an environment with the latest version of Fasten, SeqTK, Seqkit, SeqFu, fastx but maybe it's better to synchronise this (and to mention the versions used in the paper)
Need to add functionality for numcpus
I think the summary would help potential users understand the package better if "random operations" and "secure your analysis" were reworded/expanded to be a bit more clear.
This covers the "statement of need" for documentation in the JOSS checklist: openjournals/joss-reviews#6030
I'm not sure if there's a performance difference (in which case please feel free to add a comment and disregard this), but I think opening /dev/stdin
instead of using std::io::Stdin
might limit the platforms fasten works on to only POSIX ones (i.e. probably not Windows). Not a high priority, but an easy search/change and probably a good beginner bug.
Hi team,
Just wonder there can be a merge command like seqtk mergepe to interleave and deinterleave fastq/fasta files. I imagine it can be very useful.
Thanks,
Jianshu
A simple script to read in reads and print them out again but print something to stderr
Have an option to write to a file or files what fasten_trim removes. Maybe an output directory since it will be undoubtedly just be intermediate files.
Jellyfish and SeqFu could be added to the References list.
Covered under "Software Paper" in "References" in the JOSS checklist: openjournals/joss-reviews#6030
Hi fasten team,
In some cases where I have limited disk space for default rust binary install path, I have to compile it and put binary into a user path, I find it to be not so convenient for so many commands. Is it possible to use subcommand for each commands, just like what seqkit did, I feel this way it is more natural. Also clap 4.5 can be use for such a case.
Thanks,
Jianshu
I'm curious as to what fasten_validate checks on fastq files. I think it would be useful to have a little blurb or bullet points on what is validated when running that tool.
Just a thought, nothing urgent!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.