FigFamTable of Contents

Module to access FIGfamsdisplayfamily_dirfamily_functionfamily_idfasta_oflist_membersloose_same_funcmembernewok_funcpegs_ofrepresentativesreset_functionshould_be_memberModule to access FIGfamsnewusage my $figfam_obj = FigFam->new($fig, $fam_id, $fam_dir);

This is the constructor. Presumably, $class is 'FigFam'.

$fig is an object reference created by a FIG->new() constructor.

$fam_id is the ID of the family, of the form FIGnnnnnn where n is a digit it is required.

$fam_data is optional. If it is defined, it will be treate as the directory that contains (or will contain) FigFam data If omitted, the FIGfam directory defaults t $FIG_Config::data/FigfamsData.

A families file families.2c must exist within $fam_data.FIGfam_ID<tab>FIG_Protein_ID<tab>Assigned_function.

If the $fam_dir/yyy/FIGxxxyyy directory (which is where the subdirector where the specific family will go) does not exist, the specification of the PEG in $fam_file will be used to initialize the family.

reset_functionusage $figfam_obj->reset_function();

Resets the function of a FIGfam to its "consensus function," where the weight of a vote toward the "consensus" is double for PEGs connected to a subsytem.

displayusage print $figfam_obj->display();

Returns a list-formatted table describing a family and its members.

pegs_ofusage print $figfam_obj->pegs_of();

Returns a list of just pegs.

fasta_ofusage:

$seqs_of_members = $figfam_obj->fasta_of();

or

$figfam_obj->fasta_of($filehandle_glob);

Returns a ptr to a hash containing the sequences for all members of a FIGfam keyed by FIG feature ID (FID) The filehandle glob is optional if included, the sequences will also print to the handle's file in fasta format.

ok_funcusage if ( &FigFam::ok_func( $fig, $func, $func2, $id2, $fam) ) { #...do something... }

$fig is an object constriucted by FIG-new()>.

$func and $func2 are two possible assigned functions.

$id2 is the FIG ID (FID) of the PEG having function $func2.

$fam is the family that $id2 is presumed to be a member of.

Returns TRUE is $func and C$func2> are loosely "the same," or if $func is judged to be "ignorable."

memberusage if ( &FigFam::member($x, \@y)) { #...do something... }

$x is a scalar.

\@y is a ptr to a list.

Returns TRUE if $x is in list @y.

list_membersusage @ids = $figfam_obj->list_members();

Returns a list of the PEG FIDs in a family.

loose_same_funcusage:

if ( &FigFam::loose_same_func($f1, $f2) ) { #...do something... }

$f1 and $f2 are function strings.

Returns TRUE if $f1 and $f2 are "more or less the same."

representativesusage @rep_seqs = $figfam_obj->representatives();

Returns a list of the "representative sequences" characterizing a FIGfam.

should_be_memberusage if ( $figfam_obj->should_be_member( $seq ) ) { #...do something... }

Returns ($placed,$sims). $placed will be TRUE if the protein sequence in $seq is judged to b "similar enough" to the members of a family to potentially be included.

I have added the "loose" argument as an optional last argument. This means that

if ( $figfam_obj->should_be_member( $seq,0,1 ) ) { #...do something... }

will return true, even if the input sequence is truncated (i.e., we do not force th similarity to go across 80% of matched sequences in the family).

family_functionusage $func = $figfam_obj->family_function();

Returns the "consensus function" assigned to a FIGfam object.

family_idusage $fam_id = $figfam_obj->family_id();

Returns the FIGfam ID of a FIGfam object.

family_dirusage:

C<< $dir = &FigFam::family_dir( $fam_data, $fam_id ); >>Returns the path to the subdirectory of $fam_data$fam_id