[Bio] / FigKernelScripts / test_cv.pl Repository:
ViewVC logotype

View of /FigKernelScripts/test_cv.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Mon Dec 5 18:56:38 2005 UTC (14 years ago) by olson
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, rast_rel_2008_06_18, myrast_rel40, rast_rel_2008_06_16, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2008_07_21, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, rast_rel_2008_04_23, mgrast_dev_06072011, rast_rel_2008_09_30, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, caBIG-05Apr06-00, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, mgrast_rel_2008_0625, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0806, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, caBIG-13Feb06-00, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.1: +17 -0 lines
Add license words.

#
# Copyright (c) 2003-2006 University of Chicago and Fellowship
# for Interpretations of Genomes. All Rights Reserved.
#
# This file is part of the SEED Toolkit.
# 
# The SEED Toolkit is free software. You can redistribute
# it and/or modify it under the terms of the SEED Toolkit
# Public License. 
#
# You should have received a copy of the SEED Toolkit Public License
# along with this program; if not write to the University of Chicago
# at info@ci.uchicago.edu or the Fellowship for Interpretation of
# Genomes at veronika@thefig.info or download a copy from
# http://www.theseed.org/LICENSE.TXT.
#

#__perl__

########################################################################
# Regression test on CV related functions at FIG level, not
# at CGI level.  Run this and diff with test_cv.expected
#
# Tested:
#    1. Throw error from API if required arguments are missing
#    2. Add CV terms to pegs
#    3. Find CV terms 
#    4. Add two associations, same term, different vocabs.
#    5. delete CV terms


#
# search_index_by_attribute
#    searchTerm -> ( (peg, org, aliasList, function), ... )
# find_by_attribute
#    searchTerm -> ( (featureId, tag, val), ... )
#
#
# add_cv_term
#    (user, peg, vocab, term_id, term) -> added.  all args req'd.
#
# search_cv_file
#    cv, search_term -> ( (cv, term_id,term), ... )
#
#
#
########################################################################

use URI::Escape;
use Data::Dumper;
use FIG;

my $fig=new FIG;
my $status;

print "start\n";

print "Test dropping an arg. Expect error:\n";
testOne( "fig|9606.3.peg.26823", "ViaFigAPI", "1234", "Some text");

print "Test empty string user. Expect error:\n";
testOne( "   	", "fig|9606.3.peg.26823", "ViaFigAPI", "1234", "Some text");

print "Test empty string peg. Expect error:\n";
testOne( "mast:EdF", "", "ViaFigAPI", "1234", "Some text");

print "Test empty string vocab. Expect error:\n";
testOne( "master:EdF", "fig|9606.3.peg.26823", "", "1234", "Some text");

print "Test empty string id. Expect error:\n";
testOne( "master:EdF", "fig|9606.3.peg.26823", "ViaFigAPI", "", "Some text");

print "Test empty string term. Expect error:\n";
testOne( "master:EdF", "fig|9606.3.peg.26823", "ViaFigAPI", "1234", "   ");

print "Test add with extra spaces. Expect success:\n";
testOne( " master:EdF  ", " fig|9606.3.peg.26823 	", "  ViaFigAPICV1", " 1234  ", " Some text");

print "Add again but 2nd vocab name to test multi-vocab, same term:\n";
testOne( " master:EdF  ", " fig|9606.3.peg.26823 	", "  ViaFigAPICV2", " 1234  ", " Some text");


print "Find term just added via find_by_attribute:\n";
my @result = $fig->find_by_attribute( "1234; Some text" );
if (@result) {
    foreach my $x (@result) {
	print "\t Found @$x[0], @$x[1], @$x[2]\n";
    }
} else {
    print "Nothing found\n";
}
print "\n";


print "Find term just added via search_index_by_attribute:\n";
my @result = $fig->search_index_by_attribute( "1234; Some text" );
if (@result) {
    foreach my $x (@result) {
	print "\t Found @$x[0], @$x[1], @$x[2], @$x[3], @$x[4]\n";
    }
} else {
    print "\t Nothing found\n";
}
print "\n";

print "Delete the term in the first CV:\n";
$fig->delete_attribute( "fig|9606.3.peg.26823", "ViaFigAPICV1" );

print "This search should come up with ViaFigAPICV2:\n";
my @result = $fig->find_by_attribute( "1234; Some text" );
if  (@result) {
    foreach my $x (@result) {
	print "\t Found @$x[0], @$x[1], @$x[2]\n";
    }
} else {
    print "\t Nothing found\n";
}
print "\n";

print "Delete the term in the second CV:\n";
$fig->delete_attribute( "fig|9606.3.peg.26823", "ViaFigAPICV2" );
print "This search should come up empty:\n";
my @result = $fig->find_by_attribute( "1234; Some text" );
if  (@result) {
    foreach my $x (@result) {
	print "\t Found @$x[0], @$x[1], @$x[2]\n";
    }
} else {
    print "\t Nothing found\n";
}
print "\n";

print "Test search_cv_file:  MAPK in GO\n";
$result=$fig->search_cv_file("GO", "MAPK");
if  (@$result) {
    foreach my $x (@$result) {
	print "\t Found $x\n";
    }
} else {
    print "\t Nothing found\n";
}


print "done\n";

exit(0);


sub testOne {
    my ($user, $peg, $vocab, $id, $term) = @_;
    $status = $fig->add_cv_term( $user, $peg, $vocab, $id, $term);
    if (!$status) {
	print "User $user added ($vocab, $id, $term)\n";
    } else {
	print "Error for ($vocab, $id, $term):\t$status\n";
    }

    return;
}

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3