use strict; use warnings; sub coordinatesorter { my ($Ax_ref, $Ay_ref, $Az_ref, $Bx_ref, $By_ref, $Bz_ref, $res_to_atom, $natres, $nseg, $beginning, $ending ) = @_; my $interdomaincounter = 1; my $counter = 0; my (@Axcord, @Aycord, @Azcord, @Bxcord, @Bycord, @Bzcord); foreach my $iseg (1 .. $nseg) { foreach my $ires ($beginning->[$iseg] .. $ending->[$iseg]) { foreach my $iat (1 .. $natres->[$ires]) { $Axcord[$counter] = $Ax_ref->[ $res_to_atom->[$ires][$iat] ]; $Aycord[$counter] = $Ay_ref->[ $res_to_atom->[$ires][$iat] ]; $Azcord[$counter] = $Az_ref->[ $res_to_atom->[$ires][$iat] ]; $Bxcord[$counter] = $Bx_ref->[ $res_to_atom->[$ires][$iat] ]; $Bycord[$counter] = $By_ref->[ $res_to_atom->[$ires][$iat] ]; $Bzcord[$counter] = $Bz_ref->[ $res_to_atom->[$ires][$iat] ]; $counter++; } } } return (\@Axcord, \@Aycord, \@Azcord, \@Bxcord, \@Bycord, \@Bzcord); }