ملخص سياسة توحيد الترميز للبرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2

بالمجمل، يهدف البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2أن ينتهج سياسة «لا للمفاجآت» حيث يتم تنسيق الدراسات التحليلية والمشاريع والوثائق بكل شفافية ووضوح. يرغب البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 في أن يتم استخدام البيانات والرموز (الشيفرات) على أوسع نطاق ممكن وبأكبر قدر ممكن من الانفتاح، ممّا يدعو إلى الحاجة لتوحيد الترميز في عمل كل أعضاء فرق التحليل. بالنسبة للأعضاء وغير الأعضاء في البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 ممن ينوون القيام بتحليل بيانات البرنامج العالمي (GP2)، يؤكد البرنامج على ضرورة وجود رموز (شيفرات) نظيفة ومنظمة وقابلة للتكرار ومفتوحة لكل المجتمع العلمي. سوف يتبع الترميز التعليمات الموحدة، وسيتم الإشارة إلى البرنامج العالمي حول الجينات المرتبطة بداء باركنسون، كما سيتم إتاحة الرموز (الشيفرة) من خلال GitHub.

⁩مقدمة⁧

إن البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 هو جهد دولي يهدف إلى الخروج بمعلومات هامة حول الأساس الجيني لداء باركنسون وإتاحة البيانات والنتائج للجميع. هذا البرنامج ممول من مبادرة تسخير العلم من أجل داء باركنسون (ASAP، ⁧⁩https://gp2.org⁧⁩) ويشكل جزءا من الأهداف الاستراتيجية للبرنامج لدعم التعاون، وتوليد المراجع، وإتاحة البيانات للجميع. إن تعميم رموز (شيفرة) وبيانات البرنامج العالمي حول الجينات المرتبطة بداء باركنسون هو من الأهداف الرئيسية للبرنامج وتشجع مبادرة (ASAP) على نشر النتائج بشكل مفتوح، وسريع، وواسع النطاق. 

⁩لمحة عامة⁧⁩ 

تهدف هذه السياسة إلى ضمان ما يلي: 

1. النشر الكامل والدقيق والفوري لرموز (شيفرة) ومسارات التحليل الخاصة بالبرنامج العالمي حول الجينات المرتبطة بداء باركنسون، بدءاً من الأبحاث التحليلية التي يقودها ائتلاف البرنامج.

2. توحيد رموز (شيفرة) ومسارات التحليل الخاصة بالبرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2، وتنظيمها، وإتاحتها للعموم على GitHub

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

تحدد سياسة توحيد الرموز (الشيفرة) الممارسات النموذجية لتوحيد الرموز (الشيفرة) المعتمدة من قبل اللجنة التوجيهية للبرنامج العالمي حول الجينات المرتبطة بداء باركنسون والدراسات التحليلية التي يقودها ائتلاف GP 2 بشكل يتكامل مع المنشورات التي يقودها ائتلاف GP2. نشجع الباحثين الخارجيين الذي يستخدمون البيانات من البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 إلى الالتزام بهذه الممارسات أيضاً لضمان مستوى رفيع من التحليل والانفتاح العلمي. لأن هذا المجال ينحى بشكل متزايد نحو استخدام Python/Jupyter Notebooks بدلاً من لغة البرمجة R، تركز هذه الوثيقة على Python. ندرك بأن الكثير من الباحثين قد يستخدمون R أو أدوات أخرى وبالتالي فإننا سنستمر في دعم الترميز المنظم والمفتوح والقابل للتكرار في مجتمع GP2. 

نرجو منكم الأخذ بعين الاعتبار بأنه ومع أن عملية تنقية الرموز (الشيفرة) متعبة ومملة، إلا أن هذه هي الطريقة التي سوف يقوم بها البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 بالترميز، ونشجعكم على اتباع هذه المعايير. إذا لم تكن الرموز (الشيفرة) واضحة/خالية من العيوب وتعبر عن نفسها بنفسها، هل سوف يكون لها بالفعل التأثير المرجو؟ تقلل الرموز (الشيفرة) الخالية من العيوب من الوقت الضروري لشرح وإعادة شرح التحليل والمفاهيم للمستخدمين، مما يحقق المكاسب للجميع. تساعدنا الرموز (الشيفرة) الخالية من العيوب على تكرار التجربة وتحقيق الشفافية. ⁧⁩⁧⁩يلتزم البرنامج العالمي حول الجينات المرتبطة بداء باركنسون بالانفتاح العلمي والتعاون من خلال شفافية الترميز (الشيفرة) وشمول الجميع.⁧⁩⁧

سوف نقدم فيما يلي وصفاً لبعض المعلومات الأساسية ومسارات العمل فيما يخص Python كلغة البرمجة الأساسية، وAnaconda كآلية التوزيع المفضلة ل Python، وPEP8 كهيكلية اللغة البرمجية التي يتوجب اتباعها، والتخزين على سحابة غوغل، وإجراء التحليل على بيئة Terraالسحابية التحليلية. نؤكد أيضاً على أهمية وجود وثيقة واضحة تبين مسارات العمل والمنطق وراءها، والتي تعرف ب README، لكل من الدراسات التحليلية. هذه هي المعايير التي سوف يتبعها البرنامج العالمي حول الجينات المرتبطة بداء باركنسون، ونأمل بأن يتبعها المجتمع الأوسع أيضاً.⁧

⁩بادئ ذي بدء سوف نتطرق إلى بعض أساسيات الترميز واستخدام Python⁧

1. من الأرجح أن تتم الحوسبة المتعلقة بالبرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 باستخدام ⁧⁩Terra⁧⁩، و⁧⁩ The AnVIL التابع ل NHGRI، أو أي من الهياكل السحابية الشبيهة.

أ. سيتم توفير الدعم التحليلي والمالي للمشاريع/المجموعات التي تواجه صعوبات لوجستية أو مالية.

2. ستكون Python3+ هي لغة الترميز الرئيسية للدراسات التحليلية للبرنامج العالمي GP2. سيتم تقديم دعم محدود للغات الترميز الأخرى ومن بينها لغة R. نستند في هذا إلى أسس الترميز الحالية المستخدمة من قبل المجموعة العلمية في مختبر علم الوراثة العصبية في المعهد الوطني للشيخوخة.

3. لتعلم لغة Terra، يرجى التسجيل للحصول على ⁧⁩حساب AMP-PD⁧⁩، وهي نقطة بداية رائعة.

أ. لديهم بعض دفاتر الملاحظات الممتازة «للبدء» (حيث تقومون بكتابة وتجربة الترميز) بالإضافة إلى مساحات للعمل وكمية كبيرة من البيانات لاستخدامها. وثائق «للبدء» الموجودة على Terra.bio هي بحد ذاتها ممتازة.

4. لتعلم استخدام Python بشكل جيد جدا خلال أسبوعين…

أ. راجعوا هذه مرة يومياً

ب. راجعوا هذه مرة أسبوعياً (نصيحة من أصدقائنا في وكالة الأمن القومي عبر قانون حرية المعلومات)

جـ. Google Colabs هي أيضاً مساحة سهلة وغير متعبة لتعلم هيكلية Notebook وكيفية استخدام Python

5. الترميز الجيد بسيط، واضح، وموحد وله قواعد لغوية، مثل وصفة الطبخ

أ. دليل غوغل للأساليب هو نقطة بداية جيدة

ب. PEP8 هي القواعد اللغوية المفضلة لـ Python

جـ. شيفرة Visual Studio هي أداة التحرير المفضلة لدى البرنامج العالمي GP2 لأنها تشمل الإضافات التي توحد الترميز (الشيفرة) من حيث الأسلوب، لكن يمكنكم استخدام أي أداة تفضلون.

6. لغة الترميز الأساسية لفرق الدعم هي Python3 لأن استخدامكم لنفس الأدوات التي نستخدمها سوف يسمح لنا بمشاطرة الأدوات معكم ودعم مشاريعكم بكفاءة أكبر.

أ. كافة الهياكل الداخلية للأدوات والترميز هي بلغة Python3

ب. سوف يتم مشاطرة المراجع والموارد على برنامج GP2 بلغة Python3 للأغلبية العظمى من المشاريع

⁩كيف يمكن تحميل Anaconda/Python للاستخدام المحلي⁧⁩ 

1. من الضروري التأكد حين نقوم بالبرمجة المحلية باستخدام Python أن نستخدم Anaconda للتوزيع لضمان الحصول على كافة سمات Python3. قام مختبر علم الوراثة العصبية بصياغة وثيقة توضح كيفية تهيئة Anaconda ويمكنكم الاطلاع عليها ⁧⁩هنا⁧

⁩النقاط الأساسية ونظرة عامة⁧

1. يجب أن يكون لديك طريقة أو وسيلة للتحكم بنسخة الإصدار وذلك منعاً للحوادث. تعاملوا معه كما لو أنه دفتر ملاحظات المختبر الإلكتروني. يوجد لدى مختبر مشروع GP2 الـ GitHib الخاص به من أجل المسارات المستقبلية قيد التنفيذ. وتماشياً مع التوجه العام للبرنامج العالمي GP2 فإن كل المحتويات متاحة للعموم.

أ. إذا لم تكونوا مستعدين بعد للانفتاح على الجمهور، ما من مشكلة! قوموا بإنشاء مخزن خاص للترميز (الشيفرة) وحين الانتهاء منها لديكم خيار إتاحتها للجمهور.

ب. يبسط GitHub عملية ضبط نسخ الإصدار والتعاون، خاصة بالواجهة الجديدة للكمبيوتر.يمكن لكم العثور على مزيد من الوثائق والمعلومات حول كيفية البدء هنا

2. ⁧⁩من الضروري ⁧⁩ تجميع وثائق README. لا تتعلق وثائق README فقط بكيفية تواصلنا مع الآخرين، ولكنها أيضاً وثائق حية، تتغير بشكل دائم، ولكنها تحتوي دوماً على معلومات مثل:

أ. المؤلفون، والمتعاونون، واسم المشروع، والغرض من المشروع، وتدفق العمل المقترح للتحليل، وتاريخ البدء، وتاريخ التحديث الأخير، وروابط لسجلات أخرى، وروابط لملفات

ب. من برامج التحرير المجانية والرائعة لتكوين ملفات README هو⁧⁩ stackedit.io⁧

3. يعمل فريق تحليل البرنامج العالمي GP2 على رموز (شيفرة) تجريبية لإثبات المفاهيم باستخدام ⁧⁩ Google Colab ⁧⁩وذلك لاستخدام وحدات الرسوم التوضيحية المجانية، والمشاركة والتعديل بشكل سهل على بيئة Jupyter المحلية إذا اقتضت الحاجة.

4. كمبدأ عام، حين يزيد عدد أعضاء فريق العمل على المشروع عن شخصين أو ثلاثة ممن يعملون في نفس المجموعة، يجب ضبط نسخ الإصدار.

5. قبل مشاركة مشروع/وثيقة مع شبكة البرنامج العالمي GP2، يجب ضبط نسخة الإصدار ووجود نوع من المرجع الشفاف والمفهوم للرموز (الشيفرة).

أ. سوف يتم تدقيق هذه الرموز (الشيفرة) قبل إعطاء الموافقة على النشر إذا تم استخدام أي من موارد البرنامج العالمي GP2 إن كانت موارد مالية أو تحليلات.

⁩ترتيب الرموز (الشيفرة)⁧

1. هناك شرح لطريقة ترتيب الرموز (الشيفرة) الخاصة بنا ⁧⁩هنا⁧

أ. يستكشف هذا المرجع الوظائف والوحدات وطرق أخرى منظمة لتقسيم عملكم

ب. لستم مضطرين لاتباع نفس الطريقة في عملية الترميز إذا لم تكونوا مرتاحين لهذا الأسلوب، لكن يجب اتباع نوع من التنظيم البديهي.

جـ. تعاملوا مع الترميز كجزء من الوثيقة، إذا لم يكن بمقدور المراجع أن يفهم هذه الوثيقة، كيف يمكن لها أن تنجح في اختبار معايير الانفتاح العلمي للبرنامج العالمي GP2؟ ينطبق نفس الأمر على الرموز (الشيفرة).

د. بينما لا يوجد صيغة محددة للترميز في البرنامج العالمي GP2 يرجى منكم بذل كل الجهود لتوخي الوضوح.

⁩توحيد الترميز في Python⁧

1. نتبع، قدر الإمكان، معايير PEP8 للترميز باستخدام Python. PEP8 هي وثيقة توضح الطريقة النموذجية لكتابة رموز (شيفرة) Python، وتهدف إلى تسهيل قراءتها واتساقها.

أ. يمكن العثور على مرجع شامل وقابل للفهم هنا.

ب. يوجد لدى أغلب برمجيات البيئات التطويرية المتكاملة (IDE) ملحق لضمان تحقّق هذا المعيار

1. مثال على ذلك ملحق autopep8 التابع لـ Visual Studio Code

2. في notebooks، يوجد نموذج لنصوص جاهزة نستخدمها لتذكرنا وتذكر المستخدمين بالدوافع وراء المشاريع. من خلال استخدام notebooks سوف تجدون Markdown الذي سيساعدكم على توج.المستخدم وفي نفس الوقت متابعة الأمور.

أ. تجدون فيما يلي ⁧⁩النص الجاهز⁧⁩ الذي أعددناه.

1. يمكن تعديله ليناسب احتياجاتكم

2. يجب استخدام الإطار العام للترميز (الشيفرة) المرتبط بالمشاريع التي تحصل على الدعم المباشر من البرنامج العالمي GP2. هذا يساعد في عملية الإشراف وحل المشاكل.

⁩الممارسات النموذجية على المنصة السحابية⁧

1. كجزء من برنامج شراكة تسريع تطوير الأدوية لداء باركنسون AMP-PD وأيضاً من المحتمل ضمن إطار GP2 سوف نقوم باستخدام منصة ⁧⁩ Terra⁧⁩للكتابة والتعديل وتشغيل مسارات التحليل

أ. تم تصميم Terra من قبل المعهد الشامل ومعهد ماساتشوسيتس للتكنولوجيا ويستند إلى البنية/البنى التحتية التجارية للسحابة (خيارات متعددة)، ويوجد فيه بيئة كاملة تفاعلية لPython3 في هيكلية notebook (تشبه Jupyter إلى حد كبير)

1. إذا كنتم لا تعرفون الحوسبة السحابية، توفر غوغل مقدمة ممتازة للغة الحوسبة السحابية ⁧⁩هنا⁧⁩، فتغطي أساسيات تتعلق بماهية المشروع، والوعاء، والإناء، وغيرها من المفاهيم الأساسية الضرورية للعمل المستقبلي

2. تم جمع أمثلة خاصة ب Terra من قبل فريق برنامج شراكة تسريع تطوير الأدوية لداء باركنسون AMP-PD ⁧⁩هنا⁧

3. يمكن العثور على بعض المعلومات الأساسية حول كيفية نقل الملفات داخل البنية التحتية السحابية هنا في هذه ⁧⁩الوثيقة الموجزة⁧

4. يمكن العثور على الممارسات النموذجية لغوغل حول التسمية، وتخزين البيانات، وإدارة البيانات ⁧⁩هنا⁧

2. هناك فرقان أساسيان بين القيام بالتحليلات محلياً مقابل القيام بها على السحابة

أ. على المستوى المحلي، عليكم أن تدفعوا مقابل التخزين (إن كان على جهاز الكمبيوتر الخاص بكم أو على منصة المؤسسة) بينما التخزين على السحابة مدفوع (على سبيل المثال من قبل برنامج شراكة تسريع تطوير الأدوية لداء باركنسون AMP-PD أو البرنامج العالمي GP2)

ب. على الصعيد المحلي، لا تحتاجون إلى الدفع مقابل تشغيل مسار التحليل (ليس على جهازكم الخاص على الأقل، لكن يتوجب الدفع للحزمة حسب المؤسسة) بينما يدفع المستخدمون على السحابة مقابل كل تحليل يقومون بتشغيله (إن كان من خلال الباحث الرئيسي أو المؤسسة)

3. قامت فرق التحليل التابعة لبرنامج شراكة تسريع تطوير الأدوية لداء باركنسون AMP-PD والبرنامج العالمي GP2 بكتابة عدد من مسارات التحليل المختلفة (رابط) والتي يمكن استخدامها وتعديلها

أ. لأنكم تدفعون مقابل البيئة التي تقومون بإنشائها وكمية البيانات التي تقومون بالوصول إليها، يصبح أهم ما عليكم القيام به هو تصميم وتخطيط عملية التحليل على أفضل وجه ممكن

1. يمكن العثور على مثال للتكاليف المترتبة على التحليل لاستخدامها كدليل ⁧⁩هنا⁧

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

جـ. لأنكم تدفعون مقابل البيئة التي قمتم بإنشائها والزمن الذي تستخدمونها خلاله، يمكن لكم وقف الاستخدام أو شطب المواد كلها حين لا تستخدموها كي تدفعوا مقابل الاستخدام فقط

⁩ملاحظة أخيرة لأصدقائنا الذين يقومون بالعمل بأيديهم⁧

الشفافية، والانفتاح، والقدرة على تكرار التجربة لا تنطبق فقط على العمل الحاسوبي نوصي باستخدام أدوات مثل⁧⁩ protocols.io ⁧⁩أو استخدام ⁧⁩ Rocket Notebook ⁧⁩من أجل توحيد المهام والتجارب المخبرية. تفضل ⁧⁩مجموعة العمل لتحليل بيانات المرض المعقدة ⁧⁩التابعة للبرنامج العالمي GP2 و⁧⁩ تعميم البيانات والشيفرات ⁧⁩استخدام ⁧⁩ممارسات محددة للعاملين في المختبرات بأيديهم بحيث تعكس تماماً العمل الذي نقوم به⁧⁩ في الجانب الحاسوبي من العملية. ⁧⁩نحن ندفع أيضاً باتجاه توحيد معايير الحصول على العينات وتسميتها عبر الانترنت وأن تكون شفافة، حتى لو لم تكن تقع مباشرة ضمن نطاق عملنا.⁧

⁩شكر وتقدير⁧

على كل المخطوطات، والنسخ ما قبل الطباعة، والملخصات/ الملصقات الناتجة عن استخدام مسارات تحليل البيانات التابعة للبرنامج العالمي GP2 أن تذكر بالشكرASAP وGP2 على النحو التالي:

«تم الحصول على الشيفرة المستخدمة في إعداد هذا المسار من البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2». البرنامج العالمي GP2 ممول من مبادرة «تسخير العلم من أجل داء باركنسون» ASAP وتم تنفيذه من قبل مؤسسة مايكل ج. فوكس لأبحاث باركنسون (⁧⁩www.gp2.org⁧⁩). للحصول على القائمة الكاملة لأعضاء البرنامج العالمي GP2 يرجى الاطلاع على ⁧⁩www.gp2.org.⁧⁩ تحتفظ مؤسسة مايكل ج. فوكس، مبادرة ASAP واللجنة التوجيهية للبرنامج العالمي GP2 بحق تعديل شروط هذه الاتفاقية، ويمكن أن يقوموا بذلك من خلال وضع إعلان يحتوي التعديلات على هذه الصفحة. تصبح هذه التعديلات نافذة فور نشرها (إلا في حال ورد ما هو غير ذلك). عليكم زيارة هذه الصفحة بشكل دوري لمراجعة شروط الاستخدام.

«مدونة السلوك للمبرمجين» يرجى اتباع هذا ⁧⁩الإطار المفاهيمي⁧⁩ للتعاون في ترميز المشاريع في إطار البرنامج العالمي GP2.