بالمجمل، يهدف البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 إلى أن ينتهج سياسة «لا للمفاجآت» حيث يتم تنسيق الدراسات التحليلية والمشاريع والوثائق بكل شفافية ووضوح. يرغب البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 في أن يتم استخدام البيانات والرموز (الشيفرات) على أوسع نطاق ممكن وبأكبر قدر ممكن من الانفتاح، ممّا يدعو إلى الحاجة لتوحيد الترميز في عمل كل أعضاء فرق التحليل. بالنسبة للأعضاء وغير الأعضاء في البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 ممن ينوون القيام بتحليل بيانات البرنامج العالمي (GP2)، يؤكد البرنامج على ضرورة وجود رموز (شيفرات) نظيفة ومنظمة وقابلة للتكرار ومفتوحة لكل المجتمع العلمي. سوف يتبع الترميز التعليمات الموحدة، وسيتم الإشارة إلى البرنامج العالمي حول الجينات المرتبطة بداء باركنسون، كما سيتم إتاحة الرموز (الشيفرة) من خلال GitHub.
مقدمة
إن البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 هو جهد دولي يهدف إلى الخروج بمعلومات هامة حول الأساس الجيني لداء باركنسون وإتاحة البيانات والنتائج للجميع. يتم تمويل GP2 من خلال مبادرة Aligning Science Across Parkinson’s ( ASAP ) وهو جزء من الأهداف الاستراتيجية لهذا البرنامج لدعم التعاون وتوليد الموارد وإضفاء الطابع الديمقراطي على البيانات. إن تعميم رموز (شيفرة) وبيانات البرنامج العالمي حول الجينات المرتبطة بداء باركنسون هو من الأهداف الرئيسية للبرنامج وتشجع مبادرة (ASAP) على نشر النتائج بشكل مفتوح، وسريع، وواسع النطاق.
لمحة عامة
تهدف هذه السياسة إلى ضمان ما يلي:
- النشر الكامل والدقيق والفوري لرموز (شيفرة) ومسارات التحليل الخاصة بالبرنامج العالمي حول الجينات المرتبطة بداء باركنسون، بدءاً من الأبحاث التحليلية التي يقودها ائتلاف البرنامج.
- توحيد رموز (شيفرة) ومسارات التحليل الخاصة بالبرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2، وتنظيمها، وإتاحتها للعموم على GitHub
تكامل الخطوط التوجيهية لتوحيد الرموز (الشيفرة) مع سياسة النشر الخاصة بالبرنامج العالمي حول الجينات المرتبطة بداء باركنسون . GP2. يرجى الرجوع إلى هذه الوثيقة في حال قيام الائتلاف بإدارة أوضاع غير اعتيادية.
تحدد سياسة توحيد الرموز (الشيفرة) الممارسات النموذجية لتوحيد الرموز (الشيفرة) المعتمدة من قبل اللجنة التوجيهية للبرنامج العالمي حول الجينات المرتبطة بداء باركنسون والدراسات التحليلية التي يقودها ائتلاف GP 2 بشكل يتكامل مع المنشورات التي يقودها ائتلاف GP2. نشجع الباحثين الخارجيين الذي يستخدمون البيانات من البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 إلى الالتزام بهذه الممارسات أيضاً لضمان مستوى رفيع من التحليل والانفتاح العلمي. لأن هذا المجال ينحى بشكل متزايد نحو استخدام Python/Jupyter Notebooks بدلاً من لغة البرمجة R، تركز هذه الوثيقة على Python. ندرك بأن الكثير من الباحثين قد يستخدمون R أو أدوات أخرى وبالتالي فإننا سنستمر في دعم الترميز المنظم والمفتوح والقابل للتكرار في مجتمع GP2.
نرجو منكم الأخذ بعين الاعتبار بأنه ومع أن عملية تنقية الرموز (الشيفرة) متعبة ومملة، إلا أن هذه هي الطريقة التي سوف يقوم بها البرنامج العالمي حول الجينات المرتبطة بداء باركنسون GP2 بالترميز، ونشجعكم على اتباع هذه المعايير. إذا لم تكن الرموز (الشيفرة) واضحة/خالية من العيوب وتعبر عن نفسها بنفسها، هل سوف يكون لها بالفعل التأثير المرجو؟ تقلل الرموز (الشيفرة) الخالية من العيوب من الوقت الضروري لشرح وإعادة شرح التحليل والمفاهيم للمستخدمين، مما يحقق المكاسب للجميع. تساعدنا الرموز (الشيفرة) الخالية من العيوب على تكرار التجربة وتحقيق الشفافية. يلتزم البرنامج العالمي حول الجينات المرتبطة بمرض باركنسون بالانفتاح العلمي والتعاون من خلال شفافية الترميز (الشيفرة) وشمول الجميع.
سوف نقدم فيما يلي وصفاً لبعض المعلومات الأساسية ومسارات العمل فيما يخص Python كلغة البرمجة الأساسية، وAnaconda كآلية التوزيع المفضلة ل Python، وPEP8 كهيكلية اللغة البرمجية التي يتوجب اتباعها، والتخزين على سحابة غوغل، وإجراء التحليل على بيئة Terraالسحابية التحليلية. نؤكد أيضا على أهمية وجود وثيقة واضحة تبين مسارات العمل والمنطق وراءها،والتي تعرف ب README،لكل من التحليلات. هذه هي المعايير التي ستتبعها GP2، ونأمل أن يتبعها المجتمع الأكبر أيضًا.
بادئ ذي بدء سوف نتطرق إلى بعض أساسيات الترميز واستخدام Python
- من المرجح أن يتم تنفيذ كل العمليات الحسابية الخاصة بـ GP2 في Terra أو NHGRI’s The AnVIL أو البنية التحتية السحابية المماثلة
- سيتم توفير الدعم التحليلي والمالي للمشاريع/المجموعات التي تواجه صعوبات لوجستية أو مالية.
- ستكون Python3+ هي لغة الترميز الرئيسية للدراسات التحليلية للبرنامج العالمي GP2. سيتم تقديم دعم محدود للغات الترميز الأخرى ومن بينها لغة R. نستند في هذا إلى أسس الترميز الحالية المستخدمة من قبل المجموعة العلمية في مختبر علم الوراثة العصبية في المعهد الوطني للشيخوخة.
- لتعلم Terra، قم بالتسجيل للحصول على حساب AMP PD ، فهذه نقطة بداية رائعة
- لديهم بعض المفكرات الممتازة «للبدء» (حيث تقومون بكتابة وتجربة الترميز) بالإضافة إلى مساحات للعمل وكمية كبيرة من البيانات لاستخدامها.
- إن مستندات البدء في Terra.bio نفسها رائعة جدًا
- لتعلم بايثون بشكل جيد حقًا في أسبوعين …
- قم بهذا مرة واحدة في اليوم
- قم بمراجعة هذا مرة واحدة في الأسبوع (من أصدقائنا الجيدين في وكالة الأمن القومي عبر قانون حرية المعلومات)
- يعد Google Colabs أيضًا مكانًا منخفض التكلفة / منخفض الضغط لتعلم بنية دفتر الملاحظات والتعرف على Python ( إظهار دفاتر الملاحظات في Drive )
- الترميز الجيد بسيط، واضح، وموحد وله قواعد لغوية، مثل وصفة الطبخ
- تُعد أدلة أسلوب Google مكانًا رائعًا للبدء
- PEP8 هي “القواعد النحوية” المفضلة لـ Python
- يعد Visual Studio Code محررنا المفضل في GP2 لأنه يتضمن ملحقات لتوحيد أسلوب الكود الخاص بك، ولكن استخدم ما تشعر بالراحة معه
- لغة الترميز الأساسية لفرق الدعم هي Python3 لأن استخدامكم لنفس الأدوات التي نستخدمها سوف يسمح لنا بمشاطرة الأدوات معكم ودعم مشاريعكم بكفاءة أكبر.
- كافة الهياكل الداخلية للأدوات والترميز هي بلغة Python3
- سوف يتم مشاطرة المراجع والموارد على برنامج GP2 بلغة Python3 للأغلبية العظمى من المشاريع
كيف يمكن تحميل Anaconda/Python للاستخدام المحلي
- من المهم التأكيد على أنه عندما نقوم بالبرمجة باستخدام Python محليًا، فإننا نستخدم توزيع Anaconda لضمان بيئة Python3 كاملة الميزات. قامت شركة LNG بتجميع وثيقة حول كيفية إعداد Anaconda ويمكن العثور عليها هنا
النقاط الأساسية ونظرة عامة
- يجب أن يكون لديك بعض طرق التحكم في الإصدار لمنع الحوادث. تعاملوا معه كما لو أنه دفتر ملاحظات المختبر الإلكتروني. يحتوي مختبر مشروع GP2 على GitHub خاص به لأنابيب المواجهة الأمامية. وتماشياً مع التوجه العام للبرنامج العالمي GP2 فإن كل المحتويات متاحة للعموم.
- إذا لم تكن جاهزة تمامًا للجمهور، فلا بأس بذلك! قوموا بإنشاء مخزن خاص للترميز (الشيفرة) وحين الانتهاء منها لديكم خيار إتاحتها للجمهور.
- يبسط GitHub عملية ضبط نسخ الإصدار والتعاون، خاصة بالواجهة الجديدة للكمبيوتر.يمكن لكم العثور على مزيد من الوثائق والمعلومات حول كيفية البدء هنا
- من الضروري تجميع وثائق README. لا تتعلق وثائق README فقط بكيفية تواصلنا مع الآخرين، ولكنها أيضاً وثائق حية، تتغير بشكل دائم، ولكنها تحتوي دوماً على معلومات مثل:
- المؤلفون، والمتعاونون، واسم المشروع، والغرض من المشروع، وتدفق العمل المقترح للتحليل، وتاريخ البدء، وتاريخ التحديث الأخير، وروابط لسجلات أخرى، وروابط لملفات
- محرر Markdown مجاني وجميل لإنشاء ملفات README هو stackedit.io
- يعمل فريق تحليل GP2 معًا على أكواد إثبات المفهوم التجريبية باستخدام Google Colabs للاستفادة من وحدات معالجة الرسومات المجانية، والمشاركة بسهولة، والتعديل بسهولة على بيئة Jupyter المحلية إذا لزم الأمر.
- كمبدأ عام، حين يزيد عدد أعضاء فريق العمل على المشروع عن شخصين أو ثلاثة ممن يعملون في نفس المجموعة، يجب ضبط نسخ الإصدار.
- قبل مشاركة مشروع/وثيقة مع شبكة البرنامج العالمي GP2، يجب ضبط نسخة الإصدار ووجود نوع من المرجع الشفاف والمفهوم للرموز (الشيفرة).
- سوف يتم تدقيق هذه الرموز (الشيفرة) قبل إعطاء الموافقة على النشر إذا تم استخدام أي من موارد البرنامج العالمي GP2 إن كانت موارد مالية أو تحليلات.
تنظيم الكود الخاص بنا
- طريقة تنظيم الكود موضحة هنا
- يستكشف هذا المرجع الوظائف والوحدات وطرق أخرى منظمة لتقسيم عملكم
- لستم مضطرين لاتباع نفس الطريقة في عملية الترميز إذا لم تكونوا مرتاحين لهذا الأسلوب، لكن يجب اتباع نوع من التنظيم البديهي.
- تعاملوا مع الترميز كجزء من الوثيقة، إذا لم يكن بمقدور المراجع أن يفهم هذه الوثيقة، كيف يمكن لها أن تنجح في اختبار معايير الانفتاح العلمي للبرنامج العالمي GP2؟ ينطبق نفس الأمر على الرموز (الشيفرة).
- بينما لا يوجد صيغة محددة للترميز في البرنامج العالمي GP2 يرجى منكم بذل كل الجهود لتوخي الوضوح.
توحيد الترميز في Python
- نتبع، قدر الإمكان، معايير PEP8 للترميز باستخدام Python. PEP8 هي وثيقة توضح الطريقة النموذجية لكتابة رموز (شيفرة) Python، وتهدف إلى تسهيل قراءتها واتساقها.
- في notebooks، يوجد نموذج لنصوص جاهزة نستخدمها لتذكرنا وتذكر المستخدمين بالدوافع وراء المشاريع. من خلال استخدام notebooks سوف تجدون Markdown الذي سيساعدكم على توج.المستخدم وفي نفس الوقت متابعة الأمور.
- هذا هو نموذجنا الحالي
- يمكن تعديله ليناسب احتياجاتكم
- يجب استخدام الإطار العام للترميز (الشيفرة) المرتبط بالمشاريع التي تحصل على الدعم المباشر من البرنامج العالمي GP2. هذا يساعد في عملية الإشراف وحل المشاكل.
- هذا هو نموذجنا الحالي
أفضل ممارسات منصة السحابة
- كجزء من AMP PD وربما بالنسبة لـ GP2، سنستخدم منصة Terra لكتابة وتعديل وتشغيل خطوط أنابيب التحليل
- تم تصميم Terra من قبل المعهد الشامل ومعهد ماساتشوسيتس للتكنولوجيا ويستند إلى البنية/البنى التحتية التجارية للسحابة (خيارات متعددة)، ويوجد فيه بيئة كاملة تفاعلية لPython3 في هيكلية notebook (تشبه Jupyter إلى حد كبير)
- إذا كنتم لا تعرفون الحوسبة السحابية، توفر غوغل مقدمة ممتازة للغة الحوسبة السحابية هنا ، فتغطي أساسيات تتعلق بماهية المشروع، والوعاء، والإناء، وغيرها من المفاهيم الأساسية الضرورية للعمل المستقبلي
- تم تجميع أمثلة خاصة بالأرض بواسطة فريق AMP PD هنا
- يمكن العثور على بعض الأساسيات حول كيفية نقل الملفات بين البنية التحتية السحابية في ورقة الغش المفيدة هذه
- يمكنك العثور على أفضل ممارسات Google فيما يتعلق بالتسمية وتخزين البيانات وإدارة البيانات هنا
- تم تصميم Terra من قبل المعهد الشامل ومعهد ماساتشوسيتس للتكنولوجيا ويستند إلى البنية/البنى التحتية التجارية للسحابة (خيارات متعددة)، ويوجد فيه بيئة كاملة تفاعلية لPython3 في هيكلية notebook (تشبه Jupyter إلى حد كبير)
- هناك فرقان أساسيان بين القيام بالتحليلات محلياً مقابل القيام بها على السحابة
- على المستوى المحلي، عليكم أن تدفعوا مقابل التخزين (إن كان على جهاز الكمبيوتر الخاص بكم أو على منصة المؤسسة) بينما التخزين على السحابة مدفوع (على سبيل المثال بواسطة AMP PD أو بواسطة GP2)
- على الصعيد المحلي، لا تحتاجون إلى الدفع مقابل تشغيل مسار التحليل (ليس على جهازكم الخاص على الأقل، لكن يتوجب الدفع للحزمة حسب المؤسسة) بينما يدفع المستخدمون على السحابة مقابل كل تحليل يقومون بتشغيله (إن كان من خلال الباحث الرئيسي أو المؤسسة)
- لقد كتبت فرق تحليل AMP PD وGP2 عددًا من خطوط أنابيب التحليل المختلفة (رابط) والتي يمكن تعديلها
- لأنكم تدفعون مقابل البيئة التي تقومون بإنشائها وكمية البيانات التي تقومون بالوصول إليها، يصبح أهم ما عليكم القيام به هو تصميم وتخطيط عملية التحليل على أفضل وجه ممكن
- يمكن العثور هنا على مثال لتكاليف وقت التشغيل التي يمكن استخدامها كدليل
- لأن المبرمجين يمكن أن يقوموا بتحديث البيئة السحابية، من المهم وضع سجل ورقم إصدار للأوعية التي تلجون إليها فوراً لتتمكنوا من العودة إليها لاحقاً.
- لأنكم تدفعون مقابل البيئة التي قمتم بإنشائها والزمن الذي تستخدمونها خلاله، يمكن لكم وقف الاستخدام أو شطب المواد كلها حين لا تستخدموها كي تدفعوا مقابل الاستخدام فقط
- لأنكم تدفعون مقابل البيئة التي تقومون بإنشائها وكمية البيانات التي تقومون بالوصول إليها، يصبح أهم ما عليكم القيام به هو تصميم وتخطيط عملية التحليل على أفضل وجه ممكن
ملاحظة أخيرة لأصدقائنا الذين يقومون بالعمل بأيديهم
الشفافية، والانفتاح، والقدرة على تكرار التجربة لا تنطبق فقط على العمل الحاسوبي نوصي بشدة باستخدام أدوات مثل protocols.io أو استخدام Rocket Notebook لتوحيد معايير مهام المختبر والتجارب. ترغب كل من مجموعة عمل تحليل بيانات الأمراض المعقدة ومجموعة عمل نشر البيانات والرموز التابعة لـ GP2 في فرض ممارسات مختبرية إلزامية تعكس عملنا على الجانب الحسابي من الطيف. نحن ندفع أيضاً باتجاه توحيد معايير الحصول على العينات وتسميتها عبر الانترنت وأن تكون شفافة، حتى لو لم تكن تقع مباشرة ضمن نطاق عملنا.
الشكر والتقدير
على كل المخطوطات، والنسخ ما قبل الطباعة، والملخصات/ الملصقات الناتجة عن استخدام مسارات تحليل البيانات التابعة للبرنامج العالمي GP2 أن تذكر بالشكرASAP وGP2 على النحو التالي:
“تم الحصول على الكود المستخدم في إعداد هذا الخط من برنامج Global Parkinson’s Genetics Program (GP2).” يتم تمويل GP2 من خلال مبادرة محاذاة العلوم ضد مرض باركنسون (ASAP) ويتم تنفيذه من قبل مؤسسة مايكل جيه فوكس لأبحاث مرض باركنسون ( MJFF ). لمعرفة القائمة الكاملة لأعضاء GP2 انظر هنا.
تحتفظ مؤسسة مايكل ج. فوكس، وASAP واللجنة التوجيهية للبرنامج العالمي GP2 بحق تعديل شروط هذه الاتفاقية، ويمكن أن يقوموا بذلك من خلال نشر إعلان بهذه التعديلات على هذه الصفحة. تصبح هذه التعديلات نافذة فور نشرها (إلا في حال ورد ما هو غير ذلك). عليكم زيارة هذه الصفحة بشكل دوري لمراجعة شروط الاستخدام.
“مدونة قواعد السلوك للمبرمجين”
يرجى عكس هذا الإطار المفاهيمي للتعاون في مشاريع الترميز في GP2.