#!/usr/bin/perl -w use strict; use File::Basename; my $only; my $file; my $start; # Horrible option processing if ( $ARGV[0] eq "--indexed" ) { $only = "indexed"; $file = $ARGV[1]; $start = 2; } elsif ( $ARGV[0] eq "--not-indexed" ) { $only = "notindexed"; $file = $ARGV[1]; $start = 2; } else { $only = ""; $file = $ARGV[0]; $start = 1; } my $args = join(" ", splice(@ARGV, $start, scalar(@ARGV)-1)); if ( !($args eq "") ) { printf("Extra arguments for hdfsee: %s\n", $args); } else { # Default arguments - feel free to override! $args = "--binning=2 --int-boost=10"; printf("Using default arguments for hdfsee: %s\n", $args); } open(FH, $file); open(TMP, "> list.tmp"); my $in_image = 0; my $line; my $filename; my $indexed; while ( $line = ) { chomp $line; if ( $in_image ) { printf(TMP "%s\n", $line); } if ( $line =~ /^Peaks\ from\ peak\ search$/ ) { $in_image = 1; } if ( $line =~ /^Image\ filename:\ (.+)$/ ) { $filename = $1; } if ( $line =~ /^indexed_by\ =\ (.*)$/ ) { if ( $1 eq "none" ) { $indexed = 0; } else { $indexed = 1; } } if ( $line =~ /^End\ of\ peak\ list$/ ) { close(TMP); my $show; if ( $only eq "indexed" ) { if ( $indexed ) { $show = 1; } else { $show = 0; } } elsif ( $only eq "notindexed" ) { if ( $indexed ) { $show = 0; } else { $show = 1; } } else { $show = 1; } if ( !$show ) { printf(STDERR "Not showing %s\n", $filename); unlink("list.tmp"); open(TMP, "> list.tmp"); $in_image = 0; next; } # Example of how to do "basename" and "prefix": # $filename = "images-old/".basename($filename); printf(STDERR "Viewing %s\n", $filename); system("hdfsee ".$filename. " --peak-overlay=list.tmp ".$args); if ( $? != 0 ) { exit; } unlink("list.tmp"); open(TMP, "> list.tmp"); $in_image = 0; } }