This bug fix release fixes two issues. Both were silly logic errors that resulted in program crashes in corner cases
This bug fix release fixes two issues:
This is a bug fix release that resolves some problems caused in version 0.3.4. Please update to 0.3.5 to get the full benifits that 0.3.4 was supposed to provide.
This is a bug fix release, but it may have important implications for the interpretation of previous results! I noticed an error on one of my datasets which was causing crass to crash. Upon tracking it down I found that in certain edge cases a direct repeat would be aligned to another in such a way that would cause the alignment function to return an invalid value.
The actual cause was due to the aligner not checking to make sure that the aligned bases were not some internal motif that may be common to the DR group or including sequences that were close but not really from the DR. This error was not caught at this stage but instead created flow on effects eventually resulting in a seemingly unrelated error in a different part of the code.
Aligning to an internal motif seemed to be the dominant alignments produced by repeats that were not of CRISPR origin and would get thrown out anyway during later filtering steps in crass. However I have noticed that many groups have a few less spacers in them than they had before. I believe that this is a good thing, ie those 'spacers' were not real. However I have not performed extensive testing to determine if this is the case. I recommend all users to examine the results from both 0.3.4 (or greater) and versions 0.3.3 and before to see if there are spacers going missing. If there are manually check to see if those spacers are being removed improperly (ie crass shouldn't be throwing them out), in which case open an issue in github or send me an email so I can work on the logic some more.
Our manuscript describing the Crass algorithm has been published in Nucleic Acids Research. You can find the manuscript here
This version implements a number of changes, both 'under-the-hood' and visible to the user. Changes visible to the user are:
|long form||short form|
Some other interface elements have also been changed in
crass-assembler, the assembly wrapper of choice is now invoked as an option. For example
crass-assembler --velvet to run the velvet wrapper, or
crass-assembler --cap3 to run the cap3 wrapper.
There have been other changes 'under-the-hood' to the search algoriths and to the alignment of DR types for determining the correct boundaries for a direct repeat. This means that you may find Crass finding more reads or even new DR types for the same datasets!! It may be worth rerunning Crass on any datasets that you've processed to see the differences
Crass was presented as a poster at the 14th international symposium on micrbial ecology in beautiful Copenhagen, Denmark. See the pdf of the poster here