مدخل الي تحليل البيانات بلغة الار

مدخل الي تحليل البيانات بلغة الار

| مقدمه

اليوم سنتحدث عن لغه هي من اهم لغات البرمجه المستخدمه في مجال المعلوماتيه الحيويه وهي لغة ال R

R هي لغه احصائيه يتم استخدامها في مجال المعلوماتيه الحيويه لتحليل البيانات البيولوجيه , كما نعرف ان البيانات التي تخرج من معظم التقنيات الحديثه في علم الاحياء الجزيئي تكون كبيرة الحجم ويصعب تحليلها بواسطة العين المجرده او الطرق المعمليه التقليديه لذلك يلجأ العلماء الي تحليل البيانات بواسطة لغات برمجيه وعادة تكون لغه من ثلاث لغات وهم (R , python , perl ) وتستخدم احداهم تبعا لنوع التجربه واحيانا لتفضيل الباحث احدهم عن الاخرين , ولكن هنا نحن نتحدث عن لغات برمجه لتحليل البيانات في مجال المعلوماتيه الحيويه ليس تطوير خوارزميات , سنتحدث في هذا المقال عن لغة الار فقط وفي المقالات التاليه سنتطرق الي (python , perl)

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

| تحميل R

يتم تحميل الار من الموقع الرسمي لها وبعد التحميل سيظهر لك هذه البيئه (بيئة البرمجة هو برنامج يعطيك واجهة تسمح لك بالستعمال اللغة بطريقة ملائمة , أفضل من الكتابة في محرر نصوص ثم التشغيل اليدوي)


ليست هذه هي الواجهه الافضل لاستخدام R لذلك سنقوم بتبيت واجهه برمجيه تعطينيا استخدام افضل لبرمجة R , وهذه الواجه تسمي (R studio) , هذه الواجهه ليست اصدار اخر من R , لكنها مجرد واجهه يجب لتشغيلها تبيت R علي جهاز الكمبيوتر خاصتك اولا , ويمكننا تثبيت (R studio) من هنا

صوره توضح الشكل العام ل (RStudio)

| حسابات بسيطه

(-) للطرح
(\) للقسمه
(*) للضرب
(^) للقسمه

| المتغير

يدعى المفهوم الأساسي في البرمجة الإحصائية كائن يسمي المتغير(Variable) , يسمح لك المتغير بتخزين قيمة (مثل 4) أو كائن في R , ويمكنك بعد ذلك استخدام اسم هذا المتغير للوصول إلى القيمة أو الكائن المخزن ضمن هذا المتغير بسهولة
افترض أن لديك كائن به خمسة جينات كمحلل بيانات بيولوجيه تريد تخزين عدد من جينات في متغير مع اسم my_Genes تقوم بفعل هذا الامر


< my_Genes <- 5
< my_Genes
<  5


نفترض انك وانت تعمل بالمعمل الخاص بك دخلك اليك زميلك في المعمل ليخبرك انه لديه مجموعه من 6 جينات من كائن اخر يريدك ان تحلل لهم بياناتهم مع الكائن الخاص بك وتريد ان تجمعهم في كائن واحد بداخل R , ستفعل ذلك من خلال اضافة الكائن الخاص بك ثم الكائن الخاص به هكذا


< My_Genes <- 5
< Her_Genes <- 6
< All_Genes <- My_Genes + Her_Genes
< All_Genes 
< 11 

| انواع البيانات الاساسيه في R

R يعمل مع العديد من أنواع البيانات , بعض الأنواع الأساسية للبدء هي :
1. القيم العشرية مثل 4.5
2.الأرقام الطبيعية مثل 4 (أعداد صحيحة)
3.تسمى القيم المنطقية (TRUE أو FALSE)
4.تدعى قيم النصيه (Text)

| vector

المتجهات هي صفائف ذات بُعد واحد يمكن أن تحتوي على بيانات رقمية أو بيانات شخصية أو بيانات منطقية. وبعبارة أخرى ، يمثل المتجه أداة بسيطة لتخزين البيانات. على سبيل المثال ، يمكنك تخزين الجينات التي تتسبب في موت الخليه

في R ، يمكنك إنشاء متجه مع وظيفة الجمع بين c () تضع عناصر متجهة مفصولة بفاصلة بين الأقواس فمثلا :


Gene_vector <- c("gene1", "gene2", "gene3") 


بمجرد إنشاء هذه المتجهات في R ، يمكنك استخدامها لإجراء العمليات الحسابية

| matrix

في R ، المصفوفة هي عبارة عن مجموعة من العناصر من نفس نوع البيانات (رقمي ، حرف ، أو منطقي) مرتبة في عدد محدد من الصفوف والأعمدة , نظرًا لأنك تعمل فقط مع الصفوف والأعمدة ، فإن المصفوفة تسمى ثنائية الأبعاد
لنفترض انك لديك تعبيرات جينيه لثلاثة جينات من ثلاث خلايا خلايا مختلفه وتريد ان تجمعهم في مصفوفه لتقوم بعمل بعض الاحصائيات , مثلا


<Gene1 <- c(150, 160, 170)
<Gene2 <- c(140, 180, 120)
<Gene3 <- c(190, 110, 200)
<The_genes <- c(Gene1, Gene2, Gene3)
<regon<- c("cell1", "cell2", "cell3")
<All_genes <- matrix(The_genes, nrow = 3, byrow = TRUE,dimnames = list(c("Gene1", "Gene2", "Gene3"), c("cell1", "cell3", "cell3")))
<All_genes


cell1  cell3  cell3       
Gene1   150   160   170
Gene2   140   180   120
Gene3   190   110   200
| factor

ما هو العامل ولماذا تستخدمه ؟
يشير مصطلح factor إلى نوع بيانات إحصائي يستخدم لتخزين المتغيرات الفئوية. الفرق بين متغير فئوي ومتغير مستمر هو أن المتغير الفئوي يمكن أن ينتمي إلى عدد محدود من الفئات , من ناحية أخرى ، يمكن أن يتوافق المتغير المستمر مع عدد لا نهائي من القيم , و من المهم أن تعرف R ما إذا كانت تتعامل مع متغيرمستمر أو فئوي ، لأن النماذج الإحصائية التي ستطورها في المستقبل ستعالج كلا النوعين بشكل مختلف. (سترى لاحقا لماذا هذا هو الحال)
مثال جيد للمتغير الفئوي هو الجنس , في العديد من الحالات يمكنك تحديد فئات الجنس إلى “ذكر” أو “أنثى”. (قد تحتاج في بعض الأحيان إلى فئات مختلفة ,على سبيل المثال ، قد تحتاج إلى التفكير في الاختلاف الكروموسومي أو المعايير الثقافية المختلفة ، ولكن سيكون لديك دائمًا عدد محدود من الفئات)

لإنشاء عوامل في R ، يمكنك استخدام الدالة ()factor , أول شيء عليك القيام به هو إنشاء (vector) يحتوي على كافة الملاحظات التي تنتمي إلى عدد محدود من الفئات. على سبيل المثال ، يحتوي (sex_vector) على جنس 5 أشخاص مختلفين


sex_vector <- c("Male","Female","Female","Male","Male)"
factor_sex_vector <- factor(sex_vector)
	Male    Female     Female   Male   Male


| مزيد من التفاصيل عن المتغيرات الفئويه

هناك نوعان من المتغيرات الفئوية : متغير فئوي اسمي ومتغير فئوي ترتيبي.

  • 1.المتغير الاسمي هو متغير فئوي بدون ترتيب ضمني.

هذا يعني أنه من المستحيل أن نقول أن ” ان احد المتغيرات افضل من الاخر “. على سبيل المثال ، فكر في المتغير للفئات ” DNA” و ” RNA” و ” protien” هنا من المستحيل أن نقول أن أحدهما افضل او اسوأ من الاخر لان لايوجد وجه مقارنه من الاساس

  • 2.متغير فئوي ترتيبي : وهو يتعامل مع الفئات التي يمكن ان يكون فيها نوع من انواع التفضيل او عدم التفضيل مثل “Low” , “Medium” , “High”

الان لديك مجموعه من المرضي وقام المعمل الخاص بك بالعمل بتقنية microarray لمعرفة الجينات التي تعبر في ال الاناث ولا تعبر في الذكور وتريد ان تعرف كم عدد الذكور والاناث المشاركين في التجربه , تمنحك الدالة () summary الإجابة على هذا السؤال


survey_vector <- c("M", "F", "F", "M", "M", "M", "M", "F", "M", "F")
factor_survey_vector <- factor(survey_vector)
summary(factor_survey_vector)
	M = 6       F = 4

هنا نحن نتعامل مع بيانات صغيره لذلك تجد الامر يبدو سهلا ولكن في معظم الدراسات لايمكن ان تكون البيانات بهذا الشكل , ولكن هذه الامثله لتبسيط المعني علي من هم لا يبتداون في تعلم البرمجه حيث تصل بيانات التعبير الجيني في تقنية ميكرواراي في بعض الاحيان الي الاف التعبيرات الجينيه وعشرات العينات بالتجربه

| data frame

هنا سنقوم بالتحدث بالقليل من التفاصيل وبدون مقدمات كثيره دعنا نضرب مثالا علي مجموعه من البروتينات التي لدينا بعض المعلومات عنها مثل :

الاسم
– الوظيفه الجزيئيه
– الكائن الذي يوجد فيه
– الجين الذي عبر عنه
– عدد الاحماض الامينيه
لدينا هذه البيانات التي نضعها في بيئة البرمجه هكذا :


Name <- c ("catalase", "Insulin", "Hemoglobi", "Myosin")
Molecular_function <- c ("Peroxidase", "Transferase", "Oxygen transport", "Actin binding")
Organismi <- c ("Aspergillus", "Human", "Homo sapiens", "Mouse")
Gene <- c ("catB", "IGF1R", "HBA1", "Myh10")
amino_acids <- c ("728", "1,367", "142", "1,976")
protien_df <- data.frame(Name, Molecular_function, Organismi, Gene, amino_acids)
protien_df


Name        Molecular_function         Organismi           Gene     amino_acids
catalase            Peroxidase                Aspergillus           catB                  728
Insulin              Transferase               Human                IGF1R             1,367
Hemoglobi        Oxygen transport        Homo sapiens       HBA1                 142 
Myosin             Actin binding               Mouse                  Myh10            1,976


الي هنا نكون انتهينا من بعض التفاصيل البسيطه في تحليل البيانات قد تكون بدايه لبعض المبتدئين , ساحاول ان اتعمق في المرات القادمه عن بعض المفاهيم الدقيقه في لغة ال R , اتمني ان يكون المقال نال احسانكم , والي لقاء اخر

Share this post

Comment (1)

  • Mo-Ezzat Reply

    رائع بالتوفيق أستمر

    يوليو 11, 2019 at 4:03 م

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.


Justin Pugh Authentic Jersey