カウンター番号名を含む 1 行を 1 つのファイルとして保存する方法

カウンター番号名を含む 1 行を 1 つのファイルとして保存する方法

次のようなファイルがあります:

VLLKHCGRMRRFLIRNLRSFLSHISLNTLKSQESKV
LLSSQAKMYFSLRENFYLEGGIETTFVPSGEVYSRSFLKGISRI
LNPNALPTSPISENWVMVRPIVAQISLRRMTPSAIGAQTEMA
MKLELLLAFKYLIPKRKRLSSSIVSAFSMGIVALVVWLSVVFMSVIHGLQQRWVGDLASLHSSIRIEPSDKYYESYYYQIDSHAEASQYIYKTIGEKLLCEQTDPYDPDVDFLLPEAFPDPEFSDNGEMIDPVRTANERMLSLFSSRKGSFVEFEEGMGHVHMDRAFRGHKGEPRALSQYIAYSSDILYQQRMLPFEETDYSTEVLNRFNASSEGWLADFLVLQEKFRGMSVILPVVYRDQGYRVGDTASLSVFSVKKEGEVRFPLRVIGFYNPGVSPFGGKTIFIDKELAASIRSESEGLGMHNGWQVFLPSVQDIPVMKQSIQKIFKESEVSSYWEISSLYDYEFFKPILDQLQSDQVLFSIVSFIVLIVACSNIVTMSILLVNNKKKEIGILKAMGVSSSRLQLVFGLCGACSGLVGALLGSILAALTLKNLGILTHWLSKLQGREAFNPSFFGEQLPQDFHLPTVICLSLGALVLAAISGAIPAQHVARMQVSDILKSE
MVILVEAKHISKVIQQQDVCIPILKDVSFQLHAGEVVAITGASGSGKSSLLHLLGTLDQPSSGQILFFGKQVRREELPIFRNCRIGFIFQNFYLLEDDSVINNVLMPAQIARKDTGQKSKARERALALLESVGLVDRRDEKGSLLSGGEKQRVAIARALMNDPEIVLADEPSGNLDHRTADTIHELLLALAEKHRGVLIVTHDRELAEKCHREEILRDGTLMQRQ
LKDTVTPNYHPGMIRRFRPLTQTSTRSGYHKSE
LHVSCLEWLSMITFTRTPLRIAWARAKKNSGLKKIYIKTKILSVAWLIAFKIIFDAALGIKRWIGM
LADPVTTVWKSANIVFLCWRVLPLVRRKTTLEF
LARRRSGSFRGGRRSVFGSLVFSLGSGEHLLGDGY
VGARVRIDANRLSIPSMIVFIANNRRGLWVTIPF
VEEVGSGGLKRSLYFKEEEPCTLITLRSWLEKKET

1ファイルの各行を、元のファイルの行番号 ( 、、など)2を名前にした独自のファイルに保存します3。また、各シーケンスの前に、 で始まり行番号が続く行を追加する必要があります>

つまり、次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

関連情報