[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Suchen/ersetzen mit zwei Dateien



Hallo Bernhard!

Bernhard Kleine wrote:
> ich habe in einer Datei GnRHs.fasta 185 Einträge folgender Form:
> 
>>gi|254825|gb|AAB63599.1| gonadotrophin-releasing hormone;
> MDLSSKTVVQVVMLALIAQVTFSQHWSYGWLPGGKRSVGELEATIRMMDTGGVMALPEETGAHIPERLRP
> YDVMSKKRMPHK
> 
> in einer zweiten Datei names.txt sind 185 Einträge wie z.B.:
> GnRH-1 Oncorhynchus masou |cherry salmon|fish|        gi|254825|gb|AAB63599.1|
> 
> Ich möchte jetzt in GnRHs.fasta jeweils die erste Zeile durch den Namen
> des entsprechenden Tieres
>>GnRH-1 Oncorhynchus masou |cherry salmon|fish|
> 
> ersetzen.
> 
> Zweitens möchte ich die entstehende neue Datei nach dem zweiten plus
> dritten Wort der neuen ersten Zeile sortieren.

Das müsste mit paste, sort, cut oder awk machbar sein. Eventuell kannst du
auch join verwenden, um die Dateien anhand einer ID-Spalte zusammenzufügen.

Angenommen, deine Einträge fangen nicht mit > an und sind in einer Zeile
und mit TAB getrennt, dann in etwa so:
join -t '      ' -1 2 -2 1 b.txt a.txt | cut -f2,3 |  sort -t ' ' -k 2,3
         ^--TAB (hab es grad mal mit ctrl+v-tab auf der Kommandozeile
eingegeben). Das cut schneidet das join-Feld hinterher ab.

Ansonsten musst du vorher noch mal die > wegparsen/Zeilen zusammenführen,
z.B. mit:
sed -e 's/\n//g' -e 's/</\n/g' a.txt

Mein Input (je zwei Zeilen)
a.txt:
gi|254825|gb|AAB63599.1|        gonadotrophin-releasing
hormone;MDLSSKTVVQVVMLALIAQVTFSQHWSYGWLPGGKRSVGELEATIRMMDTGGVMALPEETGAHIPERLRPYDVMSKKRMPHK
gi|254826|gb|AAB63599.1|        gonadotrophin-releasing
hormone;MDLSSKTVVQVVMLALIAQVTFSQHWSYGWLPGGKRSVGELEATIRMMDTGGVMALPEETGAHIPERLRPYDVMSKKRMPHK

b.txt:
GnRH-1 Oncorhynchus2 masou |cherry salmon|fish| gi|254825|gb|AAB63599.1|
GnRH-1 Oncorhynchus1 masou |cherry salmon|fish| gi|254826|gb|AAB63599.1|

ergibt dann:
GnRH-1 Oncorhynchus1 masou |cherry salmon|fish| gonadotrophin-releasing
hormone;MDLSSKTVVQVVMLALIAQVTFSQHWSYGWLPGGKRSVGELEATIRMMDTGGVMALPEETGAHIPERLRPYDVMSKKRMPHK
GnRH-1 Oncorhynchus2 masou |cherry salmon|fish| gonadotrophin-releasing
hormone;MDLSSKTVVQVVMLALIAQVTFSQHWSYGWLPGGKRSVGELEATIRMMDTGGVMALPEETGAHIPERLRPYDVMSKKRMPHK

Wenn es das schon sein sollte, ansonsten kannst du es ja noch modifizieren.

Gruß,
-- 
Martin Weis
PGP-Key: http://datenroulette.de/pgp.php


Reply to: