Bonjour à tous,
J'aurais besoin d'aide pour écrire un script qui enlève tous les éléments transposable qui overlaps (qui forme des clusters), et ne garder que les éléments transposable qui n'overlap pas avec d'autre éléments transposable et qui ont une distance minimum en amont et aval d'un autre élément transposable de 1000 bp .
J'ai un fichier avec ce nom : filtered_hypo_Gd293_Dorado_mod basecalling.fasta.out
Et ce type de données :
1739 3.3 0.0 0.0 contig_1 21700 21913 (1813093) + RM2_rnd-1_family-0 LTR/Gypsy 1666 1879 (4848) 1
9413 6.9 4.7 1.2 contig_1 21994 23389 (1811617) C RM2_rnd-1_family-0 LTR/Gypsy (5064) 1663 220 2
1531 1.6 0.0 0.0 contig_1 23260 23444 (1811562) + EDTA_TE_00000254_inc DNA 206 390 (6) 3 *
Les colonnes qui m'intéressent sont la 5,6, et 7
La colonne 5 correspond au nom de mon contig, la 6 à la position de départ de mon élément transposable et la 7 à la position de fin.
Ainsi pour mes 3 lignes, on voit que sur la deuxième ligne mon élément transposable n'overlap pas avec celui de la première ligne mais que l'écart est inférieur à 1000 bp (entre la position end de ma ligne 1 et start de ma ligne 2) je dois donc l'enlever, mais avant de l'enlever je dois aussi comparer cette ligne à la ligne du dessous (donc la ligne 2 avec la 3) , ici je vois un chevauchement entre la ligne 3 et 2 je dois donc aussi l'enlever. Ainsi dans mes 3 lignes je n'en garderai ici aucune car elle n'ont pas un écart minimum de 1000 bp en amont et aval et possède des overlap.
Merci d'avance pour votre aide !
-----