#genocon2021a. [genocon2021_a]Practice 1
[genocon2021_a]Practice 1
配点 : 点
問題文
は文字A, C, G, Tからなる長さの文字列である.の 番目の文字はs\[i\]と記述する(). ここで,A, C, G, Tの各文字について相補文字を定義する.Aの相補文字はT, Tの相補文字はA, Cの相補文字はG, Gの相補文字はCとする.また,任意の文字の相補文字は,と記述することとする. このとき文字列について,その逆相補鎖配列と呼ばれる文字列は次のように定義される: R(s\[N\]), R(s\[N-1\]),..., R(s\[2\]), R(s\[1\]). 例えば,AACGT の逆相補鎖配列はACGTTとなる.
本の入力文字列,...,について,それぞれの逆相補鎖配列を出力せよ.
制約
- ,...,はA, C, G, Tからなる文字列である.
- とする.
- (文字列の長さをと記述する.)
入力
入力は以下の形式で標準入力から与えられる.
出力
入力文字列の逆相補鎖配列を出力せよ.各逆相補鎖配列は一行で出力し,対応する入力文字列と同じ順序で出力すること.
入力例 1
6
CATAGAACGACTATT
TA
GCGGCTTTTTGAAGCGT
TACCTTGATCA
GGCGTGCATAG
T
出力例 1
AATAGTCGTTCTATG
TA
ACGCTTCAAAAAGCCGC
TGATCAAGGTA
CTATGCACGCC
A
問題の背景
※ この項目は読まなくても問題を解くことができますが,出題の背景となりますため,ご興味を持ってくださった方はお読みいただけると幸いです.
DNAと塩基配列
生物の構成に必要な遺伝情報はDNAに保存されています.それでは,DNAはどのようにして遺伝情報を持つのでしょうか?
ヌクレオチドが鎖状に連なった物質を一本鎖DNAと呼びます.DNAは,長さが同じで対応関係のある二本の一本鎖DNAが結合してらせん構造を形成した物質です.ここではまず,一本鎖DNAについて説明をします. 一本鎖DNAを構成する各ヌクレオチドは塩基を一つ含みます.塩基はアデニン(adenin), シトシン(cytosin), グアニン(guanine),チミン(thymine) の4種類です.そのため,各ヌクレオチドの塩基を鎖の端から順に読み取ると,4種類の記号から成る配列と解釈することができます.鎖の両端は,ヌクレオチドの構造に応じて一方を5'末端,他方を3'末端と区別することができるため,一般的には,5'端から$\rightarrow$3'端の向きに記号を読み取って配列とみなします. **この配列を,DNA配列,塩基配列,ゲノム配列などと呼びます**.配列の各要素は塩基の頭文字により表現します.例えば下図のように,5'末端$\rightarrow$3'末端に向かってアデニン,シトシン,シトシン,チミンが並んでいる場合は,ACCTと表記します.
DNAの構造,逆相補鎖
一本鎖DNAの各塩基は,特定の別の塩基と結合する性質を持っています.具体的には,アデニン(A)はチミン(T)と,シトシン(C)はグアニン(G)と互いに結合します.DNAを構成する二本の鎖は,向かい合う塩基同士が全て結合するような塩基の並びをしており,それゆえに,二本の鎖が離れることなく二重らせんを形成できるのです.ここで注意が必要なのは,二本の鎖は互いに逆向きに並んでいるということです.下図の下の鎖では,5'末端$\rightarrow$3'末端に向かってアデニン(A),シトシン(C),チミン(T),グアニン(G)と並んでいます.上の鎖では5'末端$\rightarrow$3'末端に向かってシトシン(C),アデニン(A),グアニン(G),チミン(T)と並んでおり,それぞれの塩基は上の鎖の対応する塩基と結合しています.
二重らせんを形成する一方の鎖に対して,もう一方の鎖を逆相補鎖と呼びます.図の例の場合,下の鎖の塩基配列はACTGと記述し,その逆相補鎖である上の鎖の塩基配列はCAGTと記述します.(TGACでないことに注意.) 二つの鎖は互いに対応関係のある塩基の並びをしているため,DNAは同一の情報を二重に保持しているといえます.そして,生物には一方の鎖に損傷が生じても,他方の鎖を元に損傷個所を復元する仕組みが備わっています. さて, DNAの遺伝情報は二本の鎖のどちらを読み出し元とするかによって,二通りの塩基配列で表記されることになります.例えば,DNAのある部分がAGGCと表記されている場合,その逆相補鎖の塩基配列であるGCCTと表記しても同じ情報とみなすことができるのです.