use Perl analysis BLAST data
来源:互联网 发布:访客网络开启安全吗 编辑:程序博客网 时间:2024/05/17 02:07
use Perl analysis BLAST data
#!/usr/bin/perluse 5.010;use strict;say "Demo : use perl process BLAST's data : search a large sequence ,and find the sepcial sequence .";my $REPORT_FILE = "report.txt";my $blast_file = $ARGV[0] || 'todo';# what's || ?unless (-e $blast_file){die "$0 : ERROR : missing file :$blast_file";}else{say "get $blast_file okay !";}my ($query_src , $sbjct_src);open(IN,$blast_file) or die "$0,ERROR : $blast_file : $!";while(my $line =<IN>){chomp $line;say "processing line $ : $line.";my @words = split /\s+/, $line;if($line =~ /^Query/){$query_src .= $words[2];}elsif($line =~ /^Sbjct/){$sbjct_src .= $words[2];}}close IN;my @patterns =('gagcc','caat','cat','tcggga','-');my (%query_counts,%sbjct_counts);foreach my $pattern (@patterns){while ($query_src =~ /$pattern/g){$query_counts{$pattern}++;say "find $pattern for query!";}while ($sbjct_src =~ /$pattern/g){$sbjct_counts{$pattern}++;say "find $pattern for sbjct!";}}open (OUT, ">$REPORT_FILE") or die "$0: ERROR: Can't write $REPORT_FILE";print OUT "Sequence Report\n","Run by Yummy on ",scalar localtime, "\n","\nNOTE: In the following reports, a dash (-) represents \n"," missing data in the chromosomal sequence \n\n","Total length of 'Query' sequence: ",length $query_src , " characters\n", "Results for 'Query':\n";foreach my $key (sort @patterns){print OUT "\t'$key' seen $query_counts{$key}\n";}print OUT "\nTotal length of 'Sbjct' sequence: ",length $sbjct_src, " characters\n","Results for 'Sbjct':\n";foreach my $key (sort @patterns){print OUT "\t'$key' seen $sbjct_counts{$key}\n";}close OUT;__END__
and
BLAST.data (just a demo )
Query: 1165 gagcccaggagttcaagaccagcctgggtaacatgatgaaacc-tcgtctctac 1217Sbjct: 11895 gagctcaggagtttgagaccagcctggggaacacggtgaaaccctgtctctac 11843Query: 1170 caggagttcaagaccagcctg 1190Sbjct: 69962 caggag-ttcaagaccagcctg 69942Query: 1106 tggtggctcacacctgcaatcccagcact 1134Sbjct: 77363 tggtggctcacgcctgtaatcccagcact 77335for more information, you can have a reference from 《Developing_Bioinformatics_Computer_Skills》.
by Yummy on Tue Feb 7 23:06:18 2012
- use Perl analysis BLAST data
- 远程blast的Perl脚本
- BLAST how to use blastn
- data analysis
- Data Analysis
- blast++
- Blast+
- Perl: Line text analysis
- Data analysis and Data mining
- Data Oriented Analysis & Design
- Roubust Data Analysis
- Access Data Analysis Cookbook
- data analysis tool___R 程序语言
- python for data analysis
- Data analysis and visualization
- python Data analysis function
- Perl: Filesystem analysis and traversal
- [Perl] use Expect
- C++程序设计实验报告(三)
- xml解析基础01
- XML解析基础02
- jdbc工具类提取实现学习记录1
- C++ Singleton模式
- use Perl analysis BLAST data
- 序列化开发与迭代开发的选择
- ListView源码
- MySQL Partition扫盲
- 我大学剩下一年半的生活(三)——pythonchallenge之level2
- 测试主机序号的例子(大端序、小端序、big_endian、little_endian)
- 784 - Maze Exploration
- 不同文件之间的变量用const修饰时
- RtspProxy RTSP 重定向 Redirect 的实现