Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 94 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
94
Dung lượng
1,69 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC NÔNG LÂM TP HỒ CHÍ MINH BỘ MƠN CƠNG NGHỆ SINH HỌC ************ KHÓA LUẬN TỐT NGHIỆP K H A I T H Á C DỮ L I Ệ U E S T (E x p r es s ed Se q ue n ce T a g s ) N H Ằ M P H Á T HI Ệ N M I C R O S AT E L L I T E P H ỤC V Ụ C H O C Ô N G T Á C P H N T Í C H V À S O S Á N H Đ Ặ C ĐI Ể M D I T R U YỀ N C ỦA ON G M ẬT Ngành học: CƠNG NGHỆ SINH HỌC Niên khóa: 2002-2006 Sinh viên thực hiện: TRẦN NGỌC VIỆT Thành phố Hồ Chí Minh Tháng 8/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC NƠNG LÂM THÀNH PHỐ HỒ CHÍ MINH BỘ MÔN CÔNG NGHỆ SINH HỌC ************ K H A I T H Á C DỮ L I Ệ U E S T (E x p r es s ed Se q ue n ce T a g s ) N H Ằ M P H Á T HI Ệ N M I C R O S AT E L L I T E P H ỤC V Ụ C H O C Ô N G T Á C P H N T Í C H V À S O S Á N H Đ Ặ C ĐI Ể M D I T R U YỀ N C ỦA ON G M ẬT Giáo viên hƣớng dẫn: Sinh viên thực hiện: TS BÙI MINH TRÍ TRẦN NGỌC VIỆT Thành phố Hồ Chí Minh Tháng 8/2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM TẠ Cảm ơn công lao nuôi dƣỡng, dạy dỗ cha mẹ Xin chân thành cảm tạ Ban Giám hiệu Trƣờng Đại học Nông Lâm Thành Phố Hồ Chí Minh Ban chủ nhiệm Bộ Môn Công nghệ Sinh Học tất quý thầy cô truyền đạt kiến thức cho suốt trình học trƣờng Chân thành cảm ơn TS Bùi Minh Trí tận tình hƣớng dẫn, giúp đỡ suốt thời gian thực đề tài tốt nghiệp Xin cảm ơn CN Lƣu Phúc Lợi giúp đỡ, hỗ trợ tài liệu chuyên môn Cảm ơn anh chị phịng Sinh Hóa tạo điều kiện tốt cho tiến hành thực công việc Trung Tâm Xin cảm ơn bạn bè thân yêu lớp DH02SH chia sẻ vui buồn thời gian học nhƣ hết lòng hỗ trợ, giúp đỡ thời gian thực đề tài Tp Hồ Chí Minh tháng 08 năm 2006 Sinh viên thực Trần Ngọc Việt iii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÓM TẮT TRẦN NGỌC VIỆT, Đại Học Nơng Lâm Thành phố Hồ Chí Minh Tháng 8/2006 “KHAI THÁC DỮ LIỆU EST (Expressed Sequence Tags) NHẰM PHÁT HIỆN MICROSATELLITE PHỤC VỤ CHO CƠNG TÁC PHÂN TÍCH VÀ SO SÁNH ĐẶC ĐIỂM DI TRUYỀN CỦA ONG MẬT” Giảng viên hƣớng dẫn: TS BÙI MINH TRÍ Thời gian nghiên cứu: từ tháng đến tháng năm 2006 Địa điểm nghiên cứu: Trung tâm Phân tích Thí Nghiệm - trƣờng Đại học Nơng Lâm TP Hồ Chí Minh Ở Việt Nam, nghề ni ong mật hình thành lâu sản phẩm ong mật hầu hết đƣợc xuất Hiệu kinh tế mang từ nghề nuôi cao Tuy nhiên, việc nuôi ong tập trung chủ yếu số vùng định nhƣ Tây Nguyên (Đak Lak), miền Đông Nam Bộ, chƣa tận dụng đƣợc hết nguồn tài nguyên có sẵn Sự hạn chế chƣa xác định đƣợc loài ong cho mật phù hợp với vùng địa lý cụ thể Việt Nam Chính chúng tơi tiến hành nghiên cứu việc thiết lập nên primer chạy phản ứng PCR dựa vào thị microsatellite loài ong cho mật để làm sở cho bƣớc nghiên cứu định danh xác định đặc điểm di truyền ong mật phục vụ cho việc mở rộng nghề nuôi ong mật vùng Việt Nam Những kết đạt đƣợc: ۰ Chúng chọn đƣợc nguồn liệu (EST) tốt cho nghiên cứu ۰ Thiết lập đƣợc phƣơng pháp để tìm kiếm microsatellite từ nguồn EST ۰ Thiết kế đƣợc cặp primer dựa vào vùng bảo tồn hai bên loại microsatellite tìm đƣợc Kết luận: Sự thành công việc thiết kế primer làm sở cho bƣớc nghiên cứu xa đặc điểm di truyền loài ong cho mật Thành công mở triển vọng cho việc ứng dụng lĩnh vực Bioinformatic hỗ trợ cho nghiên cứu thực nghiệm, làm giảm đáng kể chi phí đẩy nhanh tốc độ nghiên cứu thực nghiệm Trung Tâm iv LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC CHƢƠNG TRANG Trang tựa Lời cảm tạ …………………………………………………………………………… iii Tóm tắt ………………………………… ………….……………………………… iv Mục lục ………………………………………………………………………… …….v Danh sách chữ viết tắt viii Danh sách bảng .ix Danh sách hình x MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Mục đích yêu cầu nghiên cứu 1.2.1 Mục đích nghiên cứu 1.2.2 Yêu cầu nghiên cứu 1.3 Giới hạn .2 TỔNG QUAN TÀI LIỆU 2.1 Giới thiệu chung ong mật .3 2.1.1 Cấu tạo thể ong mật 2.1.1.1 Hình thái thể 2.1.1.2 Các quan bên 2.1.2 Tổ chức đàn ong 2.1.3 Yêu cầu dinh dƣỡng ong .7 2.1.4 Các sản phẩm ong .7 2.1.4.1 Mật ong .7 2.1.4.2 Phấn hoa 2.1.4.3 Sữa ong chúa 2.1.4.4 Sáp ong 2.2 Nguồn gốc EST (Expressed Sequence Tags) 2.2.1 EST gì? 2.2.2 Phƣơng pháp tạo EST v LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.3 Microsatellite gì? 10 2.3.1 Các dạng microsatellite 10 2.3.2 Cơ chế hình thành microsatellite .11 2.3.3 Ứng dụng microsatellite 12 2.3.4 Marker phân tử (molecular markers) .13 2.3.5 Vì chọn marker microsatellite? 14 2.4 Ngơn ngữ lập trình Perl (Practical Extraction and Reporting Language) .15 2.4.1 Nguồn gốc Perl 15 2.4.2 Cấu trúc Perl 16 2.4.2.1 Dữ liệu vô hƣớng (scala data) 16 2.4.2.2 Cấu trúc điều khiển .16 2.4.2.3 Các List, Array Hash .19 2.4.2.4 Dịng chƣơng trình thƣờng trình 19 2.4.2.5 Package Module 20 2.5 Giới thiệu mồi (primer) 21 2.5.1 Khái quát mồi 21 2.5.2 Đặc điểm mồi 21 2.5.2.1 Tính chuyên biệt 21 2.5.2.2 Tính ổn định 22 2.5.2.3 Tính tƣơng thích 23 2.6 Tin sinh học 24 2.6.1 Khái niệm tin sinh học 24 2.6.2 Các lĩnh vực nghiên cứu tin sinh học 24 2.6.2.1 Genomics - Hệ gen học 24 2.6.2.2 Sinh học tiến hóa 26 2.6.2.3 Phân tích chức gen .26 PHƢƠNG TIỆN VÀ PHƢƠNG PHÁP NGHIÊN CỨU 29 3.1 Thời gian địa điểm tiến hành nghiên cứu 29 3.1.1 Thời gian nghiên cứu .29 3.1.2 Địa điểm nghiên cứu .29 3.2 Vật liệu công cụ nghiên cứu .29 3.2.1 Vật liệu nghiên cứu 29 vi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2.2 Công cụ nghiên cứu 29 3.3 Phƣơng pháp tiến hành nghiên cứu 30 3.3.1 Quy trình nghiên cứu tổng quát .30 3.3.2 Phƣơng pháp nghiên cứu 31 3.3.2.1 Sơ đồ bƣớc tiến hành nghiên cứu .31 3.3.2.2 Các bƣớc tiến hành nghiên cứu chi tiết 32 KẾT QUẢ VÀ THẢO LUẬN 42 4.1 Kết tìm kiếm tải trình tự EST máy tính cá nhân .42 4.1.1 Kết tìm kiếm EST .42 4.1.2 Kết tải trình tự EST máy tính cá nhân 43 4.2 Kết tìm phân loại microsatellite 44 4.2.1 Kết tìm microsatellite qua xử lý EST_TRIMMER 44 4.2.2 Kết xử lý qua MISA 45 4.3 Kết thiết kế primer 49 4.3.1 Kết thiết kế primer qua Script Perl 49 4.3.2 Kết so sánh chọn lọc primer đƣợc thiết kế 56 KẾT LUẬN VÀ ĐỀ NGHỊ 59 5.1 Kết luận 59 5.1.1 Sơ đồ phƣơng pháp thực 59 5.1.2 Kết đạt đƣợc .60 5.2 Đề nghị 60 TÀI LIỆU THAM KHẢO 61 PHỤ LỤC 64 vii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH SÁCH CÁC CHỮ VIẾT TẮT AFLP Amplified Fragment Length Polymorphism ALP Amplified Length Polymorphism AP-PCR Arbitrary Primer –Polymerase Chain Reaction BLAST Basic Local Alignment Search Tools CEB Computional Evolution Biology DAF DNA Amplification Fringerprinting DDBJ DNA Data Bank of Japan EMBL the European Molecular Biology Laborary EST Expressed Sequence Tags NCBI the National Center for Biotechnology Information MPSS Massively Parllel Signatur Sequencing PCR Polymerase Chain Reaction PDA Primer Design Assitant PERL Practical Extraction and Reporting Language RAPD Radom Aplified Polymorphic DNA RFLP Restriction Fragment Length Polymorphism SNP Single Nucleotide Polymorphism SSCP Single Strand Conformation Polymorphism SSR Simple Sequence Repeats STS Sequence Tagged Sites viii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH SÁCH CÁC BẢNG BẢNG TRANG Bảng 2.1 Tên gọi số marker DNA 13 Bảng 4.1 Kết xử lý qua MISA 47 Bảng 4.2 Thành phần dạng microsatellite 47 Bảng 4.3 Tỷ lệ phần trăm dạng microsatellite 48 Bảng 4.4 Phần trăm loại microsatellite chiếm tỷ lệ cao 48 Bảng 4.5 Kết primer dạng dinucleotide SSR 54 Bảng 4.6 Kết primer dạng trinucleotide SSR 55 Bảng 4.7 Kết primer dạng tetranucleotide SSR .56 Bảng 4.8 Kết primer sau dạng dinucleotide SSR 57 Bảng 4.9 Kết Quả primer sau dạng tri/tetra-nucleotide SSR 57 Bảng 4.10 Trình bày loại SSR mã số truy cập EST 58 ix LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 2.1 Hình thái lồi ong cho mật .3 Hình 2.2 Thể ba phần ong .4 Hình 2.3 Hình thái phần đầu ong .4 Hình 2.4 Hình thái phần ngực ong Hình 2.5 Hình thái phần bụng ong Hình 2.6 Sơ đồ nguồn gốc EST Hình 2.7 Cách thức tạo nên EST 10 Hình 2.8 Cơ chế bắt chéo lỗi giảm phân 11 Hình 2.9 Cơ chế trƣợt lỗi trình mã 12 Hình 3.1 Trình bày qui trình nghiên cứu tổng quát .30 Hình 3.2 Các bƣớc tiến hành nghiên cứu 31 Hình 3.3 Giao diện trang NCBI với từ khóa honeybee 32 Hình 3.4 Cú pháp thực thi EST_TRIMMER 35 Hình 3.5 Cú pháp thực thi MISA 36 Hình 3.6 Giao diện Primer3 38 Hình 3.7 Giao diện PrimerQuest 40 Hình 3.8 Giao diện PDA .40 Hình 3.9 Giao diện DNAClub 41 Hình 4.1 Kết tìm thấy EST NCBI 42 Hình 4.2 Kết download với tùy chọn có sẵn NCBI .43 Hình 4.3 Kết thực thi tác vụ EST_TRIMMER 45 Hình 4.4 File chứa kết trình tự EST đƣợc chọn 45 Hình 4.5 File định dạng FASTA 45 Hình 4.6 Thể kết thực thi MISA 46 Hình 4.7 Kết file new_ids170404 49 Hình 4.8 Kết trình diễn ssrout170404 50 Hình 4.9 Kết trình diễn labdbout170404 50 Hình 4.10 Xuất kết thơng số thiết lập từ script 51 Hình 4.11 Trình bày primer đƣợc thiết kế 51 x LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 69 $count_class{$typ[$i]}++; #counts occurrence in each motif class if($max_repeats $space) { $count_seq++; my $motiflen = length ($motif{$order[$i]}); $ssrtype = "p".$motiflen; $ssrseq = "($motif{$order[$i]})$repeats{$order[$i]}"; $start = $start{$order[$i]}; $end = $end{$order[$i++]}; next}; my ($interssr); if (($start{$order[$i+1]} - $end{$order[$i]}) < 1) { $count_seq++; $ssr_in_compound++; $ssrtype = 'c*'; $ssrseq = "($motif{$order[$i]})$repeats{$order[$i]}($motif{$order[$i+1]})$repeats{$or der[$i+1]}*"; $start = $start{$order[$i]}; $end = $end{$order[$i+1]} } else { $count_seq++; $ssr_in_compound++; $interssr = lc substr($seq,$end{$order[$i]},($start{$order[$i+1]} - $end{$order[$i]}) - 1); $ssrtype = 'c'; $ssrseq = "($motif{$order[$i]})$repeats{$order[$i]}$interssr($motif{$order[$i+1]})$re peats{$order[$i+1]}"; $start = $start{$order[$i]}; $end = $end{$order[$i+1]}; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 70 #$space -= length $interssr }; while ($order[++$i + 1] and (($start{$order[$i+1]} - $end{$order[$i]}) 0) {print OUT "\nMaximal number of bases interrupting SSRs in a compound microsatellite: $amb\n"}; print OUT "\n\n\n"; #§§§ OCCURRENCE OF SSRs §§§# #small calculations my @ssr_containing_seqs = values %ssr_containing_seqs; my $ssr_containing_seqs = 0; for ($i = 0; $i < scalar (@ssr_containing_seqs); $i++) {$ssr_containing_seqs += $ssr_containing_seqs[$i]}; my @count_motifs = sort {length ($a) length ($b) || $a cmp $b } keys %count_motifs; my @count_class = sort { $a $b } keys %count_class; for ($i = 0; $i < scalar (@count_class); $i++) {$total += $count_class{$count_class[$i]}}; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 71 #§§§ Overview §§§# print OUT "RESULTS OF MICROSATELLITE SEARCH\n================================\n\n"; print OUT "Total number of sequences examined: $number_sequences\n"; print OUT "Total size of examined sequences (bp): $size_sequences\n"; print OUT "Total number of identified SSRs: print OUT "Number of $total\n"; SSR containing sequences: $ssr_containing_seqs\n"; print OUT "Number of sequences containing more than SSR: ",$ssr_containing_seqs - ($ssr_containing_seqs{1} || 0),"\n"; print OUT "Number of SSRs present in compound formation: $ssr_in_compound\n\n\n"; #§§§ Frequency of SSR classes §§§# print OUT "Distribution to different repeat type classes\n \n\n"; print OUT "Unit size\tNumber of SSRs\n"; my $total = undef; for ($i = 0; $i < scalar (@count_class); $i++) {print OUT "$count_class[$i]\t$count_class{$count_class[$i]}\n"}; print OUT "\n"; #§§§ Frequency of SSRs: per motif and number of repeats §§§# print OUT "Frequency of identified SSR motifs\n -\n\nRepeats"; for ($i = $min_repeats;$i {"total"} += $group[$j]- >{$k};$red_rev->{$k} += $group[$j]->{$k}} } }}; for ($i = $min_repeats; $i {$j}} else {print OUT "\t"} }; print OUT "\t",$red_rev[$i]->{"total"},"\n";}; Các script việc thực thi tác vụ thiết kế primer ● 1_ssr_repeat_finder: #!/usr/bin/perl -w LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 73 # tim kiem SSR EST, tach trinh tu SSR va trinh tu bao ton de phan tich xa hon # Input: sequence.txt # CheckedIDs.txt # Output: new_ids.txt # ssrout.txt # labdbout.txt ############################################### # thay doi nhung thong so thuc thi!!!!!!!! ############################################### $datename = '170404'; # ten thu muc phai o dang va cho tat ca cac file du lieu khac $runtype = 1; # = genbank fasta, = local (fasta header differences) ############################################## # khong thay doi bat ky dieu gi o phan ############################################## $seqcount = 0; $ssr_count = 0; @ssr_label = qw(a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah aj ak al am an ao ap aq ar as at au av aw ax ay az); # thiet lap vung bao ton o day $flank_length = 150; # i.e 150 bp # thiet lap chieu dai toi thieu SSR $min_pattern_length = 12; # 12 bp # mo file chua trinh tu input – dinh dang fasta ma so truy cap open (SEQFILE, " /$datename/sequence$datename.txt") || die "file not found: $!"; # mo file out put cho trinh tu ids open (IDFILE, ">> /$datename/new_ids$datename.txt") || die "couldn't create file"; # mo file output ket qua SSR open (SSROUTFILE, ">> /$datename/ssrout$datename.txt") || die "couldn't || die "couldn't create file"; #mo file output cho toan bo output dua vao labdb open (LABDBTXT, ">> /$datename/labdbout$datename.txt") create file"; # doc file da chua Ids truoc $CheckedIDs = `cat /$datename/CheckedIDs.txt`; # phan tich file trinh tu va tien trinh if ($runtype == 1) { while (defined ($line = )) { chomp $line; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 74 if ($line =~ /^>/) { if (defined ($Seq)) { #kiem tra genbank neu id co truoc if ($CheckedIDs !~ /$SeqHead[3]/) { &SSRSearch; print "new seq\n"; } else { print "old seq\n";} } $seqcount++; print $seqcount; $HeadLine = $line; undef $Seq; @SeqHead = split(/\|/,$HeadLine); print IDFILE "$SeqHead[3]\t$SeqHead[4]\n"; } else { $Seq = "$Seq" "$line"; if (defined ($Seq)) } } { # kiem tra genbank neu id co da co if ($CheckedIDs !~ /$SeqHead[3]/) { &SSRSearch; print "new seq\n"; } else { print "old seq\n";} }} elsif ($runtype == 2) { while (defined ($line = )) { chomp ($line); @LineIn = split(/\t/, $line); $SeqHead[3] = $LineIn[0]; print $SeqHead[3]; $Seq = $LineIn[1]; if (defined ($Seq)) { &SSRSearch; } $seqcount++; print $seqcount; if ( ($seqcount%5) == ) { } else print "\n"; { print "\t"; } undef $Seq; @SeqHead = split(/\|/,$HeadLine) }} elsif ($runtype == 3) { while (defined ($line = )) { chomp ($line); if ($line =~ /^>/) { if (defined ($Seq)) { LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 75 &SSRSearch; } $seqcount++; print $seqcount; if ( ($seqcount%5) == ) { print "\n"; } else { print "\t";} undef $Seq; $HeadLine = $line; @templine1 = split(/>/,$HeadLine); @templine2 = split(/\./, $templine1[1]); $SeqHead[3] = $templine2[0]."_".$templine2[3]; print IDFILE "$SeqHead[3]\n"; } else { $Seq = "$Seq" "$line";} } if (defined ($Seq)) { &SSRSearch; }} close (SEQFILE); close (IDFILE); close (SSROUTFILE); close (LABDBTXT); print "Number of sequences in input file = $seqcount \n"; print "Number of Repeats found = $ssr_count \n"; exit 0; ############################################# # thuongtrinhcon sub SSRSearch() {print "*"; $suffix = -1; while ( $Seq =~ /(([ATGC]{2,})\2{3,})/gi ) { print "+"; $fullmatch = $1; $minmatch = $2; # kiem tra tuong hop toi thieu cua SSR: di-nt repeats, tri-nt repeats, tetra-nt # kiem tra chieu dai SSR lon hon tong chieu dai toi thieu dang tuong hop # loai bo duoi poly - AAAAAAA, TTTTTTTT, if ( (( $length_sub = length($fullmatch)) >= $min_pattern_length ) && !( $fullmatch =~ /([ATGC])\1{8,}/ ) ) { print "-"; $ssr_count++; $suffix++; $Accession = "$SeqHead[3]" "$ssr_label[$suffix]"; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 76 print SSROUTFILE "$Accession\t$fullmatch\t$minmatch\t"; print LABDBTXT "$SeqHead[3]\t$Accession\t$fullmatch\t$minmatch\t"; $pos2 = index($Seq,$fullmatch); $pos3 = $pos2 + $length_sub; if ($pos2 < $flank_length) { $pos1 = 0; } else { $pos1 = $pos2 - $flank_length; } if ( ( ( $max = length($Seq)) - $pos3 ) < $flank_length ) { $pos4 = $max; } else { $pos4 = $pos3 + $flank_length;} $seqleft = substr($Seq,$pos1,$pos2-$pos1); $seqcenter = substr($Seq,$pos2,$pos3-$pos2); $seqright = substr($Seq,$pos3,$pos4-$pos3); print SSROUTFILE $seqleft, "[", $seqcenter,"]",$seqright,"\n"; print LABDBTXT $pos2,",",$length_sub,"\t",$seqleft, "[", $seqcenter,"]",$seqright,"\n"; } } print "\n";} ● 2_ssr_primer_designer #!/usr/bin/perl -w # thiet ke primer khuech dai doan dich SSR # Input: ssrout.txt # Output: raw_primer3.out # primer_results.txt ############################################ # thay doi nhung thong so chay!!!!!!!! ############################################ $datename = '170404'; ten thu muc la dang so va nhu the voi cac file khac $primer3app = 'D:\\170404\\primer3'; # duong dan den cau lenh primer3 ############################################# #khong thay doi nhung nhung gi duoi day ############################################# # mo file output ssr results open (SSRINFILE, " /$datename/ssrout$datename.txt") || die "couldn't open file"; open (RAWPRIMER, "> /$datename/raw_primer3$datename.out") || die "couldn't open file: $!"; open (PRIMEROUT, "> /$datename/primer_results$datename.txt") || die "couldn't open file: $!"; $counter = 0; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 77 while (defined($line = )) { chomp ($line); @columns = split(/\t/,$line); @seq = split(/\[|\]/,$columns[3]); $length_left = length($seq[0]); $length_mask = length($seq[1]); $length_right = length($seq[2]); $t1 = $length_left+1; $t2 = $length_mask; open (PRIMERIN, "> /$datename/primerin.txt") || die "couldn't open file: $!"; print PRIMERIN "PRIMER_SEQUENCE_ID=",$columns[1],"\n"; print PRIMERIN "SEQUENCE=",$seq[0],$seq[1],$seq[2],"\n"; print PRIMERIN "TARGET=", $t1, ",", $t2, "\n"; print PRIMERIN "PRIMER_PRODUCT_SIZE_RANGE=80-160 80-240 80-300\n"; print PRIMERIN "PRIMER_OPT_SIZE=24\n"; print PRIMERIN "PRIMER_MIN_SIZE=20\n"; print PRIMERIN "PRIMER_MAX_SIZE=28\n"; print PRIMERIN "PRIMER_OPT_TM=63\n"; print PRIMERIN "PRIMER_MIN_TM=60\n"; print PRIMERIN "PRIMER_MAX_TM=65\n"; print PRIMERIN "PRIMER_MAX_DIFF_TM=1\n"; print PRIMERIN "=\n"; close (PRIMERIN); # $primer3 = ` /devel/primer/primer3_0_9_test/src/primer3_core < /$datename/primerin.txt`; $primer3 = `$primer3app < /$datename/primerin.txt`; print RAWPRIMER "######## $columns[1] #########\n"; print RAWPRIMER $primer3, "\n"; @prime_out = split(/\n/, $primer3); foreach $i (0 $#prime_out) { ($varname,$varvalue) = split(/=/, $prime_out[$i]); $primehash{$varname} = $varvalue; } if ($primehash{'PRIMER_LEFT_SEQUENCE'}) { $counter++; print PRIMEROUT "$columns[0]\t$columns[1]\t$columns[2]"; print PRIMEROUT "\t$seq[0]$seq[1]$seq[2]"; print PRIMEROUT "\t", $primehash{'PRIMER_LEFT_SEQUENCE'}; print PRIMEROUT "\t", $primehash{'PRIMER_LEFT_TM'}; print PRIMEROUT "\t", $primehash{'PRIMER_RIGHT_SEQUENCE'}; print PRIMEROUT "\t", $primehash{'PRIMER_RIGHT_TM'}; print PRIMEROUT "\t", $primehash{'PRIMER_PRODUCT_SIZE'}; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 78 print PRIMEROUT "\n"; } undef %primehash;} close (PRIMEROUT); close (SSRINFILE); close (RAWPRIMER); print "repeats primed: ", $counter, "\n"; exit 0; ● 3_ssr_primer_rep_check #!/usr/bin/perl -w # chon loc va loai bo nhung primer co phuc tap thap # Input: primer_results.txt # Output: rescreened.txt ############################################ # thay doi cac tho so chay!!!!!!!! ############################################ $datename = '170404'; # thu muc chinh phai o dang so va cac file khac ############################################ #khong thay doi nhung gi duoi day ############################################ open (OUTFILE, ">rescreened$datename.txt"); $good = 0; $bad = 0; $temp = `bin primer_results$datename.txt`; @temp1 = split(/\n/, $temp); foreach $i (0 $#temp1) { @temp2 = split(/\t/, $temp1[$i]); print $temp2[0],"\t",$temp2[1],"\t",$temp2[2],"\t",$temp2[3]; print "\t",$temp2[4],"\t",$temp2[5],"\t",$temp2[6],"\t",$temp2[7],"\t",$temp2[8], "\t"; if (( $temp2[4] =~ /(([ATGC]{2,3})\2{3,})/gi ) || ( $temp2[6] =~ /(([ATGC]{2,3})\2{3,})/gi )) { print "bad\n"; $bad++; } else { print "good\n"; $good++; print OUTFILE $temp2[0],"\t",$temp2[1],"\t",$temp2[2],"\t",$temp2[3],"\t"; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 79 print OUTFILE $temp2[4],"\t",$temp2[5],"\t",$temp2[6],"\t",$temp2[7],"\t",$temp2[8],"\n"; }} print "good: $good\nbad: $bad\n"; close (OUTFILE); exit(0); ● 4_ssr_primer_blast #!/usr/bin/perl -w # so sanh nhung trinh tu SSR da thiet ke primer # Input: rescreened.txt # Output: blastout.txt # fullblastoutput.txt ############################################# #thay doi nhung thong so thuc thi!!!!!!!! ############################################# $datename = '170404'; # ten thu muc va phan sau cung cua cac file $blastapp = 'D:\\170404\\blastall'; # duong dan den nhung cau lenh blastall $blastdbdir = 'D:\\170404\\db'; #duong dan den thu muc chua du lieu blast $blastdbname = 'AllPrimers.nt'; # ten nhung du lieu blast su dung $formatdbapp = 'D:\\170404\\formatdb'; #duong dan den cau lenh formatdb ############################################ # khong thay doi nhung gi ben duoi ########################################### open (PRIMERSIN, " /$datename/rescreened$datename.txt") || die; open (BLASTOUTFILE, "> /$datename/blastout$datename.txt") || die; open (FULLBLASTOUT, "> /$datename/fullblastoutput$datename.txt") || die; $counter = 0; $b0hit = 0; while (defined($line=)) { chomp ($line); @columns = split(/\t/,$line); $Accession = $columns[0]; $sequence = $columns[3]; $forward = $columns[4]; $reverse = $columns[6]; $counter++; print $counter, "\n"; print BLASTOUTFILE $Accession, "\t", $columns[1], "\t", $columns[2]; print BLASTOUTFILE "\t", $sequence, "\t", $forward, "\t", $columns[5], "\t"; print BLASTOUTFILE $reverse, "\t", $columns[7], "\t", $columns[8], "\t"; &BlastIt;} LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 80 print "Blasted Sequences= ",$counter,"\n"; print "Blast NON-Hits= ",$b0hit,"\n"; close (PRIMERSIN); close (BLASTOUTFILE); close (FULLBLASTOUT); exit 0; sub BlastIt() { open (TMPSEQFILE, "> /$datename/repeats/$Accession.fasta"); print TMPSEQFILE "> ",$Accession,"\n",$sequence,"\n"; close (TMPSEQFILE); # $blastout = `blastall -p blastn -d db/AllPrimers.nt -e 0.01 - i /$datename/repeats/$Accession.fasta`; $blastout = `$blastapp -p blastn -d $blastdbdir/$blastdbname -e 0.01 -i /$datename/repeats/$Accession.fasta`; print FULLBLASTOUT "XXXXX\t",$Accession,"\tXXXXXXXXXXXXXXXXXXXXXXXXX\n\n"; print FULLBLASTOUT $blastout; &ParseBlast;} sub DBup() # { open (BLASTDBFASTA, ">> /blast/db/AllPrimers.nt"); open (BLASTDBFASTA, ">>$blastdbdir/$blastdbname"); print BLASTDBFASTA "> ",$Accession,"_f\n",$forward,"\n"; print BLASTDBFASTA "> ",$Accession,"_r\n",$reverse,"\n"; close (BLASTDBFASTA); # $formatdbstatus = system("formatdb -i db/AllPrimers.nt -p F -o T"); $formatdbstatus = system("$formatdbapp -i $blastdbdir/$blastdbname -p F -o T");} sub ParseBlast() { # tach nhung output blast output vao mot danh sach @blastrecs = split(/\n\n/, $blastout); if ($blastrecs[5] =~ /Sequence/) { @blastmatch = split(/\n/, $blastrecs[6]); print BLASTOUTFILE $#blastmatch-1, "\t"; for $entry (0 $#blastmatch) { ($name,$score, $E) = split(/[ ]+ /, $blastmatch[$entry]); print $name,"\t",$score,"\t",$E,"\n"; print BLASTOUTFILE "\t",$name,"\t",$score,"\t",$E; } } else { print BLASTOUTFILE "0\t"; $b0hit++; print "No Hits found\n"; print BLASTOUTFILE "\tnone\tnull\tnull"; LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 81 &DBup; } print BLASTOUTFILE "\n";} ● 5_ssr_order_filter #!/usr/bin/perl -w # tao file chua chi nhung SSR co primer nhat # Input: blastout.txt # Output: filter.txt ################################################ #thay doi cac thong so duoi day chay!!!!!!!! ################################################ $datename='170404';# ten thu mục chinh dang so va phan cuoi cua cac file ################################################ # khong thay doi nhung gi ben duoi ################################################ open (OUTFILE, ">filter$datename.txt"); $infile = `ten blastout$datename.txt`; $count = 0; @temp1 = split(/\n/, $infile); foreach $f (0 $#temp1) { @temp2 = split(/\t/, $temp1[$f]); if ($temp2[11] eq 'none') { print OUTFILE $temp2[0],"\t",$temp2[1],"\t"; print OUTFILE $temp2[2],"\t",$temp2[3],"\t"; print OUTFILE $temp2[4],"\t",$temp2[5],"\t"; print OUTFILE $temp2[6],"\t",$temp2[7],"\t"; print OUTFILE $temp2[8],"\n"; print $temp2[0],"\t",$temp2[10],"\t",$temp2[11],"\n"; $count++;}} print "non-hits: ",$count,"\n"; close (OUTFILE); exit (0); ● 6_ssr_order_formatter #!/usr/bin/perl -w # tao mot file chi chua nhung SSR co primer nhat-co thong tin can thiet cho phan cap primer # Input: blastout.txt # Output: order.txt ################################################### # thay doi cac thong so ben duoi chay!!!!!!!! LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 82 ################################################### $datename = '170404'; # ten thu muc chin va phan cuoi cac file ################################################### # khong thay doi nhung gi duoi day ################################################### open (OUTFILE, ">order$datename.txt"); $infile = `nin blastout$datename.txt`; $count = 0; @temp1 = split(/\n/, $infile); foreach $f (0 $#temp1) { @temp2 = split(/\t/, $temp1[$f]); if ($temp2[11] eq 'none') { print OUTFILE $temp2[0],"\t"; print OUTFILE $temp2[4],"\t",$temp2[5],"\t"; print OUTFILE $temp2[6],"\t",$temp2[7],"\t"; print OUTFILE $temp2[8],"\n"; print $temp2[0],"\t",$temp2[10],"\t",$temp2[11],"\n"; $count++;}} print "non-hits: ",$count,"\n"; close (OUTFILE); exit (0); LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 83 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... MICROSATELLITE PHỤC VỤ CHO CƠNG TÁC PHÂN TÍCH VÀ SO SÁNH ĐẶC ĐIỂM DI TRUYỀN CỦA ONG MẬT” Giảng viên hƣớng dẫn: TS BÙI MINH TRÍ Thời gian nghiên cứu: từ tháng đến tháng năm 2006 Địa điểm nghiên cứu:... chạy phản ứng PCR dựa vào thị microsatellite loài ong cho mật để làm sở cho bƣớc nghiên cứu định danh xác định đặc điểm di truyền ong mật phục vụ cho việc mở rộng nghề nuôi ong mật vùng Việt Nam... EST (Expressed Sequence Tags) nhằm phát microsatellite phục vụ cho công tác so sánh phân tích đặc điểm di truyền ong mật? ?? LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đề tài đƣợc