awk/sed/perl 전문가 모두에게 질문이 있습니다. 나는 다음과 같은 형식의 예를 가진 파일을 발견 :동일한 문자열을 가진 x 개의 항목을 삭제하고 수정 된 헤더가있는 항목을 하나만 유지하는 방법은 무엇입니까?
>GALHOMG00000016026_1 GALHOMT00000016026_1 GALHOMP00000016026_1 JH556633.1:35740-45316 1
MPKKKTGARKKAENRREREKQIRASRANIDLAKHPCNASMECDKCQRRQKNRAFCYFCNS
VQKLPICAQCGKTKCMMKSSDCVIKHAGVYSTGLAMVGAICDFCEAWVCHGRKCLSTHAC
TCPLADAECIECERSVWDHGGRIFACSFCHDFLCEDDQFEHQASCQVLEAETFKCVSCNR
LGQHSCLRCKACFCGDHVRSKVFKQEKGKEPPCPKCGHETQQTKDLSMSTRSLKFGRQTG
GEDADGASGYDAYWKNLSSSKPGDAGDREDEYDEYEAEDDDEDDNDEGGKDSDTETTDLF
SNLNLGRTYASGYAHYEEPED
>HUMHOMG00000262990_1 HUMHOMT00000262990_1 HUMHOMP00000262990_1 JH556633.1:35740-45316 1
MPKKKTGARKKAENRREREKQIRASRANIDLAKHPCNASMECDKCQRRQKNRAFCYFCNS
VQKLPICAQCGKTKCMMKSSDCVIKHAGVYSTGLAMVGAICDFCEAWVCHGRKCLSTHAC
TCPLADAECIECERSVWDHGGRIFACSFCHDFLCEDDQFEHQASCQVLEAETFKCVSCNR
LGQHSCLRCKACFCGDHVRSKVFKQEKGKEPPCPKCGHETQQTKDLSMSTRSLKFGRQTG
GEDADGASGYDAYWKNLSSSKPGDAGDREDEYDEYEAEDDDEDDNDEGGKDSDTETTDLF
SNLNLGRTYASGYAHYEEPED
>TGUHOMG00000002432_1 TGUHOMT00000002432_1 TGUHOMP00000002432_1 JH556633.1:35740-45316 1
MPKKKTGARKKAENRREREKQIRASRANIDLAKHPCNASMECDKCQRRQKNRAFCYFCNS
VQKLPICAQCGKTKCMMKSSDCVIKHAGVYSTGLAMVGAICDFCEAWVCHGRKCLSTHAC
TCPLADAECIECERSVWDHGGRIFACSFCHDFLCEDDQFEHQASCQVLEAETFKCVSCNR
LGQHSCLRCKACFCGDHVRSKVFKQEKGKEPPCPKCGHETQQTKDLSMSTRSLKFGRQTG
GEDADGASGYDAYWKNLSSSKPGDAGDREDEYDEYEAEDDDEDDNDEGGKDSDTETTDLF
SNLNLGRTYASGYAHYEEPED
나는 다음에이 파일을 수정하고 싶습니다 :
>JH556633.1:35740-45316
MPKKKTGARKKAENRREREKQIRASRANIDLAKHPCNASMECDKCQRRQKNRAFCYFCNS
VQKLPICAQCGKTKCMMKSSDCVIKHAGVYSTGLAMVGAICDFCEAWVCHGRKCLSTHAC
TCPLADAECIECERSVWDHGGRIFACSFCHDFLCEDDQFEHQASCQVLEAETFKCVSCNR
LGQHSCLRCKACFCGDHVRSKVFKQEKGKEPPCPKCGHETQQTKDLSMSTRSLKFGRQTG
GEDADGASGYDAYWKNLSSSKPGDAGDREDEYDEYEAEDDDEDDNDEGGKDSDTETTDLF
SNLNLGRTYASGYAHYEEPED
나는 내가 내 말은 (헤더를 부르는 수정할 수 있다는 사실을 알고 > 다음에 나오는 줄) :
awk 'NF > 1{$0=">"$4}; {print $0}' file.fa > file2.fa
내 질문은 두 개의 다른 단락을 어떻게 삭제합니까? 단락의 문자 순서 (즉, 헤더 행을 세지 않음)가 동일하지 않은 인스턴스가 파일에있을 수 있습니다. 이 경우 같은 식별자가있는 항목 수를 기준으로 확장명을 추가하고 싶습니다 (예 :이 경우 JH556633.1-2:35740-45316
의 경우 JH556633.1-1:35740-45316
또는 이와 유사한 경우). 요점은 동일한 헤더 (>
으로 시작하는 행)가 다르지만 동일하지 않은 경우 문자의 원래 순서를 유지하는 것입니다.
누구든지이 문제를 해결할 생각이 있다면 도움을 주시면 감사하겠습니다. 감사!
좋아을 ! 알았다! – BashN3wb
'보다 큼 기호'가있는 행 또는'보다 큼 기호 '로 시작하는 행 뒤의 행을 의미합니까? –
문제를 해결하려는 시도를 보여주십시오 (게시 한 awk 명령뿐만 아니라 첫 번째 줄만 처리). –