-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 41
-
Component/s: None
-
Labels:
-
Epic Link:
-
Sprint:DEV-40-1, DEV-40-2, DEV-40-3
-
Affect Type:Userdefined
Implement "FindPresenceOfUnwantedParametersTask". This is almost the 1st point of the algorithm. The idea is that you have the input sequence and a set of parameters. You need to:
- Take two sequences: the left part of the sequence of settings.bachbone5Length base length and the right part of the sequence of settings.bachbone3Length base length. If the whole sequence is shorter then settings.bachbone5Length, use the whole sequence for the algorithm, but text a warning to log. The same with settings.bachbone3Length.
- Check both these sequences for unwanted structures hairpins, self-dimers and hetero-dimers between them. NOTE: skip hairpins for now, there's no algorithm for this yet.
Check self-dimers for each sequence and hetero-dimers between these two sequence using values from "Parameters to Exclude In Whole Primers". Use UnwantedConnectionsUtils. - In PCRPrimerDesignForDNAAssemblyTask::onSubTaskFinished check if unwanted structures have been found. If they were, you need to show the dialog with the following text:
The unwanted structures have been found in the following backbone sequence candidate:
ACGTACGT (text the sequence here)//Visualize all unwanted structures for 5' end
//Visualize all unwanted structures for 3' end
There (are [2/3/4/etc.] sequences / is 1 sequence /no sequences) in the file left. Use this sequence as the backbone?
Yes/No - answers
- If the user clicks "Yes" of in no unwanted structures have been found - set this sequence as PCRPrimerDesignForDNAAssemblyTask::backboneSequence. If the user clicks "No" go to the step 1 and use the next sequence. If sequences ran out, leave PCRPrimerDesignForDNAAssemblyTask::backboneSequence empty.