Ich habe eine Datei wie das kleine Beispiel: kleines Beispiel:proble mit Filtern einige Teile Textdatei in bash
>ENSG00000004142|ENST00000003607|POLDIP2|||2118
Sequence unavailable
>ENSG00000003056|ENST00000000412|M6PR|9099001;9102084|9099001;9102551|2756
CCAGGTTGTTTGCCTCTGGTCGGAAAGGGAAACTACCCCTGCTTCCACTCTGACAGCAGA
aber ich habe zu viele „Sequence nicht verfügbar“. Ich möchte diese Transkripte loswerden. und die Ergebnisse würden so aussehen:
>ENSG00000003056|ENST00000000412|M6PR|9099001;9102084|9099001;9102551|2756
CCAGGTTGTTTGCCTCTGGTCGGAAAGGGAAACTACCCCTGCTTCCACTCTGACAGCAGA
Ich habe versucht, die Teile in bash auszufiltern mit
grep -A 2 "Sequence" your.fa | grep -v "\-\-" | sed -n '/Sequence/!p' > new.fa
aber es entfernt nur „Sequence nicht verfügbar“, aber nicht seine Header (die Zeile beginnt mit ">"
über jeder Sequenz, die Kennung für jede Sequenz ist)
Wie kann ich sie in bash oder Python herausfiltern?
Wenn Sie die ganze Zeile entfernen möchten, verwenden Sie 'grep -v 'Sequence unavailable" '. – Robert
mit dem erwähnten Code kann ich die ganze Zeile entfernen. aber ich möchte auch die obige Zeile entfernen, die ihre Kennung ist. – user7249622
Wird es immer eine Zeile über "Sequenz nicht verfügbar" geben, die entfernt werden muss? – andlrc