Bonjour,
Je suis un vrai débutant en matière de programmation. J’utilise les langages de programmation awk, grep, sed et python pour analyser des séquences d’ADN. Le problème auquel je fais fasse depuis un certain moment est le suivant :
J’ai 1024 fichiers en format fasta. Ils sont du genre :
…….BamTo_AAAAA.fasta
…….BamTo_CCCCC.fasta
…….BamTo_GGGGG.fasta
…….BamTo_TTTTT.fasta
…….BamTo_ACAAA.fasta
…….BamTo_AGAAA.fasta
…….BamTo_ATAAA.fasta
……………………….. Avec A,C,G,T les 4 constituants (bases) des séquences d’ADN (ici 45 = 1024 = nombre de fichiers)
Chaque fichier contient à peu près 200 à 300 séquences avec des tailles différentes pouvant aller de 50 à 240 constituants (bases).
Dans chaque fichier, il y a des séquences répétées 1x, 2x, 2x, 3x, 4x, 5x,…..Nx. Le fichier …….BamTo_AAAAA.fasta peut par exemple contenir les séquences suivantes:
----------------------------------------------G----- séquence répétée 1x
------------------------------T--------- séquence répétée 2x
------------------------------T---------
------------------------------------A--------- séquence répétée 2x (avec une erreur)
------------------------------------G---------
---------------------------------C---------------------------- séquence répétée 3x (sans erreur)
---------------------------------C----------------------------
---------------------------------C----------------------------
-----------------------------------------C--------------------------- séquence répétée 3x (avec une erreur)
-----------------------------------------A---------------------------
-----------------------------------------A---------------------------
------G-----------------------------------A-------------------------- (séquences répétée 5x avec 3 erreurs)
------G-----------------------------------A--------------------------
------C-----------------------------------G--------------------------
------T-----------------------------------A--------------------------
------G----------------------------------A---------------------------
J’aimerais maintenant créer un fichier consensus (consensus_fichier1.fasta) qui contient : toutes les séquences répétées 1x et 2x de tous les fichiers, un représentant de chaque séquence répétée au moins 3x (après correction des erreurs). Dans le fichier consensus, une même séquence peut être répétée xfois, cela ne pose aucun problème.
Egalement, je souhaiterais un deuxième fichier consensus (consensus_fichier2.fasta) similaire au premier mais qui se présente comme suit :
Sequence1_AAAAA --------------------------------T-----------------------
Seuence2_ACAAA ---------------------------------------------------G----------------
Sequence3_AACAA -------------------------------A----------------
Chaque ligne du deuxième fichier consensus contient le nom de la séquence (sequence n_NNNNN ; {NNNNN} étant le suffix du fichier d’origine d’où provient la séquence n) suivi de tabulation et la séquence elle-même.
Avec le plus grand respect, quelqu’un pourrait-il m’aider avec quelques codes de awk, sed, grep ou de python à accomplir ce travail ?
D’avance, mille mercis
Partager