#! /usr/local/bin/perl
#

# Get command line option data

	$dirName = $ARGV[0];
	$outFile = "spec.dat";

# Open the files

	opendir(DIR, $dirName) or die "Cannot open $dirName: $!";
	open OUTFILE, ">$outFile" or die "Cannot open output data file\n";

	for( $i = 0; $i < 400; $i++ ) {
		$mz[$i] = "mz$i";
		$inten[$i]=0.0;
	}

	print OUTFILE "file db cas mw formula @mz\n";

	while(defined($fileName = readdir(DIR))) {

		next if $fileName =~ /^\.\.?$/;

		open SRCFILE, "$dirName/$fileName" or die "Cannot open source $fileName: $!\n";

		$line = <SRCFILE>;
		chomp($line);
		while ($line !~ /Name:/) {
			$line = <SRCFILE>;
			chomp($line);
		}
		@tokens = split(": ",$line);
		$cmpdName = $tokens[1];

		$line = <SRCFILE>;
		chomp($line);
		while ($line !~ /Formula:/) {
			$line = <SRCFILE>;
			chomp($line);
		}
		@tokens = split(": ",$line);
		$formula = $tokens[1];

		$line = <SRCFILE>;
		chomp($line);
		while ($line !~ /MW:/) {
			$line = <SRCFILE>;
			chomp($line);
		}
		@tokens = split(": ",$line);
		$mw = $tokens[1];

		$line = <SRCFILE>;
		chomp($line);
		while ($line !~ /CAS#:/) {
			$line = <SRCFILE>;
			chomp($line);
		}
		@tokens = split(": ",$line);
		$cas = $tokens[1];

		$line = <SRCFILE>;
		chomp($line);
		while ($line !~ /DB#:/) {
			$line = <SRCFILE>;
			chomp($line);
		}
		@tokens = split(": ",$line);
		$db = $tokens[1];

		$line = <SRCFILE>;
		chomp($line);
		while ($line !~ /Num Peaks:/) {
			$line = <SRCFILE>;
			chomp($line);
		}
		@tokens = split(": ",$line);
		$peaks = $tokens[1];

		$line = <SRCFILE>;
		chomp($line);
		$i = 0;
		while ($line != /;/) {
			chop($line);
			@pairs = split(";", $line);
			foreach $pair (@pairs) {
				@ele = split(" ",$pair);
				$x[$i] = $ele[0];
				$y[$i] = $ele[1];
				$i++;
			}
			$line = <SRCFILE>;
			chomp($line);
		}
		$peakCnt = $i;
		
		for( $i = 0; $i < $peakCnt; $i++ ) {
			$inten[$x[$i]] = $y[$i];
		}
		
		print OUTFILE "$fileName $db $cas $mw $formula @inten\n";
		close SRCFILE;
	}
	close OUTFILE;
	closedir(DIR);
