#!/usr/bin/perl $line=$ARGV[0]; #input file1 containing string list $name=$ARGV[1]; #output file, given at linux command chomp($line); chomp($name); &logit(2, "\$line = '$line'\n"); &logit(3,"\$name = '$name'\n"); $amino="ABC"; &logit(10, "\$amino = '$amino'\n"); @cc=split(//,$amino); $line=~ s/[\s]//g; &logit(14, "\$line = '$line'\n"); @prot=split(//,$line); $len=@prot; &logit(17, "\$len = '$len'\n"); open(NAS,">>$name"); print NAS"0"; close NAS; open(MAJ,"valfile"); #input file 2 containing values while($li=){ chomp($li); &logit(25, "\$li = '$li'\n"); $val=""; @value=split(/ +/,$li); for($p=0;$p<@prot;$p++){ &logit(30, "\$p = '$p'\n"); for($a=0;$a<@cc;$a++){ &logit(33, "\$a = '$a'\n"); if($prot[$p] eq "$cc[$a]"){ $val +=$value[$a]; &logit(39, "\$val = '$val'\n"); } } $val1=$val/$len; &logit(45, "\$val1 = '$val1'\n"); $val1=sprintf "%5.3f",$val1; } $number++; &logit(49, "\$number = '$number'\n"); open(MAL,">>$name"); print MAL" $number:$val1"; close MAL; } close MAJ; open(MAL1,">>$name"); print MAL1"\n"; close MAL1; exit; sub logit { my $logstr = join ' ', @_; if (open LOGFIL, ">>asdebug.log") { print LOGFIL "$logstr\n"; close LOGFIL; } }