DNA相補鎖配列と逆方向配列の印刷に問題がある。次のような出力が必要です。 テンプレート鎖のDNA配列を入力してください:GTAAGCCGGAAGGアンチセンス鎖のDNA配列はCATTCGGCCTTCCです。逆方向DNA配列はGGAAGCCGAATGである。
答え1
#!/bin/bash
read -p 'Please enter DNA sequence of template strand: '
compl=$( tr 'ACGT' 'TGCA' <<<"$REPLY" )
revseq=$( rev <<<"$REPLY" )
revcompl=$( rev <<<"$compl" )
printf 'DNA sequence of antisense strand is %s\n' "$compl"
printf 'Reverse DNA sequence is %s\n' "$revseq"
printf 'Reverse-complement DNA sequence is %s\n' "$revcompl"
一度見てみたいかもしれませんStackExchange 生物情報学ウェブサイト。
read
ユーザー(またはスクリプトの標準入力を制御するすべての項目)の入力を読みます。-p
プロンプトのテキストや質問を追加できます。ユーザーの応答はデフォルトでに保存されます$REPLY
。
tr
テキストの文字をあるセットから別のセットに変更します。<<<"$REPLY"
ユーザーの応答を入力し、tr
to、toなどのtr
すべての項目を変更します。結果は変数("complement"の略語)に格納されます。A
T
C
G
compl
rev
行テキストを反転させる非標準コマンドです。$REPLY
文字列をrev
スルーに割り当てます<<<"$REPLY"
。rev
また、反転による逆補体シーケンスの計算にも使用されます$compl
。
これら3つのprintf
文は出力を生成します。
例を実行してください:
$ bash script.sh
Please enter DNA sequence of template strand: AAACGTTTG
DNA sequence of antisense strand is TTTGCAAAC
Reverse DNA sequence is GTTTGCAAA
Reverse-complement DNA sequence is CAAACGTTT
DNAがファイルに保存されている場合ただその中にあるDNA(例:いいえfastaファイル)、GNUがtac
利用可能であるとします(ファイルの行の順序を逆にする)。
- 逆順:
tac filename | rev
- 補完順序:
tr 'ACGT' 'TGCA' <filename
- 逆補体の順序:
tr 'ACGT' 'TGCA' <filename | tac | rev
答え2
$ echo GTAAGCCGGAAGG | tr 'ATCG' 'TAGC'
CATTCGGCCTTCC
man tr
詳細は参照してください。