เมื่อได้รับลำดับของฐาน Adenine, Cytosine, Guanine และ Thymine (เข้ารหัสเป็นACGT
) คุณจะต้องสร้างงานศิลปะ ASCII ของ DNA คู่ที่สอดคล้องกัน
เส้นใยจะยืดในแนวตั้ง สาระซ้ายมือคือสิ่งที่คุณได้รับเป็นอินพุต เกลียวด้านขวาจะเป็นส่วนประกอบ สำหรับผู้ที่ไม่คุ้นเคยกับดีเอ็นเอA
ถูกจับคู่กับT
และถูกจับคู่กับC
G
นอกจากนี้ยังมีโครงสร้างกระดูกสันหลังที่ด้านใดด้านหนึ่งของเกลียวคู่ซึ่งเหมือนกันสำหรับฐานทั้งหมด ดังนั้นถ้าคุณได้รับอินพุตTAGCAT
โครงสร้างขนาดใหญ่ของศิลปะ ASCII จะเป็น:
BTAB
BATB
BGCB
BCGB
BATB
BTAB
ที่B
แสดงถึงกระดูกสันหลัง ทีนี้ตัวอักษรแต่ละตัวเหล่านี้ย่อมาจากโมเลกุลทั้งหมดและคุณต้องสร้างโครงสร้างโมเลกุลขึ้นมาใหม่
ฐาน
ใช้เทมเพลตต่อไปนี้1สำหรับแต่ละฐาน (แต่ละอันจะแสดงพร้อมกับฐานประกอบและโมเลกุลแบ็กโบนสองตัว):
1เครดิตให้กับ Peter Taylor สำหรับช่วยเหลือในการจัดวาง ASCII
adenine
O O
\\ /
P
/ \
--O O
/ |
< N NH2 ..... O * |
\ // \ / \\ / |
+--O // ---- ---- |
| \ | // \\ / \\ |
| >--N--< N ...... HN > ---+
| / \ / \ / / |
+--- N=== ---N--< |
| // \ |
| O O--+
| \
| >
| /
O O--
\ /
P
/ \\
O O
cytosine
O O
\\ /
P
/ \
--O O NH2 ..... O N
/ / \\ / \\ |
< ---- ---- \\ ---+
\ // \\ / \\ | / |
+--O < N ...... HN >--N--< |
| \ \ / \ / \ |
| >--N--- ===N O--+
| / \\ / \
+--- O ..... H2N >
| /
O O--
\ /
P
/ \\
O O
guanine
O O
\\ /
P
/ \
--O O
/ |
< N O ..... H2N |
\ // \ // \ |
+--O // ---- ---- |
| \ | // \ // \\ |
| >--N--< NH ...... N > ---+
| / \ / \ / / |
+--- N=== ---N--< |
| \ // \ |
| NH2 ..... O O--+
| \
| >
| /
O O--
\ /
P
/ \\
O O
thymine
O O
\\ /
P
/ \
--O O * O ..... H2N N
/ \ // \ / \\ |
< ---- ---- \\ ---+
\ // \ // \\ | / |
+--O < NH ...... N >--N--< |
| \ \ / \ / \ |
| >--N--- ===N O--+
| / \\ \
+--- O >
| /
O O--
\ /
P
/ \\
O O
การสร้างเกลียวเชือกคู่
ทำซ้ำในแนวตั้งเช่นไม่มีช่องว่างในโครงสร้างกระดูกสันหลัง ซึ่งหมายความว่ากล่องขอบเขตของแม่แบบทั้งสี่เหล่านี้จะทับซ้อนกัน
ปลายด้านล่างของปลายด้านซ้ายและด้านบนของกระดูกสันหลังที่เหมาะสมจะเชื่อมต่อกับของO
OH
ฟรีที่ปลายด้านบนของปลายด้านซ้ายและด้านล่างของกระดูกสันหลังที่เหมาะสมจะมีพันธบัตรฟรีจะเข้ามาแสดงโดยO
--
ตัวอย่าง ATG
O O--
\\ /
P
/ \
--O O OH
/ |
< N NH2 ..... O * |
\ // \ / \\ / |
+--O // ---- ---- |
| \ | // \\ / \\ |
| >--N--< N ...... HN > ---+
| / \ / \ / / |
+--- N=== ---N--< |
| // \ |
| O O--+
| \
| >
| /
O O O O--
\\ / \ /
P P
/ \ / \\
--O O * O ..... H2N N O O
/ \ // \ / \\ |
< ---- ---- \\ ---+
\ // \ // \\ | / |
+--O < NH ...... N >--N--< |
| \ \ / \ / \ |
| >--N--- ===N O--+
| / \\ \
+--- O >
| /
O O O O--
\\ / \ /
P P
/ \ / \\
--O O O O
/ |
< N O ..... H2N |
\ // \ // \ |
+--O // ---- ---- |
| \ | // \ // \\ |
| >--N--< NH ...... N > ---+
| / \ / \ / / |
+--- N=== ---N--< |
| \ // \ |
| NH2 ..... O O--+
| \
| >
| /
OH O O--
\ /
P
/ \\
--O O
ตัวอย่างเพิ่มเติม:
นี่คือ MD5 hash ของอีกหลายตัวอย่าง (โดยไม่มีการเว้นวรรคนำหน้าหรือต่อท้าย)
ATG 2e4a906c44a96fe84134bf4346adf11c (this is the above example)
C e3648b8960967463784818c3eee57246
TTT 6028a90b05775905ef1a00e7a45463c5
TAGCAT 3b834d2b7b9adc4113ffabd52d354c41
GATTACA a19463f965c641d071e07da59d64a418
แจ้งให้เราทราบหากคุณคิดว่าสิ่งเหล่านี้ผิด
หากคุณไม่แน่ใจว่าจะตรวจสอบผลลัพธ์ของแฮชได้อย่างน่าเชื่อถือหรือไม่ลองใช้ตัวสร้างMD5 ออนไลน์นี้ ตรวจสอบให้แน่ใจว่าไม่มีตัวแบ่งบรรทัดต่อท้าย
หมายเหตุเพิ่มเติม
คุณอาจใช้ช่องว่างนำหน้าหรือต่อท้ายตามที่เห็นสมควร แน่นอนถ้าคุณใช้ช่องว่างนำหน้าจะต้องมีจำนวนเท่ากันในแต่ละบรรทัด
หากฉันทำผิดพลาดในการคัดลอกโครงสร้างทางเคมีแม่แบบข้างต้นยังคงเป็นบรรทัดฐานสำหรับวัตถุประสงค์ของการท้าทายนี้
คุณสามารถเขียนฟังก์ชันหรือโปรแกรมที่รับสตริงเข้าเป็นพารามิเตอร์อาร์กิวเมนต์บรรทัดคำสั่งผ่าน STDIN หรือคาดว่าจะถูกเก็บไว้ในตัวแปร เขียนศิลปะ ASCII ที่ได้ไปยัง STDOUT
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ
TTT
เพราะสตริงที่มีขึ้นบรรทัดใหม่ต่อท้าย
ATG
ผลลัพธ์ของคุณและได้รับการตรวจสอบที่แตกต่างกัน และระบบปฏิบัติการที่แตกต่างกันจะได้รับ checksums ที่แตกต่างกัน unix2dos, unix2mac...
คุณสามารถลองเหล่านี้ด้วย
Digest::MD5.hexdigest()
กับปลายสายสไตล์ Unix อีกทั้งยังไม่มีบรรทัดใหม่ที่ต่อท้าย วางไว้ที่นี่ - ตัวสร้าง MD5 ออนไลน์นี้เห็นด้วยกับแฮชของฉัน