#!/usr/local/bin/perl -w
# 26.11.03

  $oli_file = "HUMLIB96_384_with_seqs.txt";  # invoer dna segmenten
  $strandpos = 9;  # veld-positie strand in invoer
  
  # plaats executable:
  $exe = "/scratch/Primer3/primer3_0_9_test/src/pc162a-primer3_core";

  # inputvariabelen Primer3:
  $p3_settings = "PRIMER_EXPLAIN_FLAG=1\nPRIMER_PRODUCT_SIZE_RANGE=40-40";
  
#  $p3_settings = "PRIMER_EXPLAIN_FLAG=1\nPRIMER_PRODUCT_SIZE_RANGE=40-60\nPRIMER_INTERNAL_OLIGO_MAX_SIZE=1\nPRIMER_INTERNAL_OLIGO_MIN_SIZE=1\nPRIMER_INTERNAL_OLIGO_OPT_SIZE=1";


# enige statistieken voor de uitvoer  
  &datum() ;
  
  print <<"EOF";
$dagdatum $maand $jaar

$p3_settings

HUMLIB96_384_with_seqs.txt

EOF
  
# rekenwerk:
# herhaald Primer3 aanroepen voor elk van de regels uit invoer
  
  open OLI, "<$oli_file";
  
  # skip 7 regels
  for $i (1..6)
  {
     <OLI>;
  }
  
  $i = 0;
  $_ = <OLI>;
  chomp;
  @header = ( split /\t/, $_ );
  
  print "input velden:\n";
  foreach $veld (@header) { print "- $veld\n"}
  print "\n\n\n";
  #print "|$header[$strandpos]|\n";
  
  $i = 0;
  while (<OLI>)
  {
     $i++; 
     chomp;
     @data = ( split /\t/, $_ );
     $segment = $data[$strandpos];
     $naam = $data[1];
     print "===================> $i : $naam <========================\n\n\n";
     # 
     open (TEMP,">temp.input");
     print TEMP <<"EOF";
PRIMER_SEQUENCE_ID=$naam
SEQUENCE=$segment
$p3_settings
=
EOF
     close TEMP;
     $out = `$exe -strict_tags -format_output <temp.input`;
     print "$out\n";
  }
 
 
  
sub datum {
# DATUM, van Walter
  $dagdatum = (localtime)[3];
  $maand = ("Jan","Feb","Mar","Apr","May","Jun","Jul",
                        "Aug","Sep","Oct","Nov","Dec") [ (localtime)[4] ];
  $jaar = (localtime)[5] + 1900;
}

