Perl学习17之生信简单运用

Posted pythonic生物人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl学习17之生信简单运用相关的知识,希望对你有一定的参考价值。

"pythonic生物人"的第29篇分享Perl学习17之生信简单运用Perl学习17之生信简单运用


感觉不错可以点个“赞“或"在看"哦Perl学习17之生信简单运用Perl学习17之生信简单运用Perl学习17之生信简单运用


正文开始啦



1、计算一条DNA序列中的ATGC个数GC含量格式化输出

  • gccount_read.pl

#!/usr/bin/perluse strict;use warnings;my $read = "AACAAACCCCTTTTCTCTATTAAAAAATACAAAATAGCTTAGCTGCGGCATAGTGGAGCACG";my $G = ($read =~ s/G/G/g);#s为匹配表示匹配,($read =~ s/G/G/g)返回匹配次数个数my $C = ($read =~ s/C/C/g);my $A = ($read =~ s/A/A/g);my $T = ($read =~ s/T/T/g);my $total = $G + $C + $A +$T;my $GC_P = ($G + $C)/$total;
#格式化输出printfprintf "$G:%d $C:%d $A:%d $T:%d $total:%d $GC_P:%.2f ",($G,$C,$A,$T,$total,$GC_P);
#sprintf格式化不输出my $result = sprintf("$G:%d $C:%d $A:%d $T:%d $total:%d $GC_P:%.2f ",($G,$C,$A,$T,$total,$GC_P));
#输出到文件GC.fileopen OUT,">","./GC.file";print OUT $result;close OUT;


  • perl gccount_read.pl

$G:10
$C:14
$A:23
$T:15
$total:62
$GC_P:0.39 
cat GC.file
$G:10
$C:14
$A:23
$T:15
$total:62
$GC_P:0.39
2、 每一行数据求和,每个数使用各自行和归一化
输入文件 sumfile
a       1       2       3       4       5       6
b       1       2       3       4       5       6

目的 :分别求a,b行中所有数之和,每个数在该行所占比例格式化输出
脚本 :sum1.pl
#!/usr/bin/perluse strict;use warnings; open IN,"./sumfile";while(<IN>){ chomp; my @t=split; my $sum=0;  for my $i (1..5){ $sum+=$t[$i]; } print "$t[0]	$sum	";#求和  for my $i (1..5){ my $percent=$t[$i]/$sum; printf "%.2f	","$percent"; } print "
";#换行  }

perl sum1.pl

a 15 0.07 0.13 0.20 0.27 0.33

b 15 0.07 0.13 0.20 0.27 0.33



同系列文章






Perl学习17之生信简单运用Perl学习17之生信简单运用持续更新,欢迎您"点赞"、"在看"、"分享"Perl学习17之生信简单运用Perl学习17之生信简单运用


以上是关于Perl学习17之生信简单运用的主要内容,如果未能解决你的问题,请参考以下文章

Perl的学习继续~

生信学习周如何系统入门Perl

生信~一天学会Perl,你相信吗?

生信perl脚本中常见的几个模块

学习一点perl单行命令知识

perl语言小骆驼学习第1章笔记