आपका कोड हमेशा के लिए डीएनए का एक बहुत ही सरल ASCII- कला प्रतिनिधित्व उत्पन्न करने वाला है। किसी भी प्रारूप में इनपुट के रूप में आपको दो नंबर लेने होंगे: एक सूची के रूप में, एक फ़ंक्शन के तर्क के रूप में, स्टड पर, आदि।
- एक फ्लोटिंग-पॉइंट अंतराल
I0.0 और 1.0 के बीच सेकंड में (सम्मिलित) Z1 से 64 तक पूर्णांक के रूप में एक ज़ूम स्तर (समावेशी)
आपका कोड हर एक Iसेकंड में stdout या उसके समकक्ष एक लाइन प्रिंट करेगा , एक अनंत आउटपुट का उत्पादन करेगा जो कुछ इस तरह दिखता है (ज़ूम 4 के लिए):
A
T-----a
G-------c
G-----c
g
t-----A
a-------T
c-----G
T
A-----t
C-------g
...
विशेष रूप से, डीएनए के बारे में हमारी प्रतिनिधित्व, हाइफ़न से जुड़े हुए साइन लहरों की एक जोड़ी है पात्रों में से एक से मिलकर a, c, g, और t, वर्ण के अन्य A, C, G, और T। यदि xहम जिस लाइन को वर्तमान में प्रिंट कर रहे हैं, उसकी 0-अनुक्रमित संख्या है, तो लोअरकेस वेव में वर्ण की 0-आधारित स्थिति द्वारा दी गई है (sin(πx / Z) + 1) * Z, और अपरकेस तरंग में (-sin(πx / Z) + 1) * Z, दोनों को गोल दिया गया है (निकटतम नहीं) पूर्णांक। आगे की जानकारी:
- ऐसे मामलों में जहां दो तरंगें ओवरलैप होती हैं, आपको वैकल्पिक रूप से यह समझने की जरूरत है कि कौन सी लहर सामने है, जो अपरकेस लहर से शुरू होती है। (लोअरकेस वेव से शुरू होने से हमें एक डबल हेलिक्स मिलेगा जो मौजूद नहीं है !)
- मामले को नज़रअंदाज़ करते हुए, A हमेशा T और C के साथ हमेशा G के साथ जोड़े, जैसा कि असली डीएनए में होता है। चार संभावनाओं पर एक समान वितरण के साथ जोड़े को खुद बेतरतीब ढंग से चुना जाना चाहिए। इससे कोई फर्क नहीं पड़ता कि जोड़े का विकल्प आपके कोड के क्रमिक रन पर समान या अलग है। जब तक आउटपुट में कोई स्पष्ट पैटर्न न हो और कम से कम अरबों (त्रुटिपूर्ण PRNGs जैसे RANDU ठीक हों) में आपके यादृच्छिक विकल्पों की सांख्यिकीय गुणवत्ता कोई समस्या नहीं है।
- आपके पास या तो कोई अनुगामी स्थान या हर पंक्ति उस ज़ूम स्तर पर तरंगों की अधिकतम स्थिति के लिए पैड नहीं होनी चाहिए (उदाहरण के लिए, नौ वर्ण।) ज़ूम स्तर 1 में गणितीय कारणों से एक वैकल्पिक अतिरिक्त अनुगामी स्थान हो सकता है।
क्योंकि डीएनए छोटा है, आपके कोड को यथासंभव छोटा होना चाहिए।
और ज्यादा उदाहरण:
ज़ूम स्तर 8:
T
C-----g
A-----------t
C-------------g
G---------------c
T-------------a
T-----------a
T-----a
c
g-----C
t-----------A
g-------------C
a---------------T
...
ज़ूम स्तर 2:
A
T---a
c
g---C
G
A---t
c
a---T
...
ज़ूम स्तर 1 (प्रमुख स्थान पर ध्यान दें):
G
a
C
t
...