in ,

البرمجة والكيمياء؛ ما وجهُ القرابة!؟

يُعتبرُ علم الأحياء التركيبي* نطاقًا جديدًا للأبحاث نسبيًا؛ حيث يمكن أن تؤثّر بعمق في عدد من المجالات مثل؛ علم الأحياء والطّب وتقنيات التصنيع النانويّ (nanofabrication**). ثُمّ إنّ التحدّي الأكبر في هذا النطاق البحثي الناشئ يكمنُ في إقحام الحوسبة ضمن السياق الجزيئي في الحالات التي لا يُمكن فيها إدخال وحدات التحكّم المكرويّة الإلكترونية. إلّا أنّ تطبيق ذلك على أرض الواقع يحتاجُ إلى ابتكار وتطوير طرائق من شأنها تمثيل الحسابات باستخدام العناصر الجزيئية بشكلٍ فعّال.

قام فريق من الباحثين في جامعة تِكساس بإنشاء لغة برمجة جديدة أطلقوا عليها اسم (CRN++)، تكونُ مخصّصةً لبرمجة الحركيّات الكيميائية الحتميّة عند تنفيذ العمليات الحاسوبية. وفي ورقتهم البحثية على موقع arXiv، وضعوا الخطوط العريضة حول إنشائهم للغة الجديدة، وبناء مترجم (Compiler) لترجمة البرامج المكتوبة بلغة CRN++ إلى تفاعلات كيميائية.

خوارزمية إقليدس والكود البرمجي المقابل لها في لغة CRN
خوارزمية إقليدس والكود البرمجي المقابل لها في لغة CRN

يقدّم ماركو فاسيك Marko Vasic، أحد الباحثين في الدراسة، توصيفًا للغة في قوله:

“يَكمنُ موضع التحدي فيما يخصُّ علم الأحياء التركيبية في تصميم وحدات التحكّم الكيميائية التي تتفاعل ضمن البيئة الخلوية، مُنجِزةً مهمّة معينة”، ويضيف: “لتحقيق ذلك، من الضروري هَندَسة الجزيئات التركيبية وبرمجتها. تتفاعل الجزيئات من خلال الاستجابات الكيميائية وبرمجة هذه الجزئيات. أي؛ تعريف قواعد التفاعل الكيميائي بينهم.”

إنّ التحسينات في تركيب الـحِمض النووي الصبغي (DNA) مهدّت الطريق لإمكانيات جديدة ومثيرة في مضمار الهندسة الجزيئية. ومع ذلك، عند الحديث عن علم الأحياء التركيبي يحتاج الباحثون إلى ابتكار طرائق لتصميم قواعد التفاعلات (الكيميائية) بغيةَ تحقيق الهدف المنشود.

إنّ الهدف الرئيسي للدراسة الحالية كان تصميم لغة عالية المستوى من شأنها التعبير عن سلوك التفاعلات الكيميائية بحيث يبدو التفاعل طبيعي أكثر ما يمكن. ويشرح د. فاسيك ذلك في قوله: “في هندسة البرمجيات، يكتب المبرمج باستخدام لغةٍ عالية المستوى تكون سهلة الفهم، ومن ثم  يُترجَم البرنامج إلى لغة الآلة صعبة الفهم من جانب البشر، لكن مفهومة بالنسبة إلى الآلة”، ويضيف: ” نحن نحاول بناء مُحاكاة (analogy) في البرمجة الجزيئية من خلال تعريف لغة عالية المستوى تكون سهلة ال reason about، وتترجم إلى كيمياء معقّدة.”

ناتج عملية الترجمة بالإضافة إلى ناتج المحاكاة لبرنامج (CRN)
ناتج عملية الترجمة بالإضافة إلى ناتج المحاكاة لبرنامج (CRN)

تستند لغة CRN++ إلى فكرتين أساسيتين هما؛ قابلية التركيب (Modularity) واستخدام الهزّاز (oscillator). تعني قابلية التركيب؛ أن اللغة تتضمن مجموعة من التفاعلات الكيميائية تدعى وحدات إنشائية من شأنها أن تقدر على التركّب مع مجموعات مُختلفة من التفاعلات بدون تشوُّش أو تداخل فيما بينها. ولتحقيق ذلك؛ قام الباحثون بنَظْم العمليات الأساسية لهذه الوحدات الأساسية باستخدام لغة CRN++. ثمّ إنّهم استخدموا مولِّدات اهتزاز كيميائية من أجل ضمان الترتيب الزمني، الذي يسمح لهم بترجمة التعليمات والأوامر المرتّبة الخاصّة باللغة البرمجية إلى لغة الكيمياء.

“حسب الدراسة التحليلية التي قمنا بها، فإنّنا نقدّم لغة أوامر برمجية (imperative programming language) تُعدّ الأولى من نوعها؛ إذ تتم الترجمة فيها باستخدام شبكات من التفاعل الكيميائيّ”، ويضيف: “لقد جعلنا الرمّاز المصدري (الكود المصدري) مُتاحًا، بما فيه لغة CRN++، آملين بأن يعبّد عملنا الطريقَ أمام الباحثين الآخرين حاثًّا إيّاهم على تجربة منهجيات جديدة وبالتالي توسيع مجال الدراسة إلى نقاطٍ أبعد من التي وصلنا إليها.”

قام الباحثون بتقييم اللغة التي صمّموها، ثمّ إنّهم أثبتوا قابليتها للتطبيق ضمن سلسلة من الخوارزميات الخاصّة بحسابات متقطّعة وذات قيم حقيقية. أيضًا، تعدّ اللغة قابلةً للتوسّع داعمةً بذلك تطبيقات وأوامر جديدة؛ الأمر الذي يجعل منها أساسًا مثاليًا لتطوير برامج متقدّمة فيما يخصّ البرمجة الجزيئية.

وبالحديث عن المخاطر المُحتملة في اللغة الناشئة، يقول فاسيك: “تتضمن البرامج المنقولة من لغة CRN++ إلى الكيمياء بعض الأخطاء التي من شأنها أن تكون ذات أثر خطورة منخفض بالنسبة إلى بعض الفئات من البرامج. لكن؛ يمكن أن تكون عالية الخطورة بالنسبة إلى فئات أُخرى.”، ويضيف: “ومن ثَمَّةَ، نخطط استقصاء مصادر الخطأ والتحرّي عنها بعمق، ومن ثمّ بناء برامج تكفل عدم ظهور الخطأ بعد حد معيّن.”

يتطلّع د. فاسيك و زملاؤه إلى تطوير وتوسيع لغة البرمجة الخاصّة بهم من خلال إضافة وحدات إضافية إليها من شأنها تعريف مجموعات إضافية من التفاعلات الكيميائية الأساسية.


هامش:

* علم الأحياء التركيبي هو تصميم وبناء أجزاء وأجهزة ونظم حيوية جديدة، وإعادة تصميم النظم الحيوية الموجودة في الطبيعة لأغراض مفيدة.

** nanofabrication: يشير هذا المصطلح إلى عملية تصميم المواد النانوية والأجهزة التي تُقاس بالمقياس النانوي (بحيث أنّ كُلَ 10-9 نانومتر يقابل متر واحد).

المصادر:

 

  • إعداد: نور عبدو.

بواسطة نور عبدو

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

لأول مرة، رصد عاصفة من الغبار على تيتان قمر زحل

الملاقيط الضوئية، وتوليد نبضات ضوئية عالية الكثافة