Saturday, May 8, 2010

ฉบับที่ 9 (พฤษภาคม 2010)

Opening


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


สิ่งที่จะลืมไม่ได้เลย คือ ข่าวน่ายินดีสำหรับพวกเราชาว THAI BIOINFORMATICS นะครับ และส่วนตัวผมเองถือว่าเป็นเรื่องน่ายินดีของคนไทยทั้งประเทศ ที่เราจะมี ดร หนุ่มสาวรุ่นใหม่ ไฟแรง มาประดับวงการ bioinformatics ของประเทศไทยเพิ่มอีก 2 คนครับ ผมและทีมงานทุกคนขอแสดงความยินดีกับ ดร. คเณศ วงศ์ระวี ที่สำเร็จการศึกษาระดับปริญญาเอกจากสหราชอาณาจักร และ ดร. ภัสสร วรรณพินิจ ที่สำเร็จการศึกษาระดับปริญญาเอกจากสหรัฐอเมริกา ด้วยใจจริงของพวกเราครับ


สำหรับ THAI BIOINFORMATICS ฉบับนี้ ผมขอเสนอคอลัมน์ใหม่นั่นก็คือ “Book Reviews” ครับ คอลัมน์นี้ตั้งขึ้นมาเพื่อนำเสนอหนังสือน่าอ่านสำหรับงาน bioinformatics และสาขาใกล้เคียงครับ อย่างไรก็ตาม คอลัมน์นี้ อาจไม่ได้ปรากฏอยู่ในทุกฉบับของนิตยสาร แต่จะสลับกันมากับอีกคอลัมน์หนึ่งครับ นั่นก็คือ “Web & Software Reviews” หรืออาจจะมาพร้อมกันทั้งสองคอลัมน์ก็ได้ครับ ขึ้นอยู่กับความเหมาะสม


คอลัมน์ Highlight ในฉบับนี้ถือเป็นบทความ surprise ครับ เพราะเราจะนำเสนอเรื่องราวของ population genetics หรือที่ภาษาไทยเรียกกันว่าพันธุศาสตร์ประชากรนั่นเอง หลายคนอาจสงสัยว่า แล้วมันเกี่ยวอะไรกับ bioinformatics เนี่ยะ เรื่องนี้ผมต้องขอเรียนท่านผู้อ่านให้ทราบว่า นิตยสารของเราเป็นนิตยสารที่เน้นการนำเสนอเรื่องราวของ bioinformatics และสาขาใกล้เคียง อาทิ functional genomics, proteomics, metabolomics, interactomics, biostatistics, computational biology, mathematical modeling, biomathematics และอื่นๆ อีกมากมายที่เกี่ยวข้องกับการนำความรู้ทางคณิตศาสตร์ สถิติ และคอมพิวเตอร์ไปจัดการกับข้อมูลทางชีววิทยา หรือแม้แต่เรื่องราวทางชีววิทยาที่จะสามารถผลักดันให้เกิดเทคโนโลยีใหม่ทาง bioinformatics ด้วยเช่นกัน


สำหรับผู้สนใจ Python Programming แต่ยังช้าอยู่ หรือเริ่มแผ่วก็เร่งเครื่องหน่อยนะครับ เรื่องราวกำลังเข้มขึ้น ฉบับนี้เราจะมาว่ากันถึงตัวแปรประเภท list ครับ จะเป็นอย่างไร ต้องไปติดตามครับ


Talk to... ฉบับนี้ ยังอยู่กับน้องปุ้มอยู่นะครับ และครั้งนี้เราจะไปคุยกับนักวิจัยจาก BIOTEC ที่ทำงานวิจัยด้านกุ้ง แต่เป็นส่วนของ EST database ของกุ้งครับ เนื้อหาจะเป็นอย่างไร ต้องไปติดตามครับ กับ Talk to... “คุยกับนักวิจัยกุ้งและงาน EST database” ครับ


สำหรับท่านผู้อ่านที่มีข้อติชม แนะนำ หรืออยากให้เรานำเสนอเรื่องราวอะไรเป็นพิเศษ ก็สามารถเข้ามา post ข้อความเพื่อแนะนำ และแสดงข้อคิดเห็นได้ตลอดเวลานะครับ ผมและทีมงานยินดีรับฟังเพื่อนำมาปรับปรุงให้ดียิ่งขึ้นครับ

Book Reviews

Understanding Bioinformatics

หนอนหนังสือ



สวัสดีครับ วันนี้ผมขอแนะนำหนังสือเล่มหนึ่งเกี่ยวกับ bioinformatics ครับ หนังสือเล่มนี้ชื่อ Understanding Bioinformatics ครับ แต่งโดย Marketa Zvelebil และ Jeremy O Baum อันที่จริงหนังสือเล่มนี้ก็ไม่ใช่หนังสือใหม่อะไรมากมายครับ เพราะออกวางจำหน่ายมาประมาณ 3 ปีแล้ว (ตีพิมพ์ตั้งแต่เดือนสิงหาคม ปี 2007) เนื้อหาของหนังสือเล่มนี้ ค่อนข้างละเอียด เหมาะกับนักศึกษาระดับปริญญาโทและเอกที่สนใจวิชา bioinformatics สำหรับผู้เริ่มต้นอาจจะรู้สึกว่ารายละเอียดมากเกินความต้องการ แต่ถ้าท่านมีพื้นความรู้ทาง bioinformatics มาบ้าง ผมแนะนำให้มีหนังสือเล่มนี้ไว้บนชั้นหนังสือครับ


หนังสือเล่มนี้แบ่งออกเป็น 7 ตอน (17 บท) โดยตอนที่ 1 จะกล่าวถึงความรู้พื้นฐานเกี่ยวกับโลกของกรดนิวคลีอิก และโครงสร้างโปรตีน รวมถึงความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล ในตอนที่ 2 จะเป็นเรื่อง “Sequence Alignments” ซึ่งจะว่าด้วยทฤษฎีทางด้านการทำ pairwise sequence alignment และ database searching นอกจากนี้ยังมีเรื่องของ patterns และ profile analysis รวมทั้ง multiple alignment ด้วย ตอนที่ 3 เป็นเรื่องของ “Evolutionary Processes” ซึ่งจะว่าด้วยความรู้เกี่ยวกับ phylogenetic analysis ตั้งแต่พื้นฐานไปจนถึงระดับที่สามารถนำไปใช้งานได้ ตอนที่ 4 เป็นส่วนของ “Genome Characteristics” เนื้อหาในส่วนนี้ จะเน้นเรื่อง genome structure รวมทั้ง gene prediction และ genome annotation ด้วย ส่วนที่ 5 และ 6 เป็นเรื่องของการวิเคราะห์โครงสร้างโปรตีนทั้งในระดับ Secondary Structures และ Tertiary Structures ตามลำดับ ตอนที่ 7 เป็นเรื่อง “Cells and Organisms” ซึ่งเป็นเรื่องราวเกี่ยวกับ proteomics, microarray, clustering analysis และ systems biology นอกจากนี้ ส่วนท้ายสุดของเล่ม ยังมีภาคผนวกเกี่ยวกับภาคการคำนวณสำหรับปัดฝุ่นให้กับผู้ที่ร้างราไปนานแล้วอีกด้วย


จุดเด่นของหนังสือเล่มนี้ อยู่ที่ความตั้งอกตั้งใจของผู้เขียนที่พยายามจะสื่อให้ผู้อ่านเข้าใจเนื้อหามากที่สุด ไม่ว่าจะเป็นการใช้ภาษาที่ง่าย ชัดเจน ไม่ซับซ้อน และการใช้ภาพประกอบมากมาย รวมทั้งแผนผัง flowchart ต่างๆ เพื่ออธิบายขั้นตอนการวิเคราะห์ข้อมูลแบบต่างๆ นอกจากนี้ภาพทั้งหมดในเล่มยังเป็นภาพสีอีกด้วยครับ และส่วนที่แปลกไปกว่าหนังสือเล่มอื่น (ซึ่งผมชอบมาก) ก็คือ ในส่วนต้นของแต่ละบท ผู้เขียนจะมี mind map ใส่ไว้ให้ตลอด เพื่อช่วยให้ผู้อ่านเห็นองค์รวมของเนื้อหาในแต่ละบท


นอกจากนี้ เนื้อหาในแต่ละบท แต่ละส่วนจะเริ่มต้อนจากส่วนที่ง่ายๆ เพื่อเป็นการปูพื้นให้กับผู้อ่านที่ไม่คุ้นเคยกับเนื้อหาในส่วนนั้นๆ แล้วค่อยๆ ไล่ระดับความยากของเนื้อหาไปยังส่วนที่ยากและซับซ้อน นอกจากนี้ เนื้อหาในหนังสือจะมีการสอดแทรกสมการทางคณิตศาสตร์ไว้พอสมควร แต่ก็มีบทบรรยายเพื่อให้เกิดความเข้าใจสมการเหล่านั้นได้เป็นอย่างดี ดังนั้น ผมแนะนำให้ผู้สนใจ โดยเฉพาะผู้ที่ต้องสอน bioinformatics ควรมีครับ



Highlight

Population Genetics: What is it?

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


สวัสดีค่ะพี่ๆ เพื่อนๆ และน้องๆ ทุกคน หลังจากที่หายหน้าไปพักใหญ่ คราวนี้ดิฉันกลับมาพบกับทุกคนอีกครั้งในบทความเรื่อง “Population Genetics: What is it?” หลายคนคงมีคำถามในใจว่า ทำไมดิฉันถึงนำเสนอเรื่องราวเกี่ยวกับวิชาพันธุศาสตร์ประชากรในวารสารที่นำเสนอเรื่องราวทาง bioinformatics เหตุผลก็คือ “โดน บก. สั่งมาค่ะ” (อันนี้หยอกล้อกันเล่นเฉยๆ นะคะ) จริงๆ แล้วที่ดิฉันหยิบยกเรื่องนี้มานำเสนอก็เพราะว่า ความรู้ต่างๆ ทางพันธุศาสตร์ประชากรถูกนำมาประยุกต์ใช้ในงานบางอย่างทาง bioinformatics ยกตัวอย่างเช่น การประยุกต์ใช้ความรู้ทางด้าน neutral theory ในการทำความเข้าใจความหลากหลายของ protein และ DNA sequence ในงานทางด้าน sequence analysis หรือการประยุกต์ใช้ความรู้เกี่ยวกับ Hardy-Weinberg principles และ linkage analysis ในการศึกษา genome-wide association study (GWAS) ซึ่งนับได้ว่าเป็นงานทางด้าน genomics แขนงหนึ่ง ในขณะเดียวกันเทคโนโลยีต่างๆ ทางคอมพิวเตอร์และ bioinformatics ก็ถูกนำมาใช้ในงานวิจัยที่เกี่ยวข้องกับพันธุศาสตร์ประชากรเช่นเดียวกัน เป็นต้นว่า การใช้ประสิทธิภาพของเทคโนโลยีทางด้านคอมพิวเตอร์ในการสร้าง simulation model ในการศึกษาทฤษฏีต่างๆ ทางพันธุ-ศาสตร์ประชากร หรือการใช้เทคโนโลยีทางด้าน bioinformatics ในการทำความเข้าใจความหลากหลายทางพันธุกรรมในประชากร เป็นต้น


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


ประชากรคืออะไร?


ในทางชีววิทยา ประชากร จะหมายถึงกลุ่มของสิ่งมีชีวิตชนิดเดียวกัน ที่อาศัยอยู่ในพื้นที่หนึ่งๆ ในช่วงเวลาเดียวกัน โดยสมาชิกของสิ่งมีชีวิตนั้นๆ สามารถสืบพันธุ์และให้ลูกที่ไม่เป็นหมันได้ ยกตัวอย่างเช่น ประชากรเต่าทะเล (marine turtles) บนเกาะ Galápagos, ประชากรนกเงือกในผืนป่าดงพญาเย็น ประเทศไทย, และประชากรมนุษย์ในโลก เป็นต้นค่ะ โดยทั่วไปแล้วความหลากหลายของลักษณะต่างๆ ในประชากรสามารถพบเห็นได้ตั้งแต่ระดับระหว่างสมาชิกของประชากรหนึ่งๆ ยกตัวอย่างเช่น ความแตกต่างของลักษณะทางกายภาพ เช่น สีผิว น้ำหนัก ส่วนสูง ระหว่างมนุษย์แต่ละคนไปจนถึงระดับระหว่างประชากรของสิ่งมีชีวิตชนิดเดียวกันที่อาศัยอยู่ต่างพื้นที่กัน เช่น ความแตกต่างระหว่างนกเงือกในไทยกับนกเงือกในแอฟริกา โดยนกเงือกที่พบในประเทศไทยนิยมทำรังในโพรงต้นไม้ขนาดใหญ่ ขณะที่นกเงือกในแถบแอฟริกานิยมทำรังในโพรงไม้เตี้ยๆ หรือระหว่างประชากรของสิ่งมีชีวิตชนิดเดียวกันที่อาศัยอยู่ต่างเวลากัน เช่น ความแตกต่างระหว่าง fossil armadillos กับ modern armadillos ค่ะ


พันธุศาสตร์ประชากรคืออะไร?


พันธุศาสตร์ประชากรเป็นสาขาวิชาหนึ่งทาง พันธุศาสตร์ที่ว่าด้วยการศึกษาลักษณะทางพันธุกรรมของประชากรและการเปลี่ยนแปลงลักษณะทางพันธุกรรมของประชากรที่เกิดจากปัจจัยต่างๆ เราสามารถวัดลักษณะทางพันธุกรรมของประชากรในเชิงปริมาณในรูปของความถี่ของลักษณะทางพันธุกรรม หรือ allele frequency ได้ ดังนั้นเราอาจกล่าวได้ว่า พันธุศาสตร์ประชากรคือวิชาที่ว่าด้ายการศึกษาการเปลี่ยนแปลงของ allele frequency และปัจจัยที่ก่อให้เกิดการเปลี่ยนแปลงของ allele frequency ในประชากรค่ะ ยกตัวอย่างเช่น การศึกษาการเปลี่ยนแปลงของการกระจายตัวของยีน bw75 ในประชากรทดลอง Drosophila melanogaster อันเป็นผลสืบเนื่องมาจากกระบวนการ random genetic drift เป็นต้น


สำหรับปัจจัยต่างๆ ที่ก่อให้เกิดการเปลี่ยนแปลงของ allele frequency ในประชากร เราสามารถแบ่งออกได้เป็น 4 ปัจจัยหลักๆ ได้แก่ การเปลี่ยนแปลงลักษณะทางพันธุกรรม หรือ การกลายพันธุ์ (mutation) การคัดเลือกลักษณะทางพันธุกรรม (selection) การเปลี่ยนแปลงแบบไร้ทิศทางของลักษณะทางพันธุกรรมในประชากร (genetic drift) และการถ่ายเทลักษณะทางพันธุกรรมระหว่างประชากร (gene flow)


การเปลี่ยนแปลงลักษณะทางพันธุกรรม หรือ mutation เป็นกระบวนการที่ก่อให้เกิดความหลากหลายทางพันธุกรรมในประชากรโดยการสร้าง allele ใหม่ในประชากร หรือเพิ่ม allele frequency ของ allele หนึ่งในประชากร กระบวนการนี้นับได้ว่าเป็นปัจจัยเบื้องต้นของกระบวนการอื่นๆ ที่จะก่อให้เกิดการเปลี่ยนแปลงความถี่ของลักษณะทางพันธุกรรมในประชากร และอาจส่งผลให้เกิดวิวัฒนาการในสิ่งมีชีวิตต่างๆ ได้ โดยมากกระบวนการนี้มักเกิดขึ้นแบบ random ซึ่งอาจทำให้ได้ลักษณะทางพันธุกรรมที่เป็นคุณ เป็นโทษ หรือไม่เป็นผลใดๆ ต่อการดำรงอยู่ของสิ่งมีชีวิตเลยก็ได้ค่ะ โดยทั่วไปแล้วเนื้อหาในวิชาพันธุศาสตร์ประชากรจะไม่กล่าวถึงกระบวนการทางโมเลกุลที่ทำให้เกิดการกลายพันธุ์โดยละเอียดนะคะ แต่อาจจะพูดถึงอย่างคร่าวๆ เพื่ออธิบายลักษณะของการกลายพันธุ์ หากลักษณะทางพันธุกรรมที่ได้จากการกลายพันธุ์มีลักษณะที่เป็นประโยชน์ต่อสิ่งมีชีวิต (increase fitness) ลักษณะทางพันธุกรรมนั้นก็จะถูกคัดเลือกไว้ในประชากรและถูกถ่ายทอดสู่ประชากรรุ่นถัดไปค่ะ ซึ่งจะเป็นการเพิ่มความถี่ของลักษณะทางพันธุกรรมที่ถูกคัดเลือกไว้ แต่หากลักษณะทางพันธุกรรมที่ได้มีลักษณะที่เป็นโทษต่อสิ่งมีชีวิต (decrease fitness) เช่น การกลายพันธ์ของยีนที่ทำให้เกิดโรคต่างๆ ในคน ลักษณะทางพันธุกรรมนั้นก็มักจะถูกคัดทิ้งจากประชากรและไม่ให้มีการถ่ายทอดสู่ประชากรรุ่นถัดไป ซึ่งจะเป็นการลดความถี่ของลักษณะทางพันธุกรรมที่ถูกคัดทิ้งนั่นเอง กระบวนการคัดเลือกหรือคัดทิ้งเหล่านี้ก็คือกระบวนการคัดเลือกลักษณะทางพันธุกรรมหรือ selection ค่ะ เราจะสังเกตุได้ว่าทั้งการกลายพันธุ์และการคัดเลือกลักษณะทางพันธุกรรม ส่งผลต่อการเปลี่ยนแปลงของความถี่ของลักษณะทางพันธุกรรมหนึ่งๆ อย่างมีทิศทาง สามารถทำนายได้ค่อนข้างแม่นยำคือถ้าไม่เพิ่ม ก็จะลดความถี่ของลักษณะทางพันธุกรรมที่เราสนใจค่ะ


หลายครั้งที่เราพบว่าการเปลี่ยนแปลงของความถี่ของลักษณะทางพันธุกรรมในธรรมชาติ เกิดขึ้นแบบไร้ทิศทาง (random) หรือที่เราเรียกว่า genetic drift การเปลี่ยนแปลงแบบนี้มักพบในประชากรที่มีขนาดเล็ก โดยเกิดจากความผิดพลาดในการสุ่มเลือกลักษณะทางพันธุกรรมในประชากรค่ะ ผลที่ได้อาจทำให้เกิดการเพิ่มความถี่ของลักษณะทางพันธุกรรมที่เป็นโทษหรือการลดความถี่ของลักษณะทางพันธุกรรมที่เป็นประโยชน์ต่อการดำรงอยู่ของสิ่งมีชีวิตในประชากรนั้นๆ การจะทำนายว่าความถี่ของลักษณะทางพันธุกรรมหนึ่งๆ ในประชากรที่การถ่ายทอดลักษณะทางพันธุกรรมถูกควบคุมโดยอิทธิพลของ genetic drift นี้จะเพิ่มหรือลด เราไม่สามารถให้คำตอบได้ 100% ค่ะ แต่เราจะคิดออกมาในรูปแบบของความน่าจะเป็น (probability) แต่ผลระยะยาวของ genetic drift นั้นค่อนข้างแน่นอน คือจะลดความแตกต่างของลักษณะทางพันธุกรรมระหว่างสมาชิกในประชากรหนึ่งๆ แต่จะเพิ่มความแตกต่างของลักษณะทางพันธุกรรมระหว่างประชากร ซึ่งก็เป็นหนทางหนึ่งที่ทำให้เกิดวิวัฒนาการในสิ่งมีชีวิตต่างๆ ได้เช่นกัน การจะสมดุลความแตกต่างของลักษณะทางพันธุกรรมระหว่างประชากรของสิ่งมีชีวิตเดียวกัน สามารถทำได้โดยการถ่ายเทลักษณะทางพันธุกรรมระหว่างประชากร หรือ gene flow การถ่ายเทนี้เกิดจากการอพยพของสมาชิกของประชากรจากที่หนึ่งไปสู่อีกที่หนึ่ง โดยที่สมาชิกเหล่านี้สามารถอยู่รอดและถ่ายทอดลักษณะทางพันธุกรรมของตนเองไปสู่ประชากรรุ่นถัดไปในที่ใหม่ได้ ดังนั้น ผลของการถ่ายเทลักษณะทางพันธุกรรมระหว่างประชากรจะเป็นไปในทิศทางตรงกันข้ามกับ genetic drift ค่ะ


นอกจากปัจจัยหลักๆ ทั้ง 4 ปัจจัยข้างต้นนี้ วิชาพันธุศาสตร์ประชากรยังสนใจศึกษาผลของการ recombination และ nonrandom mating ที่มีต่อลักษณะทางพันธุกรรมในประชากรด้วยค่ะ โดย recombination นั้นอาจก่อให้เกิดการลักษณะใหม่ๆ ขึ้นในประชากรโดยเกิดจากการผสมกันของลักษณะทางพันธุกรรมที่มีอยู่เดิมในประชากรในรูปแบบใหม่ ส่วนผลของ nonrandom mating ต่อลักษณะทางพันธุกรรมของประชากรนั้น จะมีลักษณะคล้ายคลึงกับผลของการคัดเลือกลักษณะทางพันธุกรรมที่เราเรียกว่า selection โดยส่งผลให้เกิดการเพิ่มหรือลดความถี่ของลักษณะทางพันธุกรรมบางอย่างในประชากร ซึ่งในบางกรณีก็อาจนับเป็นรูปแบบหนึ่งของการคัดเลือกลักษณะทางพันธุกรรมได้ ยกตัวอย่างเช่น ในกรณีที่สิ่งมีชีวิตเพศเมียเลือกสิ่งมีชิวิตเพศผู้ที่จะผสมพันธุ์โดยอาศัยหลักเกณฑ์บางอย่าง เราจะเรียกกรณีนี้ว่า sexual selection ค่ะ


ในประชากรสมมุติที่มีขนาดใหญ่ (ไม่มี genetic drift) โดยที่สมาชิกแต่ละหน่วยมีการสืบพันธุ์โดยอาศัยเพศอย่างเป็นอิสระ (random mating) ไม่มีการเปลี่ยนแปลงลักษณะทางพันธุกรรม (no mutation) ไม่มีการคัดเลือกลักษณะทางพันธุกรรม (no selection) และไม่มีการถ่ายเทลักษณะทางพันธุกรรมระหว่างประชากร (no gene flow) หรือที่เราเรียกว่า Hardy-Weinberg population นั้น ความถี่ของลักษณะทางพันธุกรรมในประชากรชนิดนี้จะคงที่ตลอดไป ซึ่งในความเป็นจริงเรามักไม่พบประชากรลักษณะนี้ในธรรมชาติค่ะ ดังนั้นทฤษฏีต่างๆ ในวิชาพันธุศาสตร์ประชากรจึงเป็นการตอบคำถามว่า ประชากรที่สนใจจะมีลักษณะทางพันธุกรรมอย่างไรหากประชากรนั้นๆ มีลักษณะอย่างใดอย่างหนึ่งหรือหลายๆ อย่างไม่ตรงตามประชากรสมมุตินี้ อย่างไรก็ดี ในงานวิจัยบางอย่างยังคงใช้ทฤษฏีของ Hardy-Weinberg ซึ่งตั้งอยู่บนสมมุติฐานของประชากรสมมุตินี้เป็นจุดตั้งต้นในงานวิจัย ยกตัวอย่างเช่น การหา gene ที่สัมพันธ์กับโรคต่างๆ ในมนุษย์โดยวิธี genome-wide association study (GWAS) ความถี่ของ SNPs (single nucleotide polymorphisms) ที่ถูกนำมาพิจารณาหาความสัมพันธ์กับโรคที่ศึกษาจะต้องไม่แตกต่างอย่างมีนัยยะสำคัญจากความถี่ที่ประเมินได้ตาม Hardy-Weinberg principle ค่ะ ดังนั้นถึงแม้ว่าประชากรที่เราศึกษาจะมีคุณสมบัติไม่ครบถ้วนตาม assumptions ของ Hardy-Weinberg principle แต่ประสิทธิภาพของทฤษฏีนี้ก็มากพอที่จะนำมาประยุกต์ใช้ในงานวิจัยบางอย่างได้อยู่ค่ะ


จากนิยามของวิชาพันธุ์ศาสตร์ประชากรที่กล่าวถึงการศึกษาการเปลี่ยนแปลงของ allele frequency ซึ่งเป็นคุณลักษณะเชิงปริมาณและทฤษฏีต่างๆ ทางพันธุศาสตร์ประชากรที่ถูกพัฒนาในรูปของสมการทางคณิตศาสตร์ (mathematical model) ซึ่ง model ทางคณิตศาสตร์ในวิชานี้อาจแบ่งออกเป็น 2 แบบหลักๆ ตามลักษณะช่วงเวลาได้แก่ model ที่พิจารณาช่วงเวลาในประชากรแบบไม่ต่อเนื่อง (discrete time model) และ model ที่พิจารณาช่วงเวลาในประชากรแบบต่อเนื่อง (continuous time model) หรืออาจแบ่งเป็น 2 แบบตามการพิจารณา random effect ใน model ได้แก่ model ที่ไม่รวม random effect (deterministic model) และ model ที่รวม random effect (stochastic model) ดังนั้นเราจะเห็นได้ว่า การจะเข้าใจเนื้อหาของวิชานี้และนำไปประยุกต์ใช้ในงานวิจัยอื่นๆ ได้ ต้องอาศัยความรู้ทางคณิตศาสตร์และวิธีคิดเชิงปริมาณ ซึ่งในหนังสือ “Introduction to Population Genetics” โดย Richard Halliburton ได้สรุปอย่างคร่าวๆ ถึงความรู้ทางคณิตศาสตร์ที่จำเป็นต่อผู้ที่ศึกษาวิชานี้อันได้แก่ ความรู้ทางพิชคณิต (algebra), ความรู้เกี่ยวกับ logarithmic และ exponential function, ความเข้าใจเกี่ยวกับ differentiation และ integration, และความรู้ความเข้าใจทางสถิติทั้งในส่วนของความน่าจะเป็นและการทดสอบทางสถิติ อาจะฟังดูยากนะคะสำหรับพี่ๆ เพื่อนๆ และน้องๆ ที่ไม่ค่อยคุ้นเคยกับการคิดและวิเคราะห์ทางคณิตศาสตร์เท่าไหร่ แต่ในทางปฏิบัตินั้นไม่ยากอย่างที่คิดค่ะ เพราะสิ่งสำคัญอยู่ที่การสร้างสมการที่เหมาะสมต่อประชากรที่ศึกษาค่ะ ซึ่งหากเราเข้าใจลักษณะของประชากรของเราดีแล้ว การจะสร้างสมการเพื่ออธิบายประชากรนั้นจะไม่ยากเลยค่ะ


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


สำหรับบทความนี้ ผู้อ่านคงได้เรียนรู้กันแล้ว นะคะว่าวิชาพันธุศาสตร์ประชากรว่าด้วยเรื่องอะไร และความรู้พื้นฐานที่จำเป็นต่อการศึกษาวิชานี้มีอะไรบ้าง หวังว่าพี่ๆ เพื่อนๆ และน้องๆ ที่เคยสงสัยว่าวิชานี้คืออะไรคงได้คลายข้อข้องใจกันไม่มากก็น้อยนะคะ หากใครสนใจรายละเอียดเพิ่มเติม ดิฉันขอแนะนำหนังสือ “Introduction to Population Genetics” โดย Richard Halliburton ค่ะ



----------------------------------------------------------------

1 ที่มา: http://marketing.appliedbiosystems.com/mk/get/INNOVATIONS09_OCT08_FEA TURED_ARTICLE

2 ที่มา: http://thaihornbill.org.www.readyplanet5.com/

3 ที่มา: http://www.sc.chula.ac.th/courseware/naturev2/ ppt/5.pps#306,8,Slide 8


Python Programming

ส่งท้าย while loop และตัวแปร list

ประพัฒน์ สุริยผล


ครั้งนี้ตั้งใจจะว่ากันเรื่อง list แต่อดไม่ได้ที่จะขอย้อนกลับไปพูดเรื่อง while loop ต่อจากครั้งที่แล้วอีกนิดหน่อย


จากครั้งที่แล้ว code ที่ทำกันออกมา ใช้ดีทีเดียว บาง code ก็ทำงานได้ บาง code ก็ผิดพลาดบ้าง แล้วบาง code ก็ทำให้ผมอมยิ้มกับไอเดียเก๋ไก๋ในการเลือก condition สำหรับ while loop


ถ้าเราคิดอย่างตรงไปตรงมา condition ของ while loop น่าจะเป็นคำพูดที่ว่า


“ทำต่อไปเรื่อยๆ ตราบใดที่ choice ไม่เท่ากับ Q” เพราะเราต้องการให้วนลูปจนกว่าผู้ใช้จะต้องการหยุด ด้วยการกดปุ่ม Q


เราพอจะเขียนเป็น pseudocode ได้ประมาณนี้


while choice.lower() != "q":

____ทำสิ่งที่เราต้องการให้ loop ทำ

print "Thank you for using my program"


จากโครงสร้างที่ได้ ก็จะเห็นชัดว่า ตรงไหนเป็นส่วน ลูป ตรงไหนไม่อยู่ในลูป (บรรทัดสุดท้าย)


ปัญหาคือ code ที่ใช้รับค่าของ choice (ในคำสั่ง raw_input) อยู่ใน loop แต่เราเรียกใช้มันใน condition โปรแกรม python ก็จะโวยวายว่า เราใช้ variable โดยที่ยังไม่ได้กำหนดค่า


เราแก้ไขได้ง่ายๆ ด้วยการให้ค่า choice เป็นอะไรก็ได้ที่ไม่ใช่ q เพื่อให้เข้าไปใน loop รอบแรกได้ โดยไม่มีปัญหา เมื่อเข้าไปใน loop แล้ว โปรแกรมของเราก็จะถามค่า choice ตามปกติ pseudocode จึงออกมาเป็น


choice = ""

while choice.lower() != "q":

____ทำสิ่งที่เราต้องการให้ loop ทำ

print "Thank you for using my program"


แต่วิธีนี้ มีข้อเสียอยู่ คือ เมื่อเราใส่ q เพื่อออกจาก loop นอกจากโปรแกรมจะพิมพ์ขอบคุณที่ใช้งานแล้ว ยังพิมพ์โวยวายออกมาก่อนว่าให้เราใส่ค่า r/t/c/z เสียอีก ที่เป็นอย่างนี้ เพราะว่าตัว q ไม่อยู่ในเงื่อนไขของ if และ elif ที่เรามีอยู่ โปรแกรมจึงทำงานในส่วนที่เป็น else ที่พิมพ์ค่าเตือนผู้ใช้ออกมา


ทางแก้คือเพิ่ม elif ตัว q ลงไป ดังนี้


choice = ""

while choice.lower() != "q":

____ทำสิ่งที่เราต้องการให้ loop ทำ

____...

____elif choice.lower() == "q":

________pass

____else:

________print ....

print "Thank you for using my program"


อันนี้ จะเห็นว่าเราใช้ keyword ตัวหนึ่งชื่อ pass เพื่อบอก python ว่าไม่ต้องทำอะไร ผ่านไปเฉยๆ


แต่วิธีนี้ก็ยังมีข้อเสียอยู่ เพราะเราเห็น code ที่ซ้ำซ้อนกันชัดเจน ก็คือ condition ที่เปรียบเทียบค่า choice สองที่ ตรง while condition และ if condition ดูไม่ดีเลย แถมยังต้องกำหนดค่า choice ก่อนเข้า while loop อีก


อันที่จริง เราควรจะกำหนดให้วนลูปไปเรื่อยๆ เมื่อผู้ใช้กด q จึงค่อยหลุดออกจากลูป (break from the loop) ซึ่งเราสามารถทำได้ด้วยการใช้ keyword break ดังนั้น pseudocode ที่ได้จึงเป็น


while True:

____ทำสิ่งที่เราต้องการให้ loop ทำ

____...

____elif choice.lower() == "q":

________break

____else:

________print ....

print "Thank you for using my program"


เพียงเท่านี้ เราก็ได้โปรแกรมที่ทำงานตามที่ต้องการ ข้อสังเกตคือตรง condition ของ while เราต้องการให้เป็นจริงเสมอ ซึ่งเราสามารถทำได้ด้วยการใช้ keyword True โดยไม่จำเป็นต้องสร้างค่าตัวแปรใดให้วุ่นวาย


แบบฝึกหัด


ปรับโปรแกรมให้ใช้ condition True และใช้ break แล้วลองเปรียบเทียบกับโปรแกรมที่เคยเขียนไว้ก่อนหน้านี้ (ส่วนใครที่เขียนแบบนี้แล้วตั้งแต่แรก ก็ขอแสดงความยินดีด้วยครับ คุณมาได้ถูกทางแล้ว)


List


เราเคยพูดถึงตัวแปรที่เก็บค่าต่างๆ เช่น ตัวเลขจำนวนเต็ม เลขทศนิยม และตัวอักษรกันมาแล้ว


ในกรณีของตัวแปรที่เก็บตัวอักษร (string) เราสามารถมองได้ในอีกรูปแบบหนึ่งว่าประโยคที่อยู่ในตัวแปรนั้น ประกอบด้วยตัวอักษรต่างๆ มาเรียงตัวกัน อย่างเช่น


test = "hello"


ตัวแปร test เก็บค่าลำดับของตัวอักษรไว้ 5 ตัวคือ h, e, l, l และ o


ตัวแปรที่มีลักษณะแบบลิสต์นี้ เราสามารถอ่านตัวอักษรที่อยู่ในลิสต์ได้ทีละตัว ด้วยการกำหนดค่า index โดยในโปรแกรม python ค่า index จะเริ่มนับจากเลข 0 ตัวแปร test มี 5 ตัวอักษร index จึงมีได้ตั้งแต่เลข 0 ถึง 4 โดยมีรูปแบบการใช้ index ดังนี้


ชื่อตัวแปร ตามด้วยเลข index ที่อยู่ในเครื่องหมายวงเล็บใหญ่


เพราะฉะนั้น ถ้าเราใช้คำสั่ง


>>> test = “hello”

>>> print test[0]

h

>>> print test[1]

e

>>> print test[4]

o


เราจะทราบได้อย่างไรว่า ลิสต์นั้นเก็บค่าไว้ทั้งหมดกี่ค่า คำตอบคือเราสามารถทำได้ ด้วยการใช้ฟังก์ชัน len()


>>> print len(test)

5

>>> test1 = “goodbye”

>>> print len(test1)

7


มาลองดูว่าเราจะใช้ list ให้เป็นประโยชน์กันได้อย่างไร สมมติว่าเรามี DNA sequence อยู่หนึ่งเส้น และเราต้องการนับจำนวน G และ C ว่ามีเท่าไหร่ คิดเป็นกี่เปอร์เซ็นต์ เราสามารถเขียนได้ดังนี้


1 dna = rawinput("Please enter DNA seq")

2 num_g = 0

3 num_c = 0

4 for base in dna:

5 if base == "G":

6 num_g += 1

7 if base == "C":

8 num_c += 1

9 print "number of G =", num_g

10 print "number of C =", num_c

11 print "total number of G+C =", num_g + num_c

12 print "percentage of G+C =" (num_g + num_c) * 100 / len(dna)


บรรทัดแรกเรารับสาย DNA จากผู้ใช้

บรรทัดที่ 2-3 เป็นการกำหนดตัวแปรเพื่อเก็บค่าที่เราต้องการนับ


บรรทัดที่ 4 เป็นของใหม่สำหรับครั้งนี้ครับ เป็นการวนลูปด้วยคำสั่ง for คำสั่ง for จะมีรูปแบบดังนี้ครับ คือ


for ตัวแปรที่จะใช้ในลูป in ตัวแปรลิสต์:


หลังจากนั้น ทุกอย่างที่อยู่ในย่อหน้าภายใต้คำสั่ง for จะสามารถนำตัวแปรที่จะใช้ในลูปไปใช้ได้


ครั้งแรกที่เข้าลูป ตัวอักษรตัวแรกในตัวแปร dna จะเข้าไปอยู่ในตัวแปร base สมมติว่าเราให้ข้อมูล AGTC

ตอนที่โปรแกรมถาม เข้าลูปครั้งแรก ตัวแปร base จะมีค่าเป็น A ซึ่งจะไม่ตรงตามเงื่อนไขของบรรทัดที่ 5 โปรแกรมจะกระโดดไปทำงานที่บรรทัดที่ 7 ซึ่งก็ไม่ตรงเงื่อนไขอีก จึงกระโดดไปทำงานถัดไป แต่ว่าไม่มีประโยคใดเหลืออีกแล้วในย่อหน้านี้ โปรแกรมจึงกลับไปที่บรรทัดที่ 4 ใหม่ของลูป for ตัวอักษรตัวถัดไปก็จะเข้าไปอยู่ในตัวแปร base ในกรณีจะเป็น G มาที่บรรทัดที่ 5 ก็จะพบว่าเงื่อนไขเป็นจริง โปรแกรมไปทำงานต่อที่บรรทัดที่ 6 เพิ่มค่าในตัวแปร num_g ให้กลายเป็น 1 แล้วก็ไปทำงานต่อที่บรรทัดที่ 7 ซึ่งไม่จริง จึงข้ามบรรทัดที่ 8 ไป แล้วกลับไปที่บรรทัดที่ 4 ใหม่ ได้ค่า T อยู่ในตัวแปร base แล้วทำงานวนเช่นนี้ไปเรื่อยๆ จนกระทั่งตัวแปร base มีค่า C เมื่อเสร็จสิ้นการทำงานในรอบนี้แล้ว เมื่อโปรแกรมกระโดดกลับไปทำงานที่บรรทัดที่ 4 พบว่าไม่มีค่าอะไรที่สามารถใส่ให้ตัวแปร base อีกแล้ว ก็จะเป็นการจบลูป โปรแกรมจะกระโดดไปทำงานที่บรรทัดที่ 9


บรรทัดที่ 9-12 เป็นการพิมพ์ผลลัพธ์


แบบฝึกหัด


เขียนโปรแกรมเพื่อตรวจสอบดูว่า DNA sequence ที่ผู้ใช้ใส่เข้ามานั้น valid หรือไม่ ซึ่งจะ valid ได้นั้น คือมี base ได้แค่ A, T, G , C หรือ N โดยที่ตัวอักษรจะเป็นตัวเล็กหรือใหญ่ก็ได้

Talk to...

คุยกับนักวิจัยกุ้งและงาน EST database

ศิริขวัญ พลประทีป



สวัสดีปีใหม่ไทยชาว THAI BIOINFORMATICS ทุกท่านย้อนหลังนะคะ สำหรับเทศกาลสงกรานต์ที่ผ่านมาซึ่งเป็นวันหยุดยาว ปุ้มคิดว่าหลายๆ ท่านคงได้พักผ่อนกันอย่าง เต็มที่นะคะ ก่อนที่จะกลับมาลุยงานกันอีกรอบ Talk to… ฉบับเดือนพฤษภาคมนี้ ยังคงอยู่กับปุ้มค่ะ และปุ้มขอเป็นกำลังใจให้พี่ก้อยให้ปฏิบัติภารกิจให้สำเร็จลุล่วงไปได้ด้วยดีนะคะ เดือนนี้ปุ้มจะพาทุกท่านมา Talk to… กับ ดร. สิริพร พงษ์สมบูรณ์ หรือ ดร. เล็ก ค่ะ


ดร. เล็ก เป็น นักวิจัย สวทช. แต่สังกัดอยู่ที่ศูนย์เชี่ยวชาญเฉพาะทางด้านอณูชีววิทยาและจีโนมกุ้ง ภาควิชาชีวเคมี คณะวิทยาศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย จากชื่อศูนย์ฯ ท่านผู้อ่านที่ติดตาม Talk to... ฉบับที่แล้วอาจจะรู้สึกคุ้นๆ กันบ้างแล้วใช่ไหมค่ะ สำหรับ Talk to… ฉบับนี้เรายังคงอยู่กับเรื่องกุ้งค่ะ ปุ้มจะพาท่านผู้อ่านมาทำความรู้จักกับข้อมูลทาง bioinformatics อีกรูปแบบหนึ่งซึ่งอยู่ในรูป EST database ของกุ้งกันค่ะ โดยวันนี้ ดร. เล็ก จะเป็นผู้มาเฉลยถึงความเป็นมาให้พวกเราได้ฟังกันค่ะ


พี่เล็กทำงานวิจัยทางด้านกุ้งมานานรึยังคะ


ทำงานวิจัยครั้งแรกก็ทำงานวิจัยกุ้งเลย ถ้านับเวลาตั้งแต่ทำงานในตำแหน่งนักวิจัย ทำมานานประมาณ 7 ปีได้แล้วค่ะ


งานวิจัยทางด้านไหนที่พี่เล็กสนใจค่ะ


สนใจงานที่สามารถนำผลจากการวิจัยไปใช้ได้จริง งานวิจัยที่ทำเป็นงานที่ใช้เทคนิคทางด้าน molecular ดังนั้นก็สนใจที่จะค้นหา และศึกษายีนกุ้งที่มีความสำคัญกับคุณลักษณะที่ดีของกุ้ง ตอนนี้ก็เน้นไปที่ยีนที่ช่วยให้กุ้งมีสุขภาพดี ทนต่อการติดโรคต่างๆ โดยเฉพาะเชื้อไวรัสที่ก่อโรคในกุ้ง นอกจากนี้ยังสนใจยีนที่เกี่ยวข้องกับการปรับตัวในน้ำความเค็มต่ำและยีนที่เกี่ยวข้องกับการโตของกุ้ง นอกจากการค้นหา และศึกษายีนกุ้งเหล่านี้ ยังสนใจที่จะพัฒนาดีเอ็นเอเครื่องหมายเพื่อใช้ในการบ่งบอกคุณลักษณะที่ดีของกุ้ง โดยเน้นที่จะพัฒนาดีเอ็นเอเครื่องหมาย (DNA marker) จากยีนที่สำคัญดังที่กล่าวมา


ในการทำวิจัยของพี่เล็ก มีความเกี่ยวเนื่องกับงานด้าน bioinformatics มากน้อยแค่ไหนคะ


ต้องใช้ bioinformatics พอสมควร โดยส่วนใหญ่แล้วงานด้าน bioinformatics จะมีคุณสุรีรัตน์ที่อยู่ที่หน่วยฯช่วยทำ เริ่มตั้งแต่ที่หน่วยฯจะค้นหายีนของกุ้งกุลาดำ โดยใช้เทคนิค EST เราได้หาลำดับนิวคลีโอไทด์ของยีนประมาณ 40,000 ยีน ซึ่งมีปริมาณมากพอควร ต้องใช้โปรแกรมคอมพิวเตอร์มาจักการกับลำดับนิวคลีโอไทด์ของยีนเหล่านี้ เช่น เขียนโปรแกรมคอมพิวเตอร์เพื่อตัดลำดับนิวคลีโอไทด์ส่วน vector ของโคลนออกก่อน แล้วนำลำดับนิวคลีโอไทด์ที่ผ่านการตัดส่วนของ vector ออกไปแล้ว มาเปรียบเทียบความเหมือนกับยีนในฐานข้อมูล “Genbank” นอกจากนี้ ยังมีการจัดการอื่นๆ เช่น การจัด contig ของยีน การ upload ข้อมูลของยีนขึ้นไปอยู่บนเว็บไซต์เพื่อความสะดวกในการใช้งานของสมาชิกที่ทำงานวิจัยร่วมกัน และสำหรับบุคคลภายนอกได้ทราบความก้าวหน้าในการดำเนินงานวิจัย หลังจากได้ยีนกุ้งแล้ว โครงการถัดมาที่ทำคือ นำยีนเหล่านี้มาสร้าง cDNA microarray slide เพื่อใช้ในการตรวจหายีนที่แสดงออกเปลี่ยนแปลงในสภาวะที่เราสนใจ ทางหน่วยฯได้นำ cDNA microarray slide ตรวจหายีนที่แสดงออกเปลี่ยนแปลงเมื่อกุ้งติดเชื้อก่อโรค และเมื่อกุ้งได้รับความเครียดจากระดับความเค็มน้ำ ตรงนี้ตอนวิเคราะห์ข้อมูลที่ได้จากการ ใช้ cDNA microarray slide ในส่วนนี้เราจะต้องใช้โปรแกรมคอมพิวเตอร์มาวิเคราะห์ข้อมูล เพื่อให้ข้อมูลมีค่าน่าเชื่อถือ ที่หน่วยฯได้ใช้โปรแกรมของ TIGER เพื่อทำการวิเคราะห์ข้อมูล microarray โปรแกรมคอมพิวเตอร์ได้นำมาใช้ในการแสดงผลของข้อมูลด้วย เช่น การจัด cluster ของยีน


อยากให้พี่เล็กเล่าให้พวกเราฟังเกี่ยวกับความเป็นมาของโครงการ EST ของกุ้งกุลาดำ ค่ะ


เริ่มตั้งแต่ที่หน่วยฯโดยการนำของ ศ. ดร. อัญชลี ทัศนาขจร สนใจที่จะค้นหายีนของกุ้งกุลาดำ โดยได้ทำโครงการที่เรียกกันสั้นๆ ว่า โครงการจีโนมกุ้ง โครงการนี้เราค้นหายีนกุ้งจากอวัยวะต่างของกุ้ง เช่น เม็ดเลือด ต่อมน้ำเหลือง ก้านตา เหงือก ตับ ภายใต้สภาวะปกติ และสภาวะความเครียดต่างๆ เช่น ติดโรค ความร้อนสูง ความเค็มน้ำต่ำ งานนี้ไม่ได้ทำที่หน่วยฯที่เดียว ทางหน่วยได้ร่วมมือกับหน่วยงานอื่นๆ ด้วย ถ้าผู้อ่านสนใจก็สามารถติดตามข้อมูลได้ที่ http://pmonodon.biotec.ot.th ยีนที่ได้จะเป็นข้อมูลที่สำคัญให้เราเดินหน้าทำงานวิจัย เพื่อพัฒนาการเลี้ยงกุ้งของเราให้ดีขึ้น


ข้อมูลที่อยู่ใน EST database มีมากน้อยแค่ไหนคะ


มีอยู่ประมาณ 40,000 EST ค่ะ เป็น EST ที่แตกต่างกันคืออยู่ใน contiq ที่ต่างกันประมาณ 10,000 EST


พี่เล็กคิดว่าการทำ EST database มีประโยชน์ต่อการทำวิจัยกุ้งมากน้อยแค่ไหนคะ


อย่างที่กล่าวมาแล้ว คือเราจะได้ยีนกุ้งทั้งจากสภาวะปกติ และสภาวะที่เราสนใจเช่นกุ้งติดโรค ยีนที่ได้จะเป็นข้อมูลที่สำคัญให้เราเดินหน้าทำงานวิจัย เพื่อพัฒนาการเลี้ยงกุ้งของเราให้ดีขึ้น ยีนที่ได้มีจำนวนมากระดับหนึ่ง เนื่องจากเทคนิค EST ง่ายและเร็ว ข้อมูลยีนที่ได้มีจำนวนมากสามารถนำมาใช้ศึกษา microarray ได้ ดูการแสดงออกของยีนเป็นจำนวนมากในหนึ่งการทดลอง ให้ผลการทดลองที่ละเอียดและครอบคลุมกว่าการศึกษาทีละยีนสองยีน


ปัจจุบันเรามีการจัดการอย่างไรบ้างเพื่อให้ข้อมูลใน EST database มีประโยชน์สูงสุดสำหรับการทำวิจัยคะ


ทางฝ่ายคอมพิวเตอร์ได้รวบรวมข้อมูลยีนบรรจุไว้บนเว็บไซต์ การใช้งานผ่านเว็บก็จะสามารถสืบค้นยีนที่เราจะหาได้ เช่น ค้นหาชื่อโคลนหรือชื่อยีน จากการเปรียบเทียบกับ Genbank ชื่อ contiq ใน EST database ประกอบด้วยลำดับนิวคลีโอไทด์ โครมาโตรแกรมของลำดับนิวคลีโอไทด์ ผลการเปรียบเทียบความเหมือนกับฐานข้อมูล Genbank การจัด contig ของยีนเหล่านี้ การบ่งบอกหน้าที่ยีนโดยการเปรียบเทียบกับ gene ontology นอกจากนี้เราสามารถนำลำดับนิวคลีโอไทด์ที่เราสนใจไปเปรียบเทียบความเหมือนกับข้อมูลยีนที่มีใน EST database ของเราได้เช่นกัน


อยากให้พี่เล็กแนะนำ สำหรับผู้ที่ต้องการทราบข้อมูลเกี่ยวกับ EST database ของกุ้งกุลาดำ สามารถสืบค้นด้วยวิธีใดได้บ้างคะ


ท่านที่สนใจสามารถเข้ามาเยี่ยมชมได้ที่ http://pmonodon.biotec.or.th


หลังจากการสืบค้นข้อมูล ใน EST database พี่ยังได้มีการวิเคราะห์ข้อมูลที่ได้ด้วยโปรแกรมคอมพิวเตอร์อื่นทาง bioinformatics อีกหรือเปล่าคะ


การใช้โปรแกรมอื่นทาง bioinformatics ขึ้นอยู่ว่าเราจะเอาข้อมูลที่ได้ไปใช้งานอย่างไร เช่น ถ้าต้องการรู้ลำดับนิวคลีโอไทด์ของยีนที่สนใน เมื่อเราได้ลำดับนิวคลีโอไทด์แล้ว เราดูผลการ blast ประกอบว่ายีนที่เราสนใจมีความเป็นไปได้ที่จะเหมือนยีนที่เราไป blast มากน้อยเพียงใด amino acid sequence เหมือนกับโปรตีนอะไรใน Genbank มีการกระจายตัวตลอดส่วนที่เป็นยีนหรือไม่ หรือ ถ้าเราจะหา signal peptide หรือหา domain เราก็ใช้โปรแกรมซึ่งเป็นโปรแกรมสำเร็จรูปพวก freeware ที่มีอยู่ตามเว็บไซต์ต่างๆ นอกจากว่าเราจะวิเคราะห์ลำดับนิวคลีโอไทด์ของยีนที่สนในเป็นจำนวนมาก การเขียนโปรแกรมก็อาจต้องนำมาใช้ ที่หน่วยฯเคยใช้โปรแกรมในการหาลำดับนิวคลีโอไทด์แบบ microsatellite จาก EST ทั้งหมดในฐานข้อมูลยีนเพื่อสร้าง microsatellite marker


เป็นข้อมูลที่น่าสนใจมากเลยนะคะ สำหรับ EST database ปุ้มและทีมงาน Talk to... ต้องขอขอบคุณพี่เล็กหรือ ดร. สิริพร พงษ์สมบูรณ์ เป็นอย่างมากนะคะ ที่สละเวลามาช่วยให้ความกระจ่างเกี่ยวกับ EST database ของกุ้งมากกับพวกเรา และสำหรับท่านผู้อ่านที่สนใจที่จะศึกษาข้อมูลเพิ่มเติม สามารถเข้าไปเยี่ยมชมได้ที่เว็บไซต์ http://pmonodon.biotec.or.th นะคะ