Bonjour à tous,
Depuis quelques temps je suis à la recherche d'une solution pour modifier une partie de mes données brutes en vain.
Voici mes données brutes: en première colonne le nom des chromosomes, en 2eme la position physique, en 3eme l'identifiant unique de ma ligne, en 6eme une codification à utiliser, en 7eme ma colonne à modifier.
Objectif: dans cet exemple, la ligne contenant le 1_144 possède à droite du [C/A] dans la colonne N°7 un "N" à 30 bases plus loin correspondant à la base de la ligne suivante nommée 1_174 car les séquence distance de moins de 100 unités sont chevauchantes. Et inversement, dans la ligne contenant le 1_174, on retrouve à gauche du [C/A] un "N" à -30 bases de la ligne précédente nommée 1_144. Il faudrait pour la ligne 1_144 remplacer le "N" par "H" pris dans la ligne 1_174 et pour la ligne 1_174 remplacer le "N" par "M" pris dans la ligne 1_144. Cela est vrai uniquement si la distance entre les lignes est inférieur à 100 unités. Au dela nous avons pas de recouvrement de séquence et donc pas de modification à opérer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CHROM POS ID REF ALT IUPAC CONTEXT 1 144 1_144 C A M CAAATAATGATCAAATAAATTTAAAAAGCAATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATA[C/A]CATGTGAAACCTCAATTTTTAGCCATTCCNAACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAG 1 174 1_174 C A,T H ATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATANCATGTGAAACCTCAATTTTTAGCCATTCC[C/A]AACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGA 1 303 1_303 G C S TAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGACATGAAAATTTCAAAATTTGGAAACCGG[G/C]TAATATTTGACATTCATGTTTTGAATGGCTAAAAGTGAAGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCA 1 442 1_442 T A W AGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTC[T/A]TTTTGAATATTTGAAGGCATACCATGGTGAACCTCAATTTTTAGCCATTCCCCATGGTGAAACCTCAATTTTTAGTCATTCCCAACATACAAGTCAAATA
Résultats souhaité:
Attention: il se peut qu'il y ait plusieurs "N" dans les séquences à gauche et a droite de [./.], mais il faut prendre spécifiquement le bon, a savoir si la distance 174-144 =30, alors on ne doit modifier que le N à +30, et inversement à -30 pour l'autre ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CHROM POS ID REF ALT IUPAC CONTEXT 1 144 1_144 C A M CAAATAATGATCAAATAAATTTAAAAAGCAATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATA[C/A]CATGTGAAACCTCAATTTTTAGCCATTCCHAACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAG 1 174 1_174 C A,T H ATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATAMCATGTGAAACCTCAATTTTTAGCCATTCC[C/A]AACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGA 1 303 1_303 G C S TAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGACATGAAAATTTCAAAATTTGGAAACCGG[G/C]TAATATTTGACATTCATGTTTTGAATGGCTAAAAGTGAAGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCA 1 442 1_442 T A W AGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTC[T/A]TTTTGAATATTTGAAGGCATACCATGGTGAACCTCAATTTTTAGCCATTCCCCATGGTGAAACCTCAATTTTTAGTCATTCCCAACATACAAGTCAAATA
Merci de votre aide !
Partager