ls -d1 T0*/ | perl -ne 'chomp; chop; chop; my $t=$_; my $fout="$t\/$t\_dali_norm.all.dat"; open(FOUT, "> $fout") || die "Cannot open fout $fout : $!\n"; my @selfs=glob("$t\/$t*\_$t*\.dali"); for $f(@selfs) { $f =~ /^$t\/($t.*?)\_($t.*?)\.dali$/ || die "Weird dali file name $f\n"; die "Not exact duplication in the name for self Dali $f\n" if($1 ne $2); my $dalitarg=$1; open(F, $f) || die "Cannot open input $f : $!\n"; $/ ="\n Sbjct=mol2 Z-score="; my @chunks=<F>; close(F); $/="\n"; if($chunks[1] =~ /^(.*?)\<\/h2\>/) { $zself{$dalitarg}=$1; } else { warn "No Z-score in self file $f\n"; }  } my @fs=glob("$t\/*.dali"); for $f(@fs){ $f =~ /^$t\/($t.*?)\_(.*?)\.dali$/ || die "Weird dali file name $f\n"; next if $1 eq $2; my $dalitarg=$1; my $serv=$2; open(F, $f) || die "Cannot open input $f : $!\n"; $/ ="\n Sbjct=mol2 Z-score="; my @chunks=<F>; close(F); $/="\n"; if($chunks[1] =~ /^(.*?)\<\/h2\>/) { $z=$1; unless (defined $zself{$dalitarg}) { warn "No self Dali score for $dalitarg\n"; last; }  $znorm=$z/$zself{$dalitarg}; print FOUT "$dalitarg\t$serv\t"; printf FOUT "%.4f\n", $znorm;  } else { warn "No Z-score in file $f\n"; }  } close(FOUT); ' > & collect_daliZ.log &
