Zéro malloc/free dans le kmer segmenter (itérateur getResults())
pas de strings :
- soit directement 0/1/2/3 à la sortie de OnLineFasta
- soit, plus simple, juste l'itérateur dans KmerStore . getResults()
Implémenté dans branche "getResults". Passe les tests... mais voir commentaire de 8870b35, c'est curieux.
Sur 14-07-Nijmegen/all.fastq, uniquement la segmentation : getResults real 0m38.008s user 0m29.394s master real 1m8.989s user 1m0.036s
Même nombre de SEG. Par contre, de très légères différences dans les causes de UNSEG. Pour une même affection des reads sont dans un cas toofewV et dans l'autre toofewJ. Extrait de 14-07-Nijmegen/diff-master-getResults :
CEBEW:01362:00030 ACGTTTGATCTCCAC -#UNSEG too few J +#UNSEG too few V _ _ _-J
(...)
CEBEW:01551:00111 ACGTTTTGATCTCCACCT -#UNSEG too few V +#UNSEG too few J _ _ _ _-J _ _
toujours sur 14-07-Nijmegen/all.fastq, pour comparaison : release-2014.03 real 1m9.651s user 1m0.456s
(curieusement, on a perdu 4% de segmentées entre release-2014.03 et master ?)
Dans la version release-2014.03 on a des segmentations comme celle-ci : CEBEW:00023:00065 - VJ 0 94 120 157 seed
Alors que delta_max vaut 20 (et 120 - 94 > 20 je crois)
wc -l 0
wc -l 47677
awk '$0~/^>/ && $6-$5 > 20' out-speed-master/segmented.vdj.fa
Ce qu'on peut vérifier comme cela : awk '$0~/^>/ && $6-$5 > 20' out-speed-2014.03/segmented.vdj.fa
ok
Il semble, pour une raison que j'ignore, que le delta_max vaille 50 en dépit de ce qui est affiché sur la sortie standard :
k = 11, w = 40, delta = [-10,20]
Voici la répartition des valeurs des delta observées dans le fichier .vdj.fa pour 2014.03 : 2 -10 631 -9 120 -8 50 -7 160 -6 56 -5 97 -4 106 -3 191 -2 549 -1 59829 0 58104 1 74169 2 130098 3 89321 4 20963 5 138043 6 29126 7 22434 8 105227 9 59138 10 15288 11 5760 12 13950 13 55996 14 3978 15 2197 16 3954 17 3083 18 10562 19 5324 20 1730 21 1612 22 1326 23 1225 24 7504 25 25796 26 1501 27 1080 28 675 29 790 30 426 31 349 32 622 33 421 34 352 35 337 36 357 37 250 38 217 39 122 40 131 41 113 42 167 43 114 44 106 45 83 46 80 47 49 48 79 49 63 50
Il serait peut-être pertinent de mettre un delta_max qui dépende du système (l'enzyme responsable des insertions n'a pas la même activité sur tous les systèmes)
814f8cbff :-) Le 50 était codé en dur avant.