다음과 같은 파일이 있습니다.
VLLKHCGRMRRFLIRNLRSFLSHISLNTLKSQESKV
LLSSQAKMYFSLRENFYLEGGIETTFVPSGEVYSRSFLKGISRI
LNPNALPTSPISENWVMVRPIVAQISLRRMTPSAIGAQTEMA
MKLELLLAFKYLIPKRKRLSSSIVSAFSMGIVALVVWLSVVFMSVIHGLQQRWVGDLASLHSSIRIEPSDKYYESYYYQIDSHAEASQYIYKTIGEKLLCEQTDPYDPDVDFLLPEAFPDPEFSDNGEMIDPVRTANERMLSLFSSRKGSFVEFEEGMGHVHMDRAFRGHKGEPRALSQYIAYSSDILYQQRMLPFEETDYSTEVLNRFNASSEGWLADFLVLQEKFRGMSVILPVVYRDQGYRVGDTASLSVFSVKKEGEVRFPLRVIGFYNPGVSPFGGKTIFIDKELAASIRSESEGLGMHNGWQVFLPSVQDIPVMKQSIQKIFKESEVSSYWEISSLYDYEFFKPILDQLQSDQVLFSIVSFIVLIVACSNIVTMSILLVNNKKKEIGILKAMGVSSSRLQLVFGLCGACSGLVGALLGSILAALTLKNLGILTHWLSKLQGREAFNPSFFGEQLPQDFHLPTVICLSLGALVLAAISGAIPAQHVARMQVSDILKSE
MVILVEAKHISKVIQQQDVCIPILKDVSFQLHAGEVVAITGASGSGKSSLLHLLGTLDQPSSGQILFFGKQVRREELPIFRNCRIGFIFQNFYLLEDDSVINNVLMPAQIARKDTGQKSKARERALALLESVGLVDRRDEKGSLLSGGEKQRVAIARALMNDPEIVLADEPSGNLDHRTADTIHELLLALAEKHRGVLIVTHDRELAEKCHREEILRDGTLMQRQ
LKDTVTPNYHPGMIRRFRPLTQTSTRSGYHKSE
LHVSCLEWLSMITFTRTPLRIAWARAKKNSGLKKIYIKTKILSVAWLIAFKIIFDAALGIKRWIGM
LADPVTTVWKSANIVFLCWRVLPLVRRKTTLEF
LARRRSGSFRGGRRSVFGSLVFSLGSGEHLLGDGY
VGARVRIDANRLSIPSMIVFIANNRRGLWVTIPF
VEEVGSGGLKRSLYFKEEEPCTLITLRSWLEKKET
파일의 각 줄을 원본의 줄 번호( 1
, 2
, 3
등)와 같은 이름의 자체 파일에 저장하고 싶습니다. 또한 a로 시작하는 각 시퀀스 앞에 줄 번호를 추가해야 합니다 >
.
따라서 다음과 1.txt
같습니다.
>1
VLLKHCGRMRRFLIRNLRSFLSHISLNTLKSQESKV
및 2.txt:
>2
LLSSQAKMYFSLRENFYLEGGIETTFVPSGEVYSRSFLKGISRI
등등. 어떻게 해야 하나요?
답변1
다음을 사용할 수 있습니다 awk
.
awk '{print > NR".txt"}' file
NR
는 의 현재 줄 번호 awk
이므로 위의 명령은 각 줄을 현재 줄 번호에 를 더한 이름의 파일로 인쇄합니다 .txt
.
시퀀스에 앞에 추가할 내용을 추가하려면 >
다음을 사용하세요.
awk '{print ">"$0 > NR".txt"}' file
>
올바른 FASTA 형식(각 순서 앞에는 다음으로 시작하는 줄 과 순서 이름이 옵니다) 을 원하는 경우 다음을 사용하세요.
awk '{printf ">%s\n%s\n",NR,$0 > NR".txt"}' file
그러면 다음과 같은 파일이 생성됩니다.
$ cat 3.txt
>3
LNPNALPTSPISENWVMVRPIVAQISLRRMTPSAIGAQTEMA