Comments (5)
Hey, @msettles . :) I hope all is going well for you! Thanks for the comments and questions. I will get to them all today.
Welcome to the new overlapper, we are still tweaking the parameters, but it should be quite a bit faster than the old flash. It is a new algorithm compared to FLASH as well.
Take the longest of the two reads and create a dictionary/map with kmers with a certain offset (parameters –k and –r). We now use this as quick lookup table for the shorter of the two reads.
The shorter of the two reads checks perfect overlapping kmers on both sides of the reads going in a certain amount (-c, --check-length) against the dict/map. We can make this assumption because the overlap must contain the ends of the shorter read on the left or right side. Once a hit happens, a base by base comparison happens just like flash.
Hopefully that made sense, let me know if there are any questions. To answer specific question.
1 – Yep, histograms aren’t outputted automatically. This argument takes a string for the location you want it outputted to.
2 – Yup, new algorithm, I think I hit those two in the explanation above, but let me know if it is still unclear.
3 – Again, check above, and let me know if it doesn’t make sense.
4 – Yes, that is much clearer, I will change that on the help
5 – So, my logic for this one which might be totally off. If adapter trimming is on, R1 might get trimmed to the point it doesn’t meet minimum length, thus discarded. R2 is long enough after adapter trimming, so if stranded is selected, it will be RC and outputted.
Let me know if I answered your questions for overlapper. If anything is still unclear, please, let me know. Right now validation and documentation is happening so I appreciate all the input.
from htstream.
from htstream.
Hey Matt,
So yes, obviously this gets kind of complicated. I think the rule we were trying to operate under went something like this:
If stranded=True: all SE reads -- both due to overlap and due to discard from length -- should be in the orientation of R1.
So, if R1 is quality trimmed until it is the shorter read, it should still be used as the read which orients R2 in overlap so that the SE overlapped output is always in R1 orientation regardless of whether R1 or R2 was the longer read.
AND
If R1 is discarded then R2 is reported as RC in order to ensure that all outputs in the SE file are in R1 orientation.
Hopefully that seems reasonable :)
Sam
from htstream.
from htstream.
Think this is all covered, although there is one proposed change I'll detail in a commit
from htstream.
Related Issues (20)
- hts_SeqScreener enhancements for bigger references
- hts_Primer doesn't report fragments and basepairs_in
- Feature downgrade actually, remove -a option from SuperD
- -m (minLength) option removed from hts_QWindowTrim, but does not exist in hts_CutTrim HOT 3
- Flag use HOT 1
- Is "percentage-hits" calculated properly for SeqScreener? HOT 1
- SuperDeduper ignoring reads HOT 6
- hts_Primers doesn't seem to read multi-fasta files correctly
- hts_Primers - error message HOT 4
- Version incorrect and CMAKE_PREFIX_PATH not working HOT 5
- How to cite HTStream? :-) HOT 2
- hts_LengthFilter is missing from the documentation!
- citation? HOT 2
- Add to CutTrim, trim to length from 5' or 3'
- pointer error in hts_Stats HOT 1
- Compiling from source fails on Ubuntu 22.04.1 HOT 2
- Remaining adapter sequence
- Order of input files to hts_SeqScreener changes hits reported when R1/R2 lengths differ
- "no such file or directory" error HOT 2
- munmap_chunk(): invalid pointer error HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from htstream.