Changer les noms dans un fichier à partir d'un autre fichier
new_26
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
cela fait un moment que je cherche mais ne trouve pas de solution! Peut-être quelqu'un pourrait-il m'aider?
voilà j'ai deux fichiers:
le premier contient des séquences fasta:
>gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
LTDDPGSGFTTVWNAVVSELNGDPKVDDGPSSDANLSAPLTPQQRAWLNLVQPLTIVEGF
ALLSVPSSFVQNEIERHLRAPITDALSRRLGHQIQLGVRIAPPATDEADDTTVPPSENPA
>gene_2|GeneMark.hmm|377_aa|+|2128|3261 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
VSWVAKNLPARPAVPVLSGVLLTGSDNGLTISGFDYEVSAEAQVGAEIVSPGSVLVSGRL
LSDITRALPNKPVDVHVEGNRVALTCGNARFSLPTMPVEDYPTLPTLPEETGLLPAELFA
le second contient une liste d'identifiants:
gene_1
gene_2
j'ai trouvé un script pour récupérer les séquences fasta à partir d'une liste d'identifiants
mon problème c'est que dans mes 2 fichiers le header du fasta et les identifiants commencent de la même manière mais n'ont pas du tout la même tête!:
"gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium africanum GM041182 complete genome" et "gene_1"
Serait-il possible, dans le fichier identifiants, de remplacer les noms de gènes pour qu'ils soient les mêmes que dans mon fichier fasta?
J'ai pensé à ne récupérer que les header de mon fichier fasta par un awk mais après je ne sais pas comment remplacer les noms à partir de ça...
Merci d'avance
Bonne journée
cela fait un moment que je cherche mais ne trouve pas de solution! Peut-être quelqu'un pourrait-il m'aider?
voilà j'ai deux fichiers:
le premier contient des séquences fasta:
>gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
LTDDPGSGFTTVWNAVVSELNGDPKVDDGPSSDANLSAPLTPQQRAWLNLVQPLTIVEGF
ALLSVPSSFVQNEIERHLRAPITDALSRRLGHQIQLGVRIAPPATDEADDTTVPPSENPA
>gene_2|GeneMark.hmm|377_aa|+|2128|3261 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
VSWVAKNLPARPAVPVLSGVLLTGSDNGLTISGFDYEVSAEAQVGAEIVSPGSVLVSGRL
LSDITRALPNKPVDVHVEGNRVALTCGNARFSLPTMPVEDYPTLPTLPEETGLLPAELFA
le second contient une liste d'identifiants:
gene_1
gene_2
j'ai trouvé un script pour récupérer les séquences fasta à partir d'une liste d'identifiants
mon problème c'est que dans mes 2 fichiers le header du fasta et les identifiants commencent de la même manière mais n'ont pas du tout la même tête!:
"gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium africanum GM041182 complete genome" et "gene_1"
Serait-il possible, dans le fichier identifiants, de remplacer les noms de gènes pour qu'ils soient les mêmes que dans mon fichier fasta?
J'ai pensé à ne récupérer que les header de mon fichier fasta par un awk mais après je ne sais pas comment remplacer les noms à partir de ça...
Merci d'avance
Bonne journée
A voir également:
- Changer les noms dans un fichier à partir d'un autre fichier
- Fichier bin - Guide
- Changer dns - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
7 réponses
Salut,
Je ne suis pas sûr d'avoir bien compris ton problème, mais ceci :
Je ne suis pas sûr d'avoir bien compris ton problème, mais ceci :
grep -f fichier.identifiants fichier.fastaDevrait te donner en prenant tes deux fichiers donnés en exemple ce résultat :
>gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
>gene_2|GeneMark.hmm|377_aa|+|2128|3261 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
en fait ce que je voudrai faire c'est remplacer les noms gene_1, gene_2 ... de mon fichier identifiants par leur noms entiers qui se trouvent dans le fichier fasta:
remplacer "gene_1" par "gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome"
remplacer "gene_1" par "gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome"
hello
$ awk 'BEGIN {FS="[>|]"; OFS="|"} /^>/ {g=$2; $2=""; t[g]=$0} ARGIND==2 {sub("[|]", "", t[$1]); print $1 t[$1]}' fasta identifiants
gene_1|GeneMark.hmm|507_aa|+|1|1524 |gi|339329439|emb|FR878060.1| Mycobacterium complete genome
gene_2|GeneMark.hmm|377_aa|+|2128|3261 |gi|339329439|emb|FR878060.1| Mycobacterium complete genome
Bonjour et merci!
ça ne marche pas non plus mais j'ai décidé de renommer différemment mes données d'une façon plus simple, c'est à dire dans l'autre sens: changer gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
par
gene_1
merci quand même ;)
ça ne marche pas non plus mais j'ai décidé de renommer différemment mes données d'une façon plus simple, c'est à dire dans l'autre sens: changer gene_1|GeneMark.hmm|507_aa|+|1|1524 >gi|339329439|emb|FR878060.1| Mycobacterium complete genome
par
gene_1
merci quand même ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question