Sunday, November 1, 2009

Focus on Bioinfo Researches


Bioinformatics Researches in Science and Nature

ภัสสร วรรณพินิจ

สวัสดีค่ะพี่ๆ และเพื่อนๆ ทุกคน พบกันอีกครั้งนะคะใน “Focus on Bioinfo Researches” คราวนี้ดิฉันขอหยิบเรื่องราวน่าสนใจจากวารสาร Nature และ Science มาเล่าให้ฟังค่ะ

เริ่มจากวารสาร Nature กันก่อนนะคะ เนื่องจากวารสาร Nature เป็นวารสารรายสัปดาห์ ดิฉันจึงขอนำเสนองานวิจัยที่น่าสนใจที่ในวารสารนี้ตลอดช่วงเดือนตุลาคมที่ผ่านมาค่ะ เริ่มกันที่สิ่งมีชีวิตขนาดเล็กๆ อย่างกันก่อนนะคะ มีการศึกษาข้อมูลลำดับเบสของประชากร Escherichia coli ในห้องวิจัย ในการทำความเข้าใจอิทธิพลของวิวัฒนาการของ genome ต่อการปรับตัวของสิ่งมีชีวิตค่ะ ผลการวิจัยของงานชิ้นนี้บ่งชี้ว่า การแทนที่เบสที่เอื้ออำนวยต่อการปรับตัวของสิ่งมี่ชีวิตนั้น เกิดขึ้นอย่างคงที่ค่ะ รายละเอียดของงานวิจัยชิ้นนี้สามารถหาอ่านได้จากหัวข้อ “Genome evolution and adaptation in a long-term experiment with Escherichia coli

สำหรับผู้ที่สนใจ plant genome นะคะ มีการศึกษาลำดับเบสใน genome ข้าวในการประเมิน insertion rate ของ DNA transposon ที่ชื่อ mPing รวมถึงอิทธิพลของการสอดแทรกของ mPing ต่อการแสดงออกของยีน คณะวิจัยพบว่า อัตราการเพิ่มของ mPing อยู่ที่ประมาณ 40 copies/plant/generation ซึ่งนับว่าค่อนข้างสูงทีเดียว ซึ่ง mPing นี้ส่วนใหญ่แทรกอยู่ในบริเวณ 5’ flanking region ของยีนค่ะ รายละเอียดของงานวิจัยชิ้นนี้สามารถหาอ่านได้จากหัวข้อ Unexpected consequence of a sudden and massive transposon amplification on rice gene expression

สำหรับผู้ที่สนใจ human genome นะคะ เดือนนี้มางานวิจัยที่เกี่ยวกับ human genome หลายงานเชียวค่ะ แต่ละงานก็น่าสนใจมากทีเดียว อย่างเช่น การทำแผนที่ methylated cytosines จาก human embryonic stem cell และ fetal fibroblast ซึ่งน่าจะเป็นประโยชน์ในการทำความเข้าใจอิทธิพลของปัจจัยอื่นนอกเหนือจากการเปลี่ยนแปลงในลำดับเบส หรือที่เรียกว่า epigenetic เช่น epigenetic modification ต่อการเกิดโรค การพัฒนาของโรค รวมทั้งพัฒนาการของมนุษย์ รายละเอียดของงานวิจัยชิ้นนี้สามารถหาอ่านได้ในหัวข้อ Human DNA methylomes at base resolution show widespread epigenomic differencesนอกจากแผนที่ methyomes แล้ว ยังมีการทำแผนที่ของ human copy number variation (human CNV) ด้วยค่ะ แผนที่นี้ถูกสร้างจาก genome ของคน Europe, Africa และ Eastern Asia ค่ะ นอกจากนี้ คณะวิจัยยังได้ศึกษาความสัมพันธ์ของ Human CNV กับ Human SNP รวมถึงความเป็นไปได้ที่ common human CNVs ที่พบนี้ จะช่วยในการทำความเข้าใจเกี่ยวกับการเกิดและพัฒนาการของโรคในคนด้วยค่ะ พี่ๆ และเพื่อนๆที่สนใจ สามารถหาอ่านรายละเอียดได้จาก Origin and functional impact of copy number variation in the human genome ขอเสริมอีกนิดค่ะ มีบทความสั้นๆ ที่น่าสนใจเกี่ยวกับ Human genome อีกเรื่องในหัวข้อ Genomics: Human genome in 3Dลองตามไปอ่านกันนะคะ

สำหรับวารสาร Science ก็เป็นวารสารรายสัปดาห์เช่นเดียวกันค่ะ ดิฉันขอเริ่มกันที่งานวิจัยและบทความเกี่ยวกับการศึกษาบรรพบุรุษของมนุษย์โดยศึกษาจาก genomic data ประกอบกับข้อมูลทางด้านอื่นๆ เช่น ข้อมูลทางด้านชีววิทยา ชีวเคมี และสรีระวิทยาของ African apes และมนุษย์ รายละเอียดของงานวิจัยและบทความสามารถหาอ่านได้จากหัวข้อ “The great divides: Ardipothecus ramidus reveals the postcrania of our last common ancestors with African apes และ “Understanding human origins นอกจากนี้ยังมีงานวิจัยที่น่าสนใจเกี่ยวกับการใช้ข้อมูล metabolite array ในการศึกษาการทำงานของ genome และสร้าง profile metabolic pathway ในสิ่งมีชีวิตต่างๆ ในหัวข้อ Reactome array: Forging a link between metabolite and genome

สำหรับพี่ๆ และเพื่อนๆ ที่สนใจเกี่ยวกับการจัดการข้อมูลต่างๆ น่าจะสนใจ 2 บทความนี้นะคะ เรื่องแรกเป็นเรื่องเกี่ยวกับการจัดการข้อมูล omics ต่างๆ เช่น genomics proteomics และ metabolomics ทั้งในเรื่องการจัดเก็บรักษาข้อมูลในรูปของopen source การเข้าถึงข้อมูล และรูปแบบของข้อมูล รายละเอียดสามารถหาอ่านได้จาก “Omics data sharing อีกบทความหนึ่ง เป็นเรื่องเกี่ยวกับแนวโน้มในการจัดการข้อมูล genome sequence โดยเฉพาะเรื่องที่เกี่ยวกับการตรวจสอบและแก้ไขความถูกต้องของ genome sequence ซึ่งรายละเอียดต่างๆสามารถหาอ่านได้จาก Genome project standard in a new era of sequencingค่ะ

สำหรับฉบับนี้ ดิฉันก็ขอจบไว้เท่านี้ก่อนนะคะ ถ้าพี่ๆ เพื่อนๆ และน้องๆ คนใด มีข้อเสนอแนะ หรือข้อติชมใดๆ เพิ่มเติมก็สามารถส่งตรงมาได้ที่ e-mail: passorn_wa@hotmail.com นะคะ ทั้งนี้ก็เพื่อจะได้นำไปปรับปรุงให้ดีขึ้นค่ะ ขอบคุณค่ะ

Tuesday, October 20, 2009

ฉบับที่ 2 (ตุลาคม 2009)


Opening

สวัสดีครับเพื่อนๆ พี่ๆ น้องๆ ในที่สุด Bioinformatics Network News (BNNews) ฉบับที่ 2 ก็เสร็จสมบูรณ์ลงด้วยความตั้งใจของเพื่อนๆ พี่ๆ น้องๆ ทั้งหลายครับ ก่อนอื่นผมขอใช้โอกาสที่เราได้มี news blog ฉบับที่ 2 (แต่เป็นฉบับแรกที่เป็น news blog เต็มรูปแบบ) เป็นวาระในการเฉลิมฉลองครบรอบวันเกิด 200 ปีของ ชาร์ลส์ ดาร์วิน (Charles Darwin) นักวิทยาศาสตร์เอกของโลก ผู้ที่ได้รับการยกย่องว่าเป็นบิดาแห่งวิวัฒนาการนั่นเอง ส่วนตัวผมเอง ผมชอบดาร์วินมาตั้งแต่เรียนอยู่ระดับมัธยมปลายแล้วครับ เหตุผลก็คือ ดาร์วิน ได้นำเสนอทฤษฎีวิวัฒนาการจากการสังเกตุ ซึ่งเป็นพื้นฐานและหัวใจสำคัญของการเป็นนักวิทยาศาสตร์ นอกจากนี้ ดาร์วิน ยังเป็นผู้ที่มีความกล้าที่จะคิดนอกกรอบอย่างถูกต้องและมีเหตุผล ดังนั้น คอลัมน์ Highlight ในฉบับนี้ จึงขอเสนอประวัติของนักวิทยาศาสตร์เอกของโลกอย่างคร่าวๆ

นอกจากนี้ ผมต้องขอขอบคุณพี่เต่า (ประพัฒน์ สุริยผล) ที่เปิดคอลัมน์ดีๆ แบบ "Python Programming" ให้เราได้เรียนรู้หลักการ วิธี และกลเม็ดในการเขียนโปรแกรมด้วยภาษาไพธอน (Python) ซึ่งเป็นภาษาคอมพิวเตอร์ที่ถูกนำมาใช้อย่างแพร่หลายในงานด้าน bioinformatics และที่ขาดไม่ได้ คือผมต้องขอขอบคุณน้องอ้อ (ภัสสร วรรณพินิจ) เป็นอย่างมากด้วยเช่นกันครับ ที่เขียนบทความ Focus on BioInfo Researches เพื่อสรุปเรื่องราวน่าสนใจที่น้องอ้อได้อ่านหรือผ่านตา มาให้พวกเราได้อ่านกัน ทั้งนี้ เรายังต้องการอาสาสมัครและนักเขียนอีกมากที่จะมาช่วยกันสร้างให้ Thai Bioinformatics Network เหนียวแน่นมากขึ้น หากเพื่อนสมาชิกผู้ใดมีข้อติชม หรือคำแนะนำเกี่ยวกับ news blog ก็สามารถเขียนในช่อง comment ด้านล่างได้ครับ หรือส่งมาให้ผมโดยตรงที่ e-mail: pravech.a@gmail.com ก็จะยินดีมากเช่นกันครับ

ผมเชื่อว่า news blog นี้จะเป็นกิจกรรมที่เป็นประโยชน์ต่อเพื่อนนักวิจัยและผู้สนใจได้พอสมควร และหวังเป็นอย่างยิ่งว่า news blog ฉบับถัดๆ ไป จะมีประโยชน์ยิ่งๆ ขึ้นไป

ประเวช อรรจวัฒนวงศ์
ตุลาคม 2009


Highlight
Charles Darwin: the father of evolution
ประเวช อรรจวัฒนวงศ์

ผมเชื่อว่าทุกคนคงทราบกันว่า ปีนี้เป็นปีแห่งการเฉลิมฉลองวาระครบรอบ 200 ปี ของชาร์ลส์ ดาร์วิน (Charles Darwin, ค.ศ. 1809-1882) ผู้ที่ได้รับการยกย่องให้เป็นบิดาแห่งวิวัฒนาการ ดังนั้น BNNews ของเราฉบับนี้ จึงขอนำเรื่องราวที่น่าสนใจของ ชาร์ลส์ ดาร์วิน มาเล่าสู่กันฟังครับ



ชาร์ลส์ ดาร์วิน เกิดวันที่ 12 กุมภาพันธ์ ค.ศ. 1809 ซึ่งถ้านับย้อนกลับไปจากปี ค.ศ. 2009 ก็รวมเวลาได้ 200 ปีพอดี และวันเกิดของดาร์วินยังเป็นวันเดียวกับประธานาธิปดี อับราฮัม ลินคอน (Abraham Lincoln) อีกด้วย บ้านเกิดของดาร์วินอยู่ที่เมืองชรูซบรี (Shrewsbury) ซึ่งเป็นเมืองทางด้านตะวันตกของประเทศอังกฤษ ดาร์วินเป็นบุตรคนที่ 5 แต่เป็นบุตรชายคนที่ 2 ของนายแพทย์โรเบิร์ต วอริง ดาร์วิน (Robert Waring Darwin) และนางซูซานนา เว็จวู๊ด (Susannah Wedgwood) ครอบครัวของดาร์วินในสมัยนั้นจัดได้ว่ามีฐานะมั่งคั่งและมีชื่อเสียงมากครอบครัวหนึ่ง บิดาของดาร์วินอยากให้เขาเป็นแพทย์เหมือนอย่างที่ตนเป็น หนุ่มน้อยดาร์วิน จึงสมัครเข้าเป็นนักเรียนแพทย์ที่มหาวิทยาลัยเอดินบระ (University of Edinburgh) ตามความต้องการของบิดา แต่เนื่องจากดาร์วินเองเป็นคนที่กลัวเลือดมาก ประกอบกับความไม่ชอบเรียนแพทย์เป็นทุนเดิม จึงอดทนเรียนได้เพียงปีเดียวก็ลาออกจากมหาวิทยาลัย และการลาออกนี้ทำให้ดาร์วินถูกบิดาโกรธเป็นอย่าง��าก จากนั้นบิดาของดาร์วินก็ส่งเขามาเข้าเรียนที่ Christ's College ในมหาวิทยาลัยเคมบริดจ์ (Cambridge University)

ต่อมาเมื่อดาร์วินอายุ 22 ปี (ปี ค.ศ. 1831) ก็ได้สมัครเข้าทำงานกับราชนาวีอังกฤษ โดยขอออกค่าใช้จ่ายเอง เพื่อไปเป็นนักธรรมชาติวิทยาบนเรือหลวง H.M.S. Beagle ซึ่งเป็นเรือสำรวจทางด้านวิทยาศาสตร์ของประเทศอังกฤษ ที่จะเดินทางออกไปสำรวจสถานที่ต่างๆ รอบโลก โดยเฉพาะบริเวณชายฝั่งมหาสมุทรแอตแลนติกตอนใต้และมหาสมุทรแปซิฟิก ระหว่างที่ดาร์วินเดินทางอยู่ในทวีปอเมริกาใต้ ดาร์วินพบว่าฟอสซิลของสัตว์ที่สูญพันธุ์ไปแล้วมีลักษณะคล้ายคลึงกับสัตว์ที่ยังมีชีวิตอยู่ในยุคปัจจุบัน นอกจากนี้ ดาร์วินยังพบว่าสัตว์และพืชบนหมู่เกาะกัลปากอส (Galapagos islands) ยังมีลักษณะคล้ายกับสัตว์และพืชที่อยู่บนพื้นแผ่นดินใหญ่ของทวีปอเมริกาใต้ นอกจากการสำรวจแล้ว ดาร์วินยังได้เก็บตัวอย่างฟอสซิลสัตว์และพืชที่สูญพันธุ์ไปแล้ว รวมทั้งตัวอย่างสิ่งมีชีวิตที่ยังไม่สูญพันธุ์อีกมากมายจากทุกที่ที่ได้เดินทางไปสำรวจกับเรือ H.M.S. Beagle กลับมายังประเทศอังกฤษด้วย การเดินทางสำรวจรอบโลกของดาร์วินกินเวลาทั้งสิ้น 5 ปีเต็ม

หลังจากที่ดาร์วินกลับมาถึงกรุงลอนดอน ประเทศอังกฤษในปี 1836 ดาร์วินได้ใช้เวลาส่วนใหญ่ไปกับการวิจัยข้อมูลที่เขาได้บันทึกไว้ในสมุดจดระว่างการเดินทาง และซากสิ่งมีชีวิตที่เขาได้เก็บรวมรวมมาจากแหล่งต่างๆ ทั่วโลก ในที่สุดเขาก็ค้นพบองค์ความรู้ใหม่ๆ หลายอย่าง อาทิเช่น เขาค้นพบว่าวิวัฒนาการมีอยู่จริง และวิวัฒนาการจะเกิดอย่างค่อยเป็นค่อยไป และต้องอาศัยระยะเวลาตั้งแต่หลายพันปีจนถึงหลายล้านปี และกลไกหลักในการขับเคลื่อนวิวัฒนาการคือขบวนการคัดเลือกโดยธรรมชาติ (natural selection) และท้ายที่สุดดาร์วินยังมีความคิดว่า สิ่งมีชีวิตทั้งหลายที่ปรากฏอยู่ในปัจจุบัน ล้วนกำเนิดมาจากบรรพบุรุษชนิดเดียวกัน โดยที่บรรพบุรุษนั้นได้ผ่านขบวนการที่เรียกว่าการกำเนิดสปีชีส์ใหม่ (speciation)

ต่อมาดาร์วินได้ตีพิมพ์ทฤษฎีต่างๆ ที่เขาค้นพบลงในวารสารและหนังสือหลายเล่ม แต่เล่มที่มีชื่อเสียงมากที่สุดและทำให้คนทั่วโลกรู้จักเขา คงจะเป็นหนังสือชื่อ "On the Origin of Species by Mean of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life" ซึ่งถูกจัดพิมพ์ขึ้นในปี ค.ศ. 1859 หรือที่เรารู้จักกันในชื่อสั้นๆ ว่า "The Origin of Species" ช่วงสุดท้ายของชีวิต ชาร์ลส์ ดาร์วิน ก็ยังคงค้นคว้าวิจัยเกี่ยวกับวิวัฒนาการของสิ่งมีชีวิตจนกระทั่งเสียชีวิตลงในปี ค.ศ. 1882 โดยพิธีศพของดาร์วินถูกจัดขึ้นที่ Westminsmster Abbey ณ กรุงลอนดอน ประเทศอังกฤษ

ถ้าเพื่อนสมาชิกคนใด สนใจอยากรู้ข้อมูลเพิ่มเติมเกี่ยวกับประวิติของ ชาร์ลส์ ดาร์วิน รวมทั้งต้องการอ่านเนื้อหาที่ดาร์วินบันทึกไว้ระหว่างที่ออกเดินทางสำรวจรอบโลก ก็สามารถเข้าไปอ่านเพิ่มเติมได้จาก web site ชื่อ "The Complete Work of Charles Darwin Online" ที่จัดทำขึ้นโดย Dr. John van Wyhe (http://darwin-online.org.uk/)


Python Programming
Beginning with Python
ประพัฒน์ สุริยผล

บทความนี้เขียนขึ้นเพื่ออำนวยความสะดวกแก่ผู้ที่ไม่ค่อยถนัดภาษาอังกฤษ หรืออยากอ่านบทความภาษาไทยเกี่ยวกับไพธอนมากกว่า สำหรับผู้ที่ต้องการหาข้อมูลเพิ่มเติม มีบทความ หนังสือ และเรื่องราวต่าง เกี่ยวกับภาษาไพธอนอยู่มากมาย รวมทั้งในส่วนของบทเรียนการสอน (tutorial) ที่มาพร้อมกับโปรแกรมไพธอนเอง ก็เขียนได้ดีมากเช่นกัน

หนังสือหลายเล่มมักจะเริ่มต้นด้วยประวัติของไพธอน แต่ในที่นี้ ผมขอเริ่มต้นด้วยการพาคุณเข้าไปสัมผัสกับภาษาไพธอนก่อนเลย เราจะใช้เวลาสัก 15 นาที เพื่อให้คุณได้เห็นและรู้จักกับไพธอนด้วยตัวคุณเอง แล้วลองดูสิว่า "ไพธอน" ใช่ภาษาที่คุณชอบหรือไม่

ก่อนอื่น คุณต้องติดตั้งโปรแกรมภาษาไพธอนก่อน ซึ่งทำได้ไม่ยาก ในที่นี้ผมจะเน้นไปที่ภาษาไพธอนบนระบบปฏิบัติการวินโดว์ (Windows) แต่ว่าภาษาไพธอนสามารถนำไปใช้งานได้แทบจะทุกระบบปฎิบัตการ (cross-platform) ไม่ว่าจะเป็นระบบปฏิบัติการวินโดว์ ลีนุกซ์ (Linux) หรือ แมก​โอเอส (Mac OS)

ในช่วงชิมลาง เราจะลองเล่นกับ interpreter กันก่อน ซึ่งจะให้ผลตอบสนองกับผู้ใช้เริ่มต้นได้อย่างรวดเร็ว แล้วเราค่อยย้ายไปเขียนโปรแกรมในเอดิเตอร์ (editor) เมื่อโปรแกรมมีความซับซ้อนมากขึ้นในภายหลัง

เราเริ่มต้นด้วยการสั่งรันไพธอนใน Dos box ถ้าคุณติดตั้งตามปกติ คุณสามารถทำได้ง่าย ด้วยการกดปุ่ม Window + R จะมีกล่องสนทนา (dialog box) Run ขึ้นมาถามว่าต้องการจะรันโปรแกรมอะไร ให้พิมพ์ python แล้วกด OK เราก็จะได้ python interpreter พร้อมใช้งาน

ใช้ไพธอนเป็นเครื่องคิดเลข
เราสามารถใช้ไพธอนเป็นเครื่องคิดเลขได้ง่าย ด้วยการพิมพ์คำสั่งตามปกติ แล้วปิดท้ายด้วยการกดปุ่ม enter ดังตัวอย่าง

>>> 1 + 1
2
>>> 2 - 2
0
>>> 2 * 2
4
>>> 6 / 2
3
>>> 5 * (2 - 1)
5
>>> 5 * 2 - 1
9
>>> 5 % 3
2

เครื่องหมาย % หมายถึงเราต้องการดูเศษของการหารนั้น เช่น 5 หารด้วย 3 จะเหลือเศษ 2 เพราะฉะนั้น 5 % 3 = 2

ลองสั่งพิมพ์
เราสามารถสั่งพิมพ์ค่าในไพธอนง่าย ด้วยการใช้คำสั่ง print

>>> print 1
1
>>> print "hello world"
hello world

มีข้อสังเกตอย่างหนึ่งคือตัวอักษร (string) จะต้องถูกคร่อมไว้ด้วยเครื่องหมายฟันหนู (")

รู้จักกับตัวแปร (variables)
เราสามารถใช้ตัวแปรเก็บค่าต่าง เอาไว้ใช้ได้ โดยเราสามารถอ้างถึงค่าที่เก็บอยู่ในตัวแปร โดยใช้ชื่อของตัวแปรนั้น เช่น เรากำหนดให้ x = 2 แล้วนำค่า x ไปใช้ในภายหลัง นอกจากนี้ ตัวแปรยังสามารถเก็บค่าตัวอักษรก็ได้ ไม่จำเป็นจะต้องเป็นตัวเลข

>>> x = 2
>>> X + 2
4
>>> x + 3
5
>>> y = "hello"
>>> print y,"world"
hello world

ลองเล่นวนลูป (loop)
ถ้าหากเราต้องการพิมพ์เลข 0 ถึง 4 เราสามารถใช้คำสั่ง print 5 ครั้งในการพิมพ์ออกมาได้ ดังตัวอย่าง

>>> print 0
0
>>> print 1
1
>>> print 2
2
>>> print 3
3
>>> print 4
4

แล้วถ้าเราต้องพิมพ์เลข 0 ถึง 100 ล่ะ ต้องพิมพ์กันจนเมื่อยเหรอ เรามีวิธีที่ดีกว่านั้น ด้วยการใช้ลูป ตามคำสั่งง่าย ดังนี้ สมมติว่าเราต้องการพิมพ์ เลข 0 ถึง 4

>>> for i in range(5):
... print i
... (เมื่อถึงบรรทัดนี้ ให้กด enter เพื่อให้เป็นบรรทัดว่าง โปรแกรมจึงจะเริ่มทำงาน)

0
1
2
3
4

คำสั่ง for เป็นคำสั่งให้วนลูป ถ้าจะแปลคำสั่ง for i in range(5) ก็จะได้ว่า จงวนลูปในค่าที่อยู่ใน range(5) โดยค่าในแต่ละครั้งให้ใส่ไว้ในตัวแปร i คำสั่ง range(5) เป็นฟังก์ชันที่คืนค่าของตัวเลขออกมาตั้งแต่เลข 0 จนถึงเลขสุดท้ายก่อนถึงจำนวนที่ใส่ไว้ในวงเล็ก เพราะฉะนั้น range(5) เราจะได้ค่า 0, 1, 2, 3, 4 เมื่อวนลูปรอบแรก เราจะได้ค่า 0 อยู่ในตัวแปร i ซึ่งจะเข้าไปทำงานในย่อหน้าของลูป ซึ่งมีคำสั่ง print i อยู่ จึงพิมพ์เลข 0 ออกมา เป็นการจบการทำงานรอบแรก เพราะไม่มีคำสั่งถัดไป แต่เนื่องจากค่าที่ได้จากคำสั่ง range ยังไม่หมด จึง "วน" กลับมาที่บรรทัด for ใหม่ โดยครั้งนี้ ตัวแปร i จะได้ค่าถัดไปคือ 1 แล้วก็จะเข้ากระบวนการเดิมคือ ตัวแปรถูกพิมพ์ด้วยคำสั่ง print ได้เลข 1 ออกมา เป็นอย่างนี้ไปเรื่อย จนพิมพ์เลข 4 และไม่มีค่าของ range เพิ่มเติม จึงเป็นการสิ้นสุดการวนลูป

เพิ่มเติมเงื่อนไข
องค์ประกอบที่สำคัญอีกอย่างของการเขียนโปรแกรมคือการตั้งเงือนไข สมมติว่าเราต้องการให้พิมพ์ตัวเลขเฉพาะเลขคู่ในช่วงตั้งแต่ 0 ถึง 100 เราสามารถเขียนโปรแกรมได้ดังนี้

>>> for i in range(101):
... if i % 2 == 0:
... print i
...

0
2
4
..
..
..
98
100

ผมต้องตัดการแสดงผลให้ย่อลง มิฉะนั้นจะได้เลขคู่ไล่ยาวเรื่อยมาตั้งแต่เลข 0 จนถึง 100 สังเกตว่าเราใช้ range(101) เพื่อให้ได้ค่าตั้งแต่ 0 ถึง 100 เพราะ range จะไม่คืนค่าตัวที่อยู่ในวงเล็บ จากนั้นคำสั่งที่อยู่ในลูป เราเพิ่มเงื่อนไขขึ้นมาคือ ถ้าค่าในตัวแปร i ซึ่งจะเปลี่ยนไล่ไปเรื่อย จาก 0 ถึง 100 ในการวนลูปแต่ละครั้งหารด้วย 2 เหลือเศษเท่ากับ 0 หรือไม่ ถ้าเท่ากับ 0 จะทำให้พจน์นี้ หรือเงื่อนไขนี้เป็นจริง ไพธอนจะทำงานในย่อหน้าถัดไป คือพิมพ์ค่าในตัวแปร i ซึ่งก็คือเลขคู่ที่เราต้องการนั่นเอง แต่ถ้าหากเงื่อนไขเป็นเท็จ ไพธอนก็จะไม่ทำงานในย่อหน้าถัดไปของบรรทัดคำสั่งเงือนไข จะไปทำงานที่คำสั่งถัดไปเลย ในกรณีนี้ ไม่มีคำสั่งใดที่อยู่ถัดจากคำสั่งเงือนไขแล้ว หมดย่อหน้าที่อยู่ในลูป ก็จะมีการวนลูปกลับไปที่บรรทัดคำสั่ง for จนกระทั่งครบทุกจำนวนใน range ด้วยคำสั่งสั้น นี้ เราก็จะได้เลขคู่ตั้งแต่ 0 ถึง 100 ออกมา

โจทย์ลองเล่น
ถ้าคุณตามมาได้ถึงตอนนี้ ผมคิดว่า คุณคงจะเริ่มเขียนโปรแกรมในภาษาไพธอนได้แล้ว ภายในเวลาเพียง 15 นาที อยากดูสิว่า คุณสามารถเขียนโปรแกรมให้ทำอย่างนี้ได้หรือไม่
  1. ใช้ไพธอนเป็นเครื่องคิดเลข คำนวณค่า 12345 คูณกับ 9 แล้วหารด้วยผลต่างระหว่าง 36 กับ 17
  2. เขียนโปรแกรมให้พิมพ์เลขตั้งแต่ 0 ถึง 10
  3. เขียนโปรแกรมให้พิมพ์เลขคี่ที่อยู่ระหว่างเลข 0 ถึง 100
คิดว่าคงจะไม่ยากสำหรับคุณนะครับ


Focus on BioInfo Researches
Bioinformatics Researches in Nature
ภัสสร วรรณพินิจ และ ประเวช อรรจวัฒนวงศ์

สวัสดีค่ะพี่ๆ และเพื่อนๆ ทุกคน ดิฉันอยากใช้โอกาสนี้เปิดคอลัมน์ "Focus on BioInfo Researches" เพื่อนำเสนองานวิจัยที่น่าสนใจเกี่ยวกับ bioinformatics หรือสาขาที่เกี่ยวข้อง ซึ่งตีพิมพ์ไว้ในวารสารดังๆ อาทิ Science Nature PNAS และอื่นๆ อีกมากมาย ดิฉันคิดว่าน่าจะมีประโยชน์เป็นอย่างมากต่อเพื่อนๆ พี่ๆ น้องๆ นักวิจัยที่มีเวลาในการค้นข้อมูลไม่มากนัก เอาเป็นว่าดิฉันมีโอกาสเข้าไปอ่านงานวิจัยและบทความต่างๆ ในวารสาร Nature ฉบับล่าสุด (Vol. 461, No. 7263) ก็เห็นว่ามีงานวิจัยทางด้าน genomics หลายชิ้นทีเดียว แต่จะขอเลือกเอาเรื่องสนุกๆ มาเล่าสู่กันฟังค่ะ

เริ่มกันด้วย Editorial section กันก่อนนะคะ สำหรับผู้ที่สนใจงานวิจัยเกี่ยวกับการค้นหายีนที่เกี่ยวกับโรคร้ายต่างๆ เช่น โรคหัวใจ โรคมะเร็ง หรือโรคอัลไซเมอร์ (Alzheimer’s disease) คงสนใจที่จะรู้เรื่องราวเก่ียวกับ Biobanks นะคะ เพราะ Biobanks เป็นแหล่งรวบรวม เนื้อเยื่อ (tissues) หรือสารคัดหลั่งต่างๆ (body fluids) ที่มีข้อมูลทางการแพทย์ประกอบอย่างมีระบบ อันที่จริง Biobanks นี้มีมานานแล้ว แต่ว่ามีขนาดเล็กมาก แต่ปัจจุบัน Biobanks เติบโตขึ้นมากและคาดว่าจะกลายมาเป็น public resource ที่สำคัญในอนาคตอันใกล้นี้ ผู้สนใจลองเข้าไปอ่านรายละเอียดในบทความหัวข้อ "Biobanks needs pharma" นะคะ หรือสามารถเข้าดูผ่าน link นี้ได้เลยค่ะ (http://www.nature.com/nature/journal/v461/n7263/full/461448a.html)

ในส่วนของ Research นะคะ นักวิจัยที่สนใจงานทางด้าน system biology และ structural bioinformatics คงจะชอบล่ะค่ะ เพราะใน section นี้ได้ลงเรื่อง "Three-Dimensional Structural View of the Central Metabolic Network of Thermotoga maritima" ซึ่งไปตามอ่านบทความฉบับสมบูรณ์ได้ที่ (http://www.sciencemag.org/cgi/content/abstract/325/5947/1544) ในเรื่องนี้ กลุ่มนักวิจัยจากสหรัฐอเมริกา ได้ศึกษาโปรตีนจำนวน 478 ชนิดจากแบคทีเรียชื่อ T. maritima ซึ่งเป็นแบคทีเรียที่เติบโตในสิ่งแวดล้อมที่มีอุณหภูมิสูงมากๆ เช่นบริเวณภูเขาไฟ เขาพบว่าโครงสร้างสามมิติของบรรดาโปรตีนเหล่านี้จำแนกออกได้เพียง 182 แบบเท่านั้น และรูปร่างทั้ง 182 แบบนี้ยังเป็นแบบที่พบได้ในยีนที่มีความสำคัญต่อการมีชีวิตหรือที่เราเรียกว่า essential core genes อีกด้วย


และเพื่อให้สอดคล้องกับคอลัมน์ Highlight ของ news mail นะคะ ดิฉันขอเลือก งานวิจัยเรื่อง "Reconstructing Indian Population History" มาเล่าใหเฟังค่ะ นักวิจัยกลุ่นนี้ได้ศึกษาพันธุวิวัฒนาการระดับโมเลกุลของคนอินเดียจำนวน 25 สายพันธุ์ที่ต่างกันในประเทศ ผลการศึกษาพบว่าคนเหล่านี้ รวมไปถึงคนอินเดียในปัจจุบันแตกลูกหลานมาจากบรรพบุรุษ 2 กลุ่ม กลุ่มแรกเป็นคนอินเดียที่มีพันธุกรรมคล้ายคลึงกับคนยุโรป คนเอเชีย และตะวันออกกลาง ส่วนอีกกลุ่มหนึ่งพบว่าไม่มีความคล้ายกับผู้ใดในภูมิภาคอื่นเลย และบรรพบุรุษของเขาเรียกว่า Ancestral South Indeans ผู้สนใจสามารถตามไปอ่านบทความฉบับสมบูรณ์ได้ที่ (http://www.nature.com/nature/journal/v461/n7263/full/nature08365.html)

สำหรับ Focus on BioInfo Researches ฉบับนี้ ดิฉันก็ขอเกริ่นเอาไว้สั้นๆ เท่านี้ก่อนค่ะ ถ้าเพื่อนๆ พี่ๆ น้องๆ คนใด อยากให้ดิฉันหยิบงานวิจัยเกี่ยวกับหัวข้อใดมาเล่าเพิ่มเติม หรือมีข้อแนะนำประการใดก็สามารถส่งตรงมาได้ที่ e-mail: passorn_wa@hotmail.com นะคะ ทั้งนี้ก็เพื่อจะได้ปรับปรุงให้ดียิ่งขึ้นค่ะ ขอบคุณค่ะ