Programming-for-Bioscience

২.১ R এবং RStudio ইনস্টল করা (Installing R and RStudio)

R নিজেই একটি প্রোগ্রামিং ভাষা যা পরিসংখ্যান এবং ডেটা বিশ্লেষণের জন্য তৈরি করা হয়েছে। আর RStudio হল R-এর জন্য তৈরি করা একটি ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (IDE), যেখানে কোড লেখা এবং ডিবাগিং বা কোডের ভুল সংশোধনের জন্য এটি ব্যবহার করা হয়।

R ইনস্টল করার ধাপ:

  1. R-এর অফিসিয়াল ওয়েবসাইটে যান
  2. অপারেটিং সিস্টেম অনুযায়ী ডাউনলোড: আপনার অপারেটিং সিস্টেম অনুযায়ী (Windows, Mac, বা Linux) R-এর উপযুক্ত ভার্সনটি ডাউনলোড করুন।
  3. ইনস্টলেশন উইজার্ড অনুসরণ: R ইনস্টল করার জন্য ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন এবং ডিফল্ট সেটিংস ব্যবহার করে ইনস্টলেশন প্রক্রিয়া সম্পন্ন করুন।

RStudio ইনস্টল করার ধাপ:

  1. RStudio-এর অফিসিয়াল ওয়েবসাইটে যান
  2. RStudio ডাউনলোড: “Download RStudio” বাটনে ক্লিক করুন এবং আপনার অপারেটিং সিস্টেম অনুযায়ী সঠিক ইনস্টলেশন ফাইলটি ডাউনলোড করুন।
  3. RStudio ইনস্টল করা: ডাউনলোড করা ফাইলটি রান করুন এবং ইনস্টলেশন সম্পন্ন করুন।

এখন আপনি R এবং RStudio উভয়ই ইনস্টল করেছেন এবং RStudio-তে কাজ শুরু করতে পারবেন।

যদি কিছু বুঝতে সমস্যা হয়, তাহলে YouTube-এ R এবং RStudio ইনস্টল করার ধাপ নিয়ে ভিডিও খুঁজে দেখতে পারেন। এখানে একটি বিষয় মনে রাখুন, প্রথমে আপনাকে R ইনস্টল করতে হবে, তারপর RStudio ইনস্টল করতে হবে।

আরও একটি গুরুত্বপূর্ণ বিষয়: আমি MacOS ব্যবহার করছি, তাই কিছু জিনিস ভিন্ন লাগতে পারে। আমি চেষ্টা করব যাতে Windows ব্যবহারকারীরাও সঠিকভাবে R এবং RStudio ব্যবহার করতে পারেন। এছাড়াও, প্রতিটি চ্যাপ্টারে একটি মন্তব্যের স্থান রাখা হয়েছে, যেখানে আপনি আপনার সমস্যাগুলি শেয়ার করতে পারবেন এবং আমি সেগুলো সমাধানের চেষ্টা করব।


২.২ RStudio দেখতে কেমন? (What does RStudio Look Like?)

যদি আপনি R এবং RStudio সঠিকভাবে ইনস্টল করে থাকেন, তাহলে RStudio খুলুন। আপনি ৩টি পৃথক অংশ দেখতে পাবেন:

  1. Console (বামদিকের অংশ): এখানে মূলত কোড লেখা হয় এবং রান করা হয়।
  2. Environment (ডানদিকের উপরের অংশ): এখানে আপনি আপনার তৈরি করা ভেরিয়েবল, ডেটা ফ্রেম, এবং অন্যান্য অবজেক্ট সংরক্ষণ করে রাখতে পারবেন। এটি এক ধরনের “গুদামঘর” হিসেবে কাজ করে, যেখানে আপনার দরকারি ডেটাগুলো সংরক্ষিত থাকে।
  3. Output (ডানদিকের নিচের অংশ): এখানে আপনি আপনার কোড রান করার পর ফলাফল, গ্রাফ বা প্লট দেখতে পাবেন। এছাড়াও আপনি বিভিন্ন ফোল্ডার এবং ফাইল ব্রাউজ করতে পারবেন, যা RStudio এবং আপনার কম্পিউটারের মধ্যে সংযোগ স্থাপন করে।

Source Pane: RStudio-এর আরেকটি অংশ হলো Source Pane, যা আপনি বড় কোড লেখার সময় ব্যবহার করবেন। এটি কোড সংরক্ষণ ও সম্পাদনার জন্য ব্যবহৃত হয়। পরবর্তীতে আমরা এটি নিয়ে আরও বিস্তারিত আলোচনা করব।

নিচে RStudio-এর একটি চিত্র যুক্ত করেছি, যেখানে চারটি প্রধান অংশ দেখানো হয়েছে:

RStudio Layout

Console, Environment, এবং Output এর মাধ্যমে আপনি RStudio-এর কাজের পরিবেশ সম্পর্কে একটি ভালো ধারণা পাবেন। কাজ করতে করতে আপনার অনেক বিষয় স্বাভাবিকভাবে পরিষ্কার হয়ে যাবে।

২.২ R-এর বেসিক সিনট্যাক্স (Basic Syntax of R)

বেসিক সিনট্যাক্স শেখা R প্রোগ্রামিং ভাষায় খুবই গুরুত্বপূর্ণ, কারণ এটি R শেখার প্রথম ধাপ। সকল প্রোগ্রামিং এর বই এর মত আমিও শুরু করব কিছু সাধারণ উদাহরণ দিয়ে, যেমন কিভাবে R-এ প্রিন্ট করা যায়, কিভাবে ভেরিয়েবল তৈরি করা যায়, এবং কিভাবে গাণিতিক যোগ, বিয়োগ, গুন, ভাগ করা যায়।

প্রোগ্রামিং শেখার ক্ষেত্রে প্রথম ধাপ হলো কোড লিখে আউটপুট দেখা। R-এ কোড লেখা ও চালানোর প্রক্রিয়াটি বেশ সহজ। প্রথমত আপনি দুটি জায়গায় কোড লিখে চালাতে পারবেন। প্রথমটি, console এ। অপরটি source pane এ। console এ কোড লিখে আপনি যদি “Enter” চাপ দিন তাহলে কোড সরাসরি run করবে। source pane এ কোড লিখলে সেক্ষেত্রে কোড লেখার পর MACOS এর জন্য “command + Enter” আর Windows এর জন্য “Control + Enter” চাপতে হবে। নিচে আমরা বিভিন্ন উদাহরণ ব্যবহার করে R-এর বেসিক ধারণাগুলো তুলে ধরব।

১. প্রিন্ট করা (Printing in R)

R-এ কোড লেখার সবচেয়ে সহজ এবং সাধারণ উপায় হলো print() ফাংশন ব্যবহার করা। এটি যেকোনো টেক্সট বা ভেরিয়েবলের মান আউটপুট হিসেবে প্রিন্ট করে। প্রথম কোডটি দিয়ে আমরা দেখব কিভাবে R-এ কিছু প্রিন্ট করা যায়।

উদাহরণ : “Hello World” প্রিন্ট করা

# Print a simple text
print("Hello World")

output

Hello World

ব্যাখ্যা এটি R সহ যেকোনো প্রোগ্রামিংয়ের একটি ক্লাসিক উদাহরণ যা আপনারা যেকোনো প্রোগ্রামিং এর বই শুরু করতে দেখতে পাবেন। আমরা print() ফাংশনের মাধ্যমে “Hello World” লেখাটি প্রিন্ট করেছি।

২. ভেরিয়েবল ডিক্লেয়ার করা (Declaring Variables)

R এর মধ্যে ভেরিয়াবল এর সাহায্যে আমরা কোন ডেটা অথবা মান সংরক্ষণ করতে পারি। এটা একটু আগে বলা গুদামঘর এর মত। আমাদের কিছু সংরক্ষণ করে রাখতে হলে আমরা যেরকম গুদামঘর এ রাখি সেভাবে R এর মধ্যেও একই কাজ করা যায়। ধরুন আপনার কাছে ১০ টি আপেল আছে। আমরা গণিত এ যেভাবে লিখি, আপেল = ১০ , অনেকটা ঠিক একইভাবে আমরা R এর মধ্যে লিখতে পারি। এক্ষেত্রে যেমন “=” বা “সমান” ব্যাবহার করা হয়েছে। এই জিনিশটিকে বলা হয় অপারেটর। R এ আমরা এরকম অনেক অপারেটর দেখব সামনে। এখন এই আপেল এর উদাহরণ এ যদি R এ লিখতে যাই তখন আমাদের ব্যাবহার করতে হবে “<-” অপারেটর। ইংরেজিতে বললে হবে less than hyphen। এক্ষেত্রে হবে আপেল <- ১০।

উদাহরণ : একটি সংখ্যা ভেরিয়েবলে সংরক্ষণ করা

# Store a number in a variable
apple <- 10
print(apple)

Output:

[1] 10

ব্যাখ্যা এখানে আমরা apple নামের একটি ভেরিয়েবল তৈরি করেছি এবং এতে ১০ মানটি সংরক্ষণ করেছি। এরপর আমরা print() ফাংশনের মাধ্যমে সেই মানটি আউটপুটে দেখিয়েছি। উপরে আপনারা দেখতে পেলেন কিভাবে একটি মানকে একটি ভেরিয়েবল এ সংরক্ষণ করা যাই। কিন্তু আমরা যখন কাজ করি তখন শুধু মান নিয়ে কাজ করি তা নয়। অনেক ক্ষেত্রে আমাদের টেক্সট বা “শব্দ” বা “বাক্য” ও সংরক্ষণ করতে হবে। ধরুন আমি একটি প্রোটিন এর নাম সংরক্ষণ করতে চাচ্ছি। সেক্ষেত্রে আমরা একইভাবে <- অপারেটর ব্যাবহার করে করতে পারব। কিন্তু এক্ষেত্রে একটি নতুন জিনিশ যুক্ত করতে হবে, সেটা হচ্ছে “”। সম্পূর্ণরূপে বলতে গেলে শব্দ বা বাক্যের শুরু এবং শেষ এ “” যুক্ত করতে হবে। যেমন ধরুন একটা প্রোটিন এর নাম হতে পারে DNA polymerase এর কথা বলতে পারি। DNA polymerase এর কাজ হচ্ছে ডিএনএ এর প্রতিলিপি (replicate) তৈরি করা এবং এর মাধ্যমে জেনেটিক তথ্য সংরক্ষণ করা আর একই সাথে প্রজন্ম থেকে প্রজন্ম তে তথ্য প্রবাহিত করা।

উদাহরণ: একটি প্রোটিন এর নাম ভেরিয়েবলে সংরক্ষণ করা

# Store a protein name in a variable
name <- "DNA polymerase"
print(name)

Output:

[1] "DNA polymerase"

ব্যাখ্যা এই উদাহরণে আমরা একটি টেক্সট (স্ট্রিং) ভেরিয়েবল তৈরি করেছি। name নামের ভেরিয়েবলটিতে “DNA polymerase” টেক্সটটি সংরক্ষণ করেছি। আমরা সেটিকে print() ফাংশনের মাধ্যমে আউটপুট হিসেবে দেখিয়েছি।

৩. গাণিতিক অপারেশন (Mathematical Operations)

R ব্যাবহার করে আমরা যোগ, বিয়োগ, গুন, ভাগ এর মত কাজ করতে পারি। জীববিজ্ঞানে এই কাজ গুলা ডেটা বিশ্লেষণ এর ক্ষেত্রে অত্যন্ত জরুরি। আমি একটি সহজ উদাহরণ দেই, ধরুন আপনার কাছে একটি petri dish আছে। আরেকটু সহজভাবে বলতে গেলে, আপনার কাছে একটি বাটি আছে আর সেই বাটিতে আপনি কিছু উপাদান দিয়ে B cell আর T cell এর সংখ্যা বাড়ানোর চেষ্টা করছেন। ধরুন ২ ঘণ্টা পর আপনি হিসাব করে দেখলেন যে সর্বমোট ১০০০ টি B cell আর ৭০০ টি T cell আছে। এখন আমরা দেখতে চাই ওই বাটিতে সর্বমোট কতগুলো cell আছে।

উদাহরণ : B cell এবং T cell এর মোট সংখ্যা বের করা

# Add B cell and T cell counts from a petri dish
b_cells <- 1000  # Number of B cells
t_cells <- 700  # Number of T cells
total <- b_cells + t_cells
print(total)

Output:

[1] 1700

ব্যাখ্যা এই উদাহরণে, আমরা বাটিতে থাকা B cell এবং T cell এর সংখ্যা যোগ করেছি। বাটিতে ১০০০টি B cell এবং ৭০০টি T cell ছিল। আমরা দুটি মান যোগ করে সেটিকে এইটি নতুন ভেরিয়েবল total এ সংরক্ষণ করা হয়েছে। এটি print() ফাংশনের মাধ্যমে আউটপুটে দেখিয়েছি। আর আমরা দেখতে পেয়েছি যে সর্বমোট ১৭০০ টি সেল আছে।

একইভাবে আমরা বিয়োগ “(-)”, গুন “(*)”, ভাগ “(/)” এর মত অপারেশন ও ব্যাবহার করতে পারি। পুরো বিষয়টি নির্ভর করে আপনার কাজের দরকার এর উপর। ধরুন আপনার যোগ করার জায়গায় গুন করতে হবে। সবকিছু সেক্ষেত্রে একই থাকবে কিন্তু যোগ এর জায়গায় গুন চিহ্ন বসবে। একইসাথে আপনি দেখতে পাবেন যে আপনার output পরিবর্তন হয়ে গেছে।

উদাহরণ : B cell এবং T cell এর সংখ্যা গুন করা

# Multiply B cell and T cell counts from a petri dish
b_cells <- 1000  # Number of B cells
t_cells <- 700  # Number of T cells
total <- b_cells * t_cells
print(total)

Output:

[1] 700000

ব্যাখ্যা পূর্বের মত এই উদাহরণে, আমরা বাটিতে থাকা B cell এবং T cell এর সংখ্যা যোগ না করে গুন করেছি। বাটিতে ১০০০টি B cell এবং ৭০০টি T cell ছিল। আমরা দুটি মান গুন করে সেটিকে এইটি নতুন ভেরিয়েবল total এ সংরক্ষণ করা হয়েছে। এটি print() ফাংশনের মাধ্যমে আউটপুটে দেখিয়েছি। আর আমরা দেখতে পেয়েছি যে গুণফল ৭০০০০০।

৪. কমেন্ট যুক্ত করা (Adding Comments)

যেকোনো প্রোগ্রামিং এ একটি খুবই গুরুত্বপূর্ণ কাজ হচ্ছে comment করা। এটা বলতে আসলে বুঝায় আপনি যখন কোন কোড লিখবেন তার আগে পরে অথবা পাশে # সাইন ব্যাবহার করে কিছু লিখা। এই লিখাগুলো মূলত হবে আপনার কোডটি কি কাজ করতেসে। আমি যখন প্রোগ্রামিং শুরু করি আমি ভাল comment করার ব্যাপারটি শুরুতে বুঝতে পারি নাই। এখন আমি যখন আমরা ৪/৫ বছর আগের কোড দেখতে যাই তখন কিছু বুঝতে পারি না। কারণ হচ্ছে আমি কেন কোডটি লিখেছিলাম, কেন ওই উপায় এ সমস্যা সমাধান করতে চেয়েছিলাম, এসব বিষয় এতদিন পর এসে মনে রাখা একরকম অসম্ভব। এজন্য খুবই গুরুত্বপূর্ণ কাজ হচ্ছে যখন এ কোড লিখবেন, আগের পরে পাশে সবজায়গায় comment যুক্ত করে রাখবেন। আপনারা এখন লক্ষ্য করলে দেখবেন আমি আগের সবগুলা উদাহরণ এ comment ব্যাবহার করেছি। বিষয়টি দেখবেন য আপনার ও বুঝতে অনেক সুবিধা হবে।

উদাহরণ: কোডে কমেন্ট ব্যবহার করা

# This code will add two numbers
x <- 8
y <- 12
# Adding the numbers
sum <- x + y
print(sum)  # Output will be 20

Output:

[1] 20

ব্যাখ্যা এই উদাহরণে আমরা # দিয়ে কিছু কমেন্ট যোগ করেছি, যা কোডের উদ্দেশ্য ব্যাখ্যা করছে। এখানে আমরা দুইটি ভেরিয়েবল x এবং y এ ৮ এবং ১২ সংরক্ষণ করেছি এবং পরবর্তীতে এই দুটি ভেরিয়েবল কে যোগ করে যোগফল আরেকটি ভেরিয়েবল এ সংরক্ষণ করেছি। এবং print() ফাংশন এর মাধ্যমে output দেখিয়েছি। কমেন্ট ব্যবহার করা একটি ভালো অভ্যাস, কারণ এটি কোড বুঝতে অনেক সহজ করে দেয়।

আপডেট পাওয়ার জন্য নিবন্ধন করুন (Register for Updates)

আপনি যদি এই ব্লগের নিয়মিত আপডেট পেতে চান, তাহলে নিচের ফর্মটি পূরণ করুন। আমি নতুন কোনো কন্টেন্ট যোগ করার সাথে সাথেই আপনাকে ইমেইলের মাধ্যমে জানিয়ে দেব।

ফর্ম পূরণ করতে এখানে ক্লিক করুন