Hallo zusammen,
ich bin blutiger Anfänger in Linux und Programmierung und habe ein Problem.
Ich habe einen Datensatz, der vereinfacht in etwa so aussieht:
1 2 3 4 5 6 7 8 9 | Probe Chr Position AAAAA1A 1 123 AAAAA2A 1 123 BBBBB1A 2 277791 BBBBB1B 2 277791 BBBBB2A 2 2794 CCCCC1B X 12576 DDDDD1A X 2321212 DDDDD2A X 2321212 |
Was ich jetzt möchte, ist an 2 Bedingungen geknüpft. Ich versuche, auf eine Lösung mit awk zu kommen, hab es aber bisher nicht weit gebracht.
Das Ziel:
Wenn in 2 oder mehr Zeilen $2 und $3 denselben Wert haben (= dieselbe Position im Genom), soll die zweite Bedingung geprüft werden. Wenn in den betroffenen Zeilen nämlich die ersten 6 Zeichen in $1 nicht identisch sind, soll mir das Programm die betroffenen Zeilen ausgeben, damit ich sie speichern und weiterverarbeiten kann.
In diesem Beispiel müsste das Ergebnis sein, dass folgende Zeilen ausgegeben werden:
1 2 3 4 | AAAAA1A 1 123 AAAAA2A 1 123 DDDDD1A X 2321212 DDDDD2A X 2321212 |
$2 und $3 sind identisch, $1 aber innerhalb der ersten 6 Zeichen unterschiedlich.
Ich hoffe, das war verständlich. Falls nicht, helfe ich gerne beim Verstehen. Außerdem weiß ich natürlich auch, dass das gleich mehrere Probleme in einem sind, aber ich bin natürlich auch dankbar für jeden Einzelschritt, der mich dem Ziel näher bringt.
Es wäre sehr hilfreich für mich, wenn mir jemand bei diesem Problem weiterhelfen kann.
Eine vereinfachte Variante wäre z.B.: wenn in 2 oder mehr Zeilen $2 und $3 identisch sind und $1 unterschiedlich ist sind, gib mir diese Zeilen aus.
Gruß
Bearbeitet von sebix:
Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!