Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/01/2013, à 17:37

laeti5690

Effacer du texte entre deux caractères

Bonjour, je possède un fichier texte sous forme fasta, et j'aimerai effacer tout le texte ce trouvant entre les caractères > et rRNA.
Voici un exemple du texte:

>ENST00000387461 mt_genbank_import:Mt_tRNA chromosome:GRCh37:MT:15956:16023:-1 gene:ENSG00000210196 gene_biotype:Mt_tRNA transcript_biotype:Mt_tRNA
CAGAGAATAGTTTAAATTAGAATCTTAGCTTTGGGTGCTAATGGTGGAGTTAAAGACTTT
TTCTCTGA
>ENST00000389680 mt_genbank_import:Mt_rRNA chromosome:GRCh37:MT:648:1601:1 gene:ENSG00000211459 gene_biotype:Mt_rRNA transcript_biotype:Mt_rRNA
AATAGGTTTGGTCCTAGCCTTTCTATTAGCTCTTAGTAAGATTACACATGCAAGCATCCC
CGTTCCAGTGAGTTCACCCTCTAAATCACCACGATCAAAAGGAACAAGCATCAAGCACGC
AGCAATGCAGCTCAAAACGCTTAGCCTAGCCACACCCCCACGGGAAACAGCAGTGATTAA
CCTTTAGCAATAAACGAAAGTTTAACTAAGCTATACTAACCCCAGGGTTGGTCAATTTCG
TGCCAGCCACCGCGGTCACACGATTAACCCAAGTCAATAGAAGCCGGCGTAAAGAGTGTT
TTAGATCACCCCCTCCCCAATAAAGCTAAAACTCACCTGAGTTGTAAAAAACTCCAGTTG
ACACAAAATAGACTACGAAAGTGGCTTTAACATATCTGAACACACAATAGCTAAGACCCA
AACTGGGATTAGATACCCCACTATGCTTAGCCCTAAACCTCAACAGTTAAATCAACAAAA
CTGCTCGCCAGAACACTACGAGCCACAGCTTAAAACTCAAAGGACCTGGCGGTGCTTCAT
ATCCCTCTAGAGGAGCCTGTTCTGTAATCGATAAACCCCGATCAACCTCACCACCTCTTG
CTCAGCCTATATACCGCCATCTTCAGCAAACCCTGATGAAGGCTACAAAGTAAGCGCAAG

TACCCACGTAAAGACGTTAGGTCAAGGTGTAGCCCATGAGGTGGCAAGAAATGGGCTACA
TTTTCTACCCCAGAAAACTACGATAGCCCTTATGAAACTTAAGGGTCGAAGGTGGATTTA
GCAGTAAACTAAGAGTAGAGTGCTTAGTTGAACAGGGCCCTGAAGCGCGTACACACCGCC
CGTCACCCTCCTCAAGTATACTTCAAAGGACATTTAACTAAAACCCCTACGCATTTATAT

AGAGGAGACAAGTCGTAACATGGTAAGTGTACTGGAAAGTGCACTTGGACGAAC
>ENST00000387347 mt_genbank_import:Mt_rRNA chromosome:GRCh37:MT:1671:3229:1 gene:ENSG00000210082 gene_biotype:Mt_rRNA transcript_biotype:Mt_rRNA
GCTAAACCTAGCCCCAAACCCACTCCACCTTACTACCAGACAACCTTAGCCAAACCATTT
ACCCAAATAAAGTATAGGCGATAGAAATTGAAACCTGGCGCAATAGATATAGTACCGCAA
GGGAAAGATGAAAAATTATAACCAAGCATAATATAGCAAGGACTAACCCCTATACCTTCT
GCATAATGAATTAACTAGAAATAACTTTGCAAGGAGAGCCAAAGCTAAGACCCCCGAAAC

CAGACGAGCTACCTAAGAACAGCTAAAAGAGCACACCCGTCTATGTAGCAAAATAGTGGG
AAGATTTATAGGTAGAGGCGACAAACCTACCGAGCCTGGTGATAGCTGGTTGTCCAAGAT
AGAATCTTAGTTCAACTTTAAATTTGCCCACAGAACCCTCTAAATCCCCTTGTAAATTTA
ACTGTTAGTCCAAAGAGGAACAGCTCTTTGGACACTAGGAAAAAACCTTGTAGAGAGAGT
AAAAAATTTAACACCCATAGTAGGCCTAAAAGCAGCCACCAATTAAGAAAGCGTTCAAGC
TCAACACCCACTACCTAAAAAATCCCAAACATATAACTGAACTCCTCACACCCAATTGGA
CCAATCTATCACCCTATAGAAGAACTAATGTTAGTATAAGTAACATGAAAACATTCTCCT
CCGCATAAGCCTGCGTCAGATTAAAACACTGAACTGACAATTAACAGCCCAATATCTACA
ATCAACCAACAAGTCATTATTACCCTCACTGTCAACCCAACACAGGCATGCTCATAAGGA
AAGGTTAAAAAAAGTAAAAGGAACTCGGCAAATCTTACCCCGCCTGTTTACCAAAAACAT
CACCTCTAGCATCACCAGTATTAGAGGCACCGCCTGCCCAGTGACACATGTTTAACGGCC
GCGGTACCCTAACCGTGCAAAGGTAGCATAATCACTTGTTCCTTAAATAGGGACCTGTAT
GAATGGCTCCACGAGGGTTCAGCTGTCTCTTACTTTTAACCAGTGAAATTGACCTGCCCG
TGAAGAGGCGGGCATAACACAGCAAGACGAGAAGACCCTATGGAGCTTTAATTTATTAAT
GCAAACAGTACCTAACAAACCCACAGGTCCTAAACTACCAAACCTGCATTAAAAATTTCG
GTTGGGGCGACCTCGGAGCAGAACCCAACCTCCGAGCAGTACATGCTAAGACTTCACCAG

TCAAAGCGAACTACTATACTCAATTGATCCAATAACTTGACCAACGGAACAAGTTACCCT
AGGGATAACAGCGCAATCCTATTCTAGAGTCCATATCAACAATAGGGTTTACGACCTCGA
TGTTGGATCAGGACATCCCGATGGTGCAGCCGCTATTAAAGGTTCGTTTGTTCAACGATT
AAAGTCCTACGTGATCTGAGTTCAGACCGGAGTAATCCAGGTCGGTTTCTATCTACNTTC
AAATTCCTCCCTGTACGAAAGGACAAGAGAAATAAGGCCTACTTCACAAAGCGCCTTCCC
CCGTAAATGATATCATCTCAACTTAGTATTATACCCACACCCACCCAAGAACAGGGTTT

Ce qui est en gras, c'est ce que je veux récupérer à la fin.
Sed est une commande appropriée pour ce genre de choses?

Merci d'avance

Hors ligne

#2 Le 05/01/2013, à 17:43

pingouinux

Re : Effacer du texte entre deux caractères

Bonjour,
Ceci devrait faire l'affaire :

sed 's/>.*rRNA//' fichier

Hors ligne

#3 Le 05/01/2013, à 17:48

laeti5690

Re : Effacer du texte entre deux caractères

merci j'essaye et je vous dirais si ça fonctionne

Hors ligne

#4 Le 05/01/2013, à 18:01

laeti5690

Re : Effacer du texte entre deux caractères

Le terminal m'indique sed : -e expression n 1 caractère 11 commande inconnue ``/' quoique je fasse

Hors ligne

#5 Le 05/01/2013, à 18:09

pingouinux

Re : Effacer du texte entre deux caractères

Tu as dû faire une erreur en tapant la commande. Peux-tu faire un copier-coller de ce que tu as tapé dans le terminal, et de la réponse ?
Ajouté : Tu as dû oublier le s entre ' et /

Dernière modification par pingouinux (Le 05/01/2013, à 18:15)

Hors ligne

#6 Le 05/01/2013, à 18:10

laeti5690

Re : Effacer du texte entre deux caractères

pardon j'avais mis une , au lieu du .
ça fonctionne.
Par contre je voudrais vous demander la logique de la synthaxe:
sed 's/>.*rRNA//' fichier
' c'est juste pour encadrer l'écriture
le premier / c'est pour le premier compartiment que indique les éléments à supprimer
le . c'est pour dire de là à là
Le deuxi-me / c'est le séparateur
Et // c'est pour dire qu'on efface et qu'on remplace par rien

Merci

Hors ligne

#7 Le 05/01/2013, à 18:21

pingouinux

Re : Effacer du texte entre deux caractères

. : désigne n'importe quel caractère
* : désigne 0 ou plus occurrence(s) du caractère qui précède
.* : désigne 0 ou plus caractères quelconques

Hors ligne

#8 Le 05/01/2013, à 19:51

nesthib

Re : Effacer du texte entre deux caractères

@laeti5690 : comme ça n'est pas la première fois que tu parles de travailler avec des fichiers FASTA, je te suggère de jeter un œil à biopython qui te permet de travailler avec ces séquences (et bien d'autres formats de séquences biologiques) tout en ayant la praticité du langage python. Je ne sais pas si cela correspondra à tes besoins mais je pense que c'est un projet intéressant pour les biologistes.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#9 Le 06/01/2013, à 16:34

laeti5690

Re : Effacer du texte entre deux caractères

Merci je vais y jeter un oeil!

Hors ligne