#print"Enter the file name ";
#$a = <STDIN>;
$a = '1bnr.fasta.txt';
open(INFILE, $a);
#$b = <INFILE>;
#print <INFILE>;
@c = <INFILE>;
print @c;
@d = shift @c;
print @d;
print "\n";
$e = join('',@c);
print $e;
$e =~ s/\s//g;
chomp $e;
print $e;
print "\n";
@ee = split('',$e);
print scalar(@ee);
print "\n";
%aa = ( A=>'ALA',Y=>'TYR',M=>'MET',
        L=>'LEU',C=>'CYS',G=>'GLY',
        R=>'ARG',N=>'ASN',D=>'ASP',
        Q=>'GLN',E=>'GLU',H=>'HIS',
        W=>'TRP',K=>'LYS',F=>'PHE',
        P=>'PRO',S=>'SER',T=>'THR',
        I=>'ILE',V=>'VAL' );
for($i = 0;$i < @ee; ++$i)
{
#print $i;
#print "\n";
$n = $ee[$i];
#print "$n";
if (exists $aa{$n})
{
if ($i == 0)
{
$k = N;
$aa{$n} = $k.$aa{$n};
#print $z "\n";
#push (@bb,"$z");
}
if ($i == @ee-1)
{
$j = C;
$aa{$n} = $j.$aa{$n};
}
push(@bb,$aa{$n});
#push(@bb, \s);
#print @bb;
#}
}
}
print "@bb";
$tleap_input = "tleap.in";
open(OUTFILE, ">$tleap_input");
print OUTFILE "source leaprc.ff99SB";
print OUTFILE "\n";
print OUTFILE "source leaprc.gaff \n";
#print OUTFILE "source leaprc.water.tip3p \n";
print OUTFILE '1bnr = sequence {' ;
print OUTFILE "@bb";
print OUTFILE '}';
print OUTFILE "\n";
print OUTFILE 'saveoff 1bnr 1bnr_linear.lib';
print OUTFILE "\n";
print OUTFILE 'saveoff 1bnr 1bnr_linear.pdb';
print OUTFILE "\n";
#print OUTFILE "quit";
print OUTFILE "loadoff 1bnr 1bnr_linear.lib";
print OUTFILE "\n";
#print OUTFILE "solvateBox 1bnr TIP3PBOX 10 \n";
print OUTFILE "saveamberparm 1bnr 1bnr_linear.prmtop 1bnr_linear.0.inpcrd";
print OUTFILE "\n";
print OUTFILE "quit"; 
close OUTFILE;
system '$AMBERHOME/bin/tleap -s -f tleap.in';
system "ambpdb -p 1bnr_linear.prmtop < 1bnr_linear.0.inpcrd > 1bnr_amb.pdb";
$tleap_2 = "tleap_2.in";
open(OUTFILE3, ">$tleap_2");
print OUTFILE3 "source leaprc.ff99SB";
print OUTFILE3 "\n";
print OUTFILE3 "source leaprc.gaff \n";
#print OUTFILE "source leaprc.water.tip3p \n";
#print OUTFILE '1bnr = sequence {' ;
#print OUTFILE "@bb";
#print OUTFILE '}';
#print OUTFILE "\n";
print OUTFILE3 '1bnr = loadpdb 1bnr_amb.pdb';
print OUTFILE3 "\n";
#print OUTFILE3 'saveoff 1bnr 1bnr_amb.pdb';
#print OUTFILE3 "\n";
#print OUTFILE "quit";
#print OUTFILE3 "loadoff 1bnr 1bnr_amb.lib";
#print OUTFILE3 "\n";
#print OUTFILE "solvateBox 1bnr TIP3PBOX 10 \n";
print OUTFILE3 "saveamberparm 1bnr 1bnr_amb.prmtop 1bnr_amb.0.inpcrd";
print OUTFILE3 "\n";
print OUTFILE3 "quit";

system "$AMBERHOME/bin/tleap -s -f tleap_2.in";

$sander_min = "min.in";
#for ($i = 0; $i < 1; $i++) #< scalar(@ee); $i++)
#{
open(OUTFILE2, ">$sander_min");
print OUTFILE2 "MINIMIZATION  \n";
print OUTFILE2 "&cntrl";
print OUTFILE2 "\n";
print OUTFILE2 "imin=1,\n";
print OUTFILE2 "ntx = 1, \n";
print OUTFILE2 "irest = 0, \n";
print OUTFILE2 "maxcyc= 200,\n";
print OUTFILE2 "ncyc = 100, \n";
print OUTFILE2 "ntpr=5, \n";
print OUTFILE2 "ntb = 0, \n";
print OUTFILE2 "ntwx = 5, \n";
print OUTFILE2 "cut = 70.0, \n/";
#print OUTFILE2 "ibelly = 1, \n";
#print OUTFILE2 "bellymask = $i \n/";
close OUTFILE2;
system "sander -O -i min.in -o min.out -p 1bnr_amb.prmtop -c 1bnr_amb.0.inpcrd -r min.restrt.1";
#system 'mv min.restrt.0 min.restrt.1.${i}';
#system 'cp min.restrt.1 min.restrt.0';
#}
exit;     
