ProbeMakerPropertyUtils.clearMessages(five);
//Set up the structure for the MPC, 5'
float Tm;
if (five.length() > 0) {
if (t != null) {
NucleotideSequence temp = p.getTarget().getTemplateCluster().getSequence(ProbeMakerTarget.KEY_FIVE_PRIME);
if (temp != null) {
int secstart = t.getFivePrimeFixedEnd() == TemplateHandler.THREEPRIME ? 1 :
temp.length() - five.length() + 1;
int secend = t.getFivePrimeFixedEnd() == TemplateHandler.THREEPRIME ? five.length() :
temp.length();
NAHybridStructure st = new DefaultNAHybridStructure(five, 1, five.length(),
temp,
secstart, secend);
Tm = calculateTm(five, temp, st, defaultMpc, backupMpc);
ProbeMakerPropertyUtils.setHybridizationTemp(five,Tm);
}
}
else {
Tm = calculateFullMatchTm(five, defaultMpc, backupMpc);
ProbeMakerPropertyUtils.setHybridizationTemp(five,Tm);
}
}
}
}
catch (ClusterException e) {
// Do nothing
}
try {
PropertyAcceptorNucleotideSequence three = (PropertyAcceptorNucleotideSequence) p.getSequence(TSSPair.KEY_THREE_PRIME);
if (three != null) {
ProbeMakerPropertyUtils.clearMessages(three);
//Set up the structure for the MPC, 3'
float Tm;
if (three.length() > 0) {
if (t != null) {
NucleotideSequence temp = p.getTarget().getTemplateCluster().getSequence(ProbeMakerTarget.KEY_THREE_PRIME);
if (temp != null) {
int secstart = t.getThreePrimeFixedEnd() == TemplateHandler.THREEPRIME ? 1 :
temp.length() - three.length() + 1;
int secend = t.getThreePrimeFixedEnd() == TemplateHandler.THREEPRIME ? three.length() :
temp.length();
NAHybridStructure st = new DefaultNAHybridStructure(three, 1, three.length(),
temp, secstart,
secend);
Tm = calculateTm(three, temp, st, defaultMpc, backupMpc);
ProbeMakerPropertyUtils.setHybridizationTemp(three,Tm);