Now, the quality string value is the highest observed for that base call instead of the highest observed for any read.
I avoided doing this more intensive approach both because of RAM requirements and the effort to code, since we're mostly ignoring these quality scores, but I figure that, with the vetter, it does actually matter.
I also took the time to add some caching and saving precomputed values to save some time.
Now, the quality string value is the highest observed for that base call instead of the highest observed for any read.
I avoided doing this more intensive approach both because of RAM requirements and the effort to code, since we're mostly ignoring these quality scores, but I figure that, with the vetter, it does actually matter.
I also took the time to add some caching and saving precomputed values to save some time.