#!/usr/bin/perl -s
use strict;
use GenePropAxes;
use UserScriptParams;

###############################################################################
#
sub setup_params {
    my($key, $default, $require, $explain, $example);

    my($param) = UserScriptParams->new();

    #
    $key     = "SPEC";
    $default = "";
    $require = "T"; # "T"rue or else(='optional').
    $explain = "Species list";
    $example = "spec1";
    $param->add_param($key, $default, $require, $explain, $example);

    return $param;
}

###############################################################################
#
sub gc_content {
    my($spec) = shift;

    my(@name_list) = GenePropAxes::get_gene_list($spec);
    foreach my$name (@name_list) {
        my($seq) = GenePropAxes::get_gene_info($spec, $name,
                                               $GenePropAxes::GI_NTSEQ);
        my($len) = length($seq);
        $seq =~ s#[^gcs]##gi;
        my($gc) = length($seq) / $len;

        print join("\t", $spec, $name, $gc), "\n";
    }

	return;
}

###############################################################################
if ($0 eq __FILE__) {
    my($param_ref) = setup_params();

    if ($main::h) {
        $param_ref->print_usage();
        exit(0);
    }

    foreach my$spec ($main::SPEC, @ARGV) {
        gc_content($spec);
    }
}

###############################################################################
1;#
###############################################################################
