black claw hammer on brown wooden plank

পাইথনে প্রথম ফাংশন

পাইথনে ফাংশন হলো কোডের একাংশ, যেটা আপনি বার বার ব্যবহার করতে চান। চলুন একটা ছোট ফাংশন লেখি।

ডিএনএ হচ্ছে জীবদেহের এনসাইক্লোপিডিয়া, যেখানে যাবতীয় নির্দেশ দেয়া থাকে। এই নির্দেশ দেয়া হয় একটা কোডের মাধ্যমে, বায়োলজিতে বলে জেনেটিক কোড। জেনেটিক কোড কোষের মধ্যে লেখা হয় চারধরনের বেসের মাধ্যমে, A, T, G, C।

একটা প্রোগ্রাম তৈরি করতে হবে যা বিভিন্ন আকারের জেনেটিক কোড তৈরি করবে। নিজে নিজে, অর্থাং ড়্যান্ডমলি।

প্রোগ্রামটি ATGC এই চারটি একককে ইচ্ছামতো সাজাবে। তাই একটা টাপল তৈরি করতে হবে। (টাপল হলো একটা তালিকা, যেটাকে পরিবর্তন করা যায় না।) নাম দিলাম base

base = (‘A’,’T’,’G’,’C’)

নতুন জেনেটিক কোড হবে একটা স্ট্রিং। তাই প্রথমে একটি খালি স্ট্রিং ঘোষণা করতে হবে।

code = ”

জেনেটিক কোড কতটুকু লম্বা হবে? মানে কয়টি বেস সেখানে থাকবে? এটা হবে ইন্টিগার, length

আর, পুরো প্রোগ্রামটা হবে একটা ছোট ফাংশন। সুতরাং ফাংশন ডিফাইন করতে হবে।
ফাংশনের নাম দিলাম new_code

সুতরাং,

def new_code(length=4):    
    base = ('A','T','G','C')    
    code = ''    
    #এখানে এমন একটি কোড বসাতে হবে    
    #যেটা কিনা ড়্যান্ডমলি base থেকে বেস নিয়ে নতুন    
    #জেনেটিক কোড তৈরি করতে পারবে



যেহেতু ড়্যান্ডমলি হবে, সুতরাং ড়্যান্ডম মডিউল এই প্রোগ্রামে আমদানী করা লাগবে। এবং এই ড়্যান্ডম মডিউলের ফাংশন ব্যবহার করে আমরা জেনেটিক কোড তৈরি করবো।

তাই

import random

def new_code(length=4):    
    base = ('A','T','G','C')    
    code = ''        
    for i in length:        
        code = code + random.choice(base)    
        return code




এখানে নতুন কি হলো? বেস থেকে random.choice(base) ফাংশন ড়্যান্ডমলি বেস নিয়ে স্ট্রিং code এর সাথে যুক্ত করা হলো।

হয়ে গেলো আপনার প্রথম ফাংশন!


জরুরী! মন্তব্য করুন!

এই পোস্টে মন্তব্য করতে বলছিনা।


ইন্টারপ্রেটার শেল ভালো জিনিস।

মূলত ছোটখাটো কমান্ড, কোড ব্লক টেস্ট করার জন্য বেশ পছন্দ হয় আমার। কিন্ত তাই বলে আমরা এখানে কোড লেখার জন্য ব্যবহার করবো না। তাহলে বারবার ইন্ডেন্ট করতে করতে বারোটা বেজে যাবে। মাঝারী বা বড়ো প্রোগ্রাম লেখার জন্য নোটপ্যাড ধরনের এডিটর ব্যবহার করা হয়্। লিনাক্সে অনায়াসেই জিএডিট ব্যবহার করা যায়, কিংবা ম্যাকে টেক্সটএডিট।

আইডল প্রথমে খুললে শেল উইন্ডো দেখা যায়। এটা আমার জন্য বিরক্তিকর। কেননা শেলে কাজ করার জন্যআমি টার্মিনাল বেশি পছন্দ করি। কালো স্ক্রিনে সাদা লেখালেখির মধ্য একধরণের ভাব আছে! তাই আইডলে option > configure idle … থেকে General ট্যাবে গিয়ে At startup  থেকে Edit Window সিলেক্ট করে নিয়েছি। তাই আইডল খুললে স্ক্রিপ্ট লেখার উইন্ডো আসে। এটা আপনার করে নিতে পারেন।

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

পাইথনে মন্তব্য করার জন্য নিচের সিম্বলটি ব্যবহার করা হয়।

# Your comment

যেমন কোন একটি প্রোগ্রামের শুরুতে নিচের মন্তব্যগুলো থাকতেই পারে

# Name : Project Math
# This project will do some math
# Version 1.0
# Date 12/12/10

আর স্ক্রিপ্টিং করার সময় অবশ্যই অবশ্যই এই লাইনটি একেবারে প্রথমে যুক্ত করবেন:

#!/usr/bin/python

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

এই লাইনটি যুক্ত করার পর কোডটি দেখতে হবে এরকম:

#!/usr/bin/python
# Name : Project Math
# This project will do some math
# Version 1.0
# Date 12/12/10

#!/usr/bin/python এই লাইনটির একটি তাৎপর্য আছে। আপাতত বলে রাখি, যখন আমরা স্ক্রীপ্টটিকে অটো রান প্রোগ্রামে রূপান্তরিত করবো, তখন এই লাইনটি কাজে লাগবে। এটাকে বলে শিব্যাঙ। অনেক সময় একটা স্ক্রিপ্ট রান করা হলে, এই লাইনটা বলে দেবে যে প্রাগ্রাম চালানোর জন্য কি ব্যবহার করতে হবে।

কিছু হোমওয়ার্ক করেন।

এমন একটা প্রোগ্রাম তৈরি করুন, যেটা তাপমাত্রা ডিগ্রী থেকে কেলভিনে রূপান্তরিত করবে। 
ক্লু হলো, শূণ্য ডিগ্রী সেলসিয়াস = ২৭৩ কেলভিন। 
শুন্য ডিগ্রি কেলভিন = – ২৭৩ ডিগ্রি সেলসিয়াস। 

এই প্রোগ্রামটা তৈরি করবেন স্ক্রিপ্ট লিখে। প্রোগ্রামটা চালালে আউটপুট হবে এই রকম:
Please insert temperature in Celsius 

আউটপুট: In Kelvin scale, temperature is: XºK

“বায়োইনফরমেটিক্স প্রজেক্টে কিভাবে ভাবতে হয়” এটা নিয়ে আমি একটা ছোট ই-বুক তৈরি করেছি। ই-বুকটি পেতে চাইলে নিচের ফর্মে আপনার নাম ও ইমেইল ঠিকানা দিন।

ধন্যবাদ!

The Bioinformatics Newsletter

I often explore new tools and techniques for various bioinformatics analyses. Often these adventures yield no results. But sometimes they are fruitful, and I incorporate them into my project workflows.

My proposal to you is that I will write sporadic newsletters. The main content of this newsletter will be my experiments: what tool I explored, what worked, how it worked, and why I am using it, etc.

Do you think you would like to read these monologues? If this is something that resonates with you, please subscribe. 🙂

Join 95 other subscribers

Comments

Leave a Reply