Bonjour,

Voici le problème. J'ai un alignement de 53 séquences de 1498 nucléotides. Je voudrais retrouver pour chaque séquence, les tronçons de 5 nucléotides dont au minimum 3 nucléotides différents pour les 52 autres séquences alignées.
Quelle est la façon la plus simple de traiter les données?
Je pourrais placer l'ensemble des séquences dans un tableau à 2 dimensions, une matrice, et m'y déplacer nucléotide par nucléotide via une fenêtre de 5 nucléotides. Cela me permettrait de faire mes comparaisons par 5 colonnes ... mais cela sera un travail énorme vu le nombre de comparaisons à faire. N'existerait-il pas des modules pouvant alléger cette tâche?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
     0   |  1   |  2   |  3 ... 1497
 
0   A      .      T      C             ( . = gap = absence de nucléotide = nucléotide différent)
 
1   A      T      T      C
 
2   A      C      T      C
 
3   G      T      T      A
...
 
51

Avec vous une idée à suggérer?


Pour ce qui est de la comparaison des pentanucléotides, existe-il une fonction renvoyant le nombre de lettre différentes entre 2 mots? Ou devrait-je comparer nucléotide par nucléotide? Il y a plusieurs mois, j'avais regardé dans les module destinés à la lexicographie mais je n'avais rien trouvé.


Merci pour votre aide.