-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes to BLAST functionality and refactoring #39
Conversation
Issues addressed here: - Off-target amplicons are now reported as intended in the logs - Off-target amplicons are now always considered last for the final scheme (no penalty is used, but the fact that they had BLAST matches gets recorded) - Amplicon numbering proceeds from 5' to 3' even across pools - In the primer bed file, primers are now ordered according to the amplicon number without taking the pool into account For this, the internal representation of amplicon schemes had to be unified across the different modes and steps of the analysis.
This ensures that the best amplicons get the lowest ID numbers in the written scheme.
Once I'm finished with this, you could consider removing the blast penalty parameter. |
Wow ok, that looks great at first glance! I think your general idea for the structure is very practical. One thing, we should prob. calrify for the blast_penalty. I am not quite sure how we will be able to remove this. While you can use simple sorting in the qpcr and single mode without needing to add to the general penalty, I am not sure how this can be achieved with the graph search. The idea of this high penalty was that the amplicons are preferentially used if they do not have recieved the high blast penalty but can be used if no other amplicons are available - cost for walking are in this case high but better than not finding a scheme. |
A very fair point. Was exploring this a bit and the latest commit now uses graph edge values / distances that are tuples of (number_of_off_target_amplicons, costs). Turns out this is somewhat more efficient in avoiding amplicons with BLAST hits: |
... in all interval clculations
Amplicons do not really sit on any single strand.
CHANGELOG
Changes around BLAST functionality:
scheme (no penalty is used, but the fact that they had BLAST matches
gets recorded)
General reporting changes:
Algorithmic fixes and enhancements: