Erreur dans le calcul d'un score
Bonjour
Je travaille sur un projet de prédiction d'oligonucléotides ou je détermine pour chacune de ces macomolécules un score en fonction de leur réponse à des critères d'évaluation.
Voici une sortie de mon programme :
Code:
1 2 3 4 5
| CAAGAAUGCCGUGGAGUCUGU 2015 -212.82 -571.6 6973.09 52 56.7712 5
GUUCUUACGGCACCUCAGACA
CCAAGCCACUGUUAAGUGGCU 2090 -208.74 -556.9 6893.03 52 58.6193 134678821
GGUUCGGUGACAAUUCACCGA
CAAGCCACUGUUAAGUGGCUG 2091 -205.79 -551.1 6933.06 52 57.0812 134681523 |
Le score est le dernier chiffre. Ce chiffre doit être compris entre 0 et 10 inclus. Comme vous le voyez, certains de ces chiffres ne sont pas corrects. Voici mon enchaînement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
void my_prediction(siRNA_Ensembl *ensemble, siRNA_Ensembl *ensemble2, int MaxGC, int MinGC, double sel){
for(unsigned int i=0; i<ensemble->ensembl.size(); i++){
if(rule1(ensemble->ensembl[i], MaxGC, MinGC))
if(rule2(ensemble->ensembl[i]))
if(rule3(ensemble->ensembl[i])){
ensemble->ensembl[i]->Tm = Calc_Tm(ensemble->ensembl[i], sel);
ensemble->ensembl[i]->MW = getMW(ensemble->ensembl[i]->sens);
ensemble->ensembl[i]->antisens = complement(ensemble->ensembl[i]->sens);
rule4(ensemble->ensembl[i]);
rule5(ensemble->ensembl[i]);
rule6(ensemble->ensembl[i]);
rule7(ensemble->ensembl[i]);
rule8(ensemble->ensembl[i]);
ensemble2->ensembl.push_back(ensemble->ensembl[i]);
}
}
} |
Tous mes scores sont pourtant initialisés à 0 et je procède par des post-incrémentations pour augmenter mon score.
Pourquoi ai-je de temps en temps de pareils résultats ?
Merci d'avance de votre aide.
@++