$code_count++;
$file = "test".$code_count.".pl";
open(PERL,">".$file) or die "Could not open $file for writing\n";
$code =~ s/\>\;/\>/g;
my $prefix = "";
if(!($code =~ /load_registry_from_db/m)){
$prefix = $header;
if(!($code =~ /my\s*\$slice_adaptor/)){
$prefix .= $slice_adaptor;
if(!($code =~ /fetch_by_region/)){
$prefix .= 'my $slice = $slice_adaptor->fetch_by_region( "clone", "AL031658.11" );'."\n";
}
}
if(!($code =~ /my\s*\$cs_adaptor/)){
$prefix .= 'my $cs_adaptor = $registry->get_adaptor( "Human", "Core", "CoordSystem" );'."\n";;
}
if(!($code =~ /my\s*\$gene_adaptor/)){
$prefix .= 'my $gene_adaptor = $registry->get_adaptor( "Human", "Core", "Gene" );'."\n";;
}
if($code =~ /\$feature\-\>/ and !( $code =~ /\$feature_adaptor/) ){
$prefix .= 'my $feat_adaptor = $registry->get_adaptor( "Human", "Core", "Gene" );'."\n";
$prefix .= 'my $feature = $feat_adaptor->fetch_by_display_label("COG6");'."\n";
}
if($code =~ /\$transcript\-\>/ and ! ( $code =~ /\$transcript_adaptor/) ){
$prefix .= 'my $transcript_adaptor = $registry->get_adaptor( "Human", "Core", "transcript" );'."\n";
$prefix .= 'my $transcript = $transcript_adaptor->fetch_by_stable_id("ENST00000380152");'."\n";
}
if($code =~ /\$translation\-\>/ and ! ( $code =~ /\$translation_adaptor/) ){
$prefix .= 'my $transcript_adaptor = $registry->get_adaptor( "Human", "Core", "transcript" );'."\n";
$prefix .= 'my $transcript = $transcript_adaptor->fetch_by_stable_id("ENST00000380152");'."\n";
$prefix .= 'my $translation = $transcript->translation;'."\n";
}
if( $code =~ /\$marker\-\>/ and ! ( $code =~ /\$marker_adaptor/) ){
$prefix .= 'my $marker_adaptor = $registry->get_adaptor( "Human", "Core", "marker" );'."\n";
$prefix .= 'my $marker = $marker_adaptor->fetch_all_by_synonym("D9S1038E")->[0];'."\n";
}
}
$code = $prefix."####### end of insertion#########\n".$code;
print PERL $code."\n";;
close PERL;
sleep 2;
# print "CODE".$code."\n";
my $test_val = system("perl $file >& /dev/null");
# print "VAL is $test_val\n";
# my $test_val = eval {$code};
if($test_val){
print "file $file FAILED $test_val\n";
}
else{
print "file $file OKAY $test_val\n";
}
}