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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.

@++