Fastaファイルで検索してパターンを変更するファイルを作成します。大文字と小文字の区別がないためにsedにオプションを追加し、FASTAファイルの文字列を置き換えます。
tail -n +2 scaffold_names_2.txt | while read assemb gcenter refseq genbank ncbi; do echo -ne "sed 's/<$gcenter>/$genbank/g' | " >>script.sh; done
私のファイルを見て、このような:
#Assembly Genome Center name RefSeq Accession.version GenBank Accession.version NCBI name
GeoFor_1.0 scaffold40 NW_005054297 JH739887 GPS_002009865
GeoFor_1.0 scaffold112 NW_005054298 JH739888 GPS_002009866
GeoFor_1.0 scaffold41 NW_005054299 JH739889 GPS_002009867
GeoFor_1.0 scaffold130 NW_005054300 JH739890 GPS_002009868
GeoFor_1.0 scaffold54 NW_005054301 JH739891 GPS_002009869
このような.SHファイルを見て:
それが一致し、変更する必要があり、以下のすべてのパターンで.SHスクリプトを作成されたコマンドsed 's/scaffold40/JH739887/g' | sed 's/scaffold112/JH739888/g' | sed 's/scaffold41/JH739889/g' |
...
しかし、パターンを大文字と小文字を区別しないようにしたいと思います。 sed 's/<$gcenter>/$genbank/g' | "
コマンドに-e
を追加します。しかし、フラグを追加すると、スクリプトには印刷されません。なぜどんなアイデア?
tail -n +2 scaffold_names_2.txt | while read assemb gcenter refseq genbank ncbi; do echo -ne "sed -e 's/<$gcenter>/$genbank/g' | " >>script.sh; done
私のスクリプトを持った後、私は最後のパイプを削除し、私はパターンを検索し、変更したいFASTAファイルを置きます。
最終的な目標は、下の文字列に表示されているScaffold###
をJH######
に置き換えることです。
>Scaffold410 275
TGCATTAATATGAGTGTGTGCTGCAAAAGTTCAGGTCATGGTCCGATCATACTTCACATTTTGGTAGCACTTTAAGCAGAGATCGGTTATCCCATTCTGTGGAAGACTCAACACTATCATAAGGTCCCACAGTTTTATTATCCCTCTGCCTCCCGGAATGCCCCCGGCAGTGAGGGGTACCATCTTCTCAGCAGTAAGGATATTCTTCAGGAGTTCCGTGTGAGCTTTCCCGGATTTAGTTCCATTTTTTAAATACTTCCCAATTCTTTGCTTTG
>Scaffold430 374
CTTTGTTAACTGAAAGAGCCTCTAAGTAGATGACCAGTGCTCAGTTAGTACAGTATGAATTTTGTTTAATGGAACAGGAAGATTTAGTATTGAGAAGCGGTTAAGGGTTTAACCCAGCCTCCTGTCTGAATGGACCTGAAGAGGGGGGCCGGGAAGAAACCCATGACTGCATTAAAGTGATAGATCTCCAGACATGGGCTAGGGAAGATTTACAAGACACTCCCTGGCCTGAGGGAGAAAATATGTTTATTGATGAGTCTTCAAGGGTGGCAGAAGGGAAGCGATTTACAGGATACACAATCATTAATGGAAGGAAATTAAAGGAAGGGGGGAGATTGTCACCCACCTGGTCAGTTCAGACAGCAGAGCTGTAT
私はこれを行うためにbashコマンドを使用しています。しかし、-e
フラグの交換後でさえ、それは機能しません。
あなたの予想される出力は何ですか?私のUbuntuシステムでうまくいくようです。 –
ファイルが追加されたからだと思います。 'sed -e 's//JH739887/g' | sed -e 's//JH739888/g' | sed -e 's//JH739889/g' | ' –
ああ、あなたはあなたの呼び出しを変更した後、最初のscript.shを削除しませんでしたか? –