SYNOPSIS
use Bio::SeqIO;
use Bio::Cluster::SequenceFamily;
use File::Spec;
my $file = File::Spec->catfile('t','data','swiss.dat');
my $seqio= Bio::SeqIO->new(-format => 'swiss',
-file => $file);
my @mem;
while(my $seq = $seqio->next_seq){
push @mem, $seq;
}
#create the family
my $family = Bio::Cluster::SequenceFamily->new(
-family_id=>"Family_1",
-description=>"Family Description Here",
-annotation_score=>"100",
-members=>\@mem);
#access the family
foreach my $mem ($family->get_members){
print $mem->display_id."\t".$mem->desc."\n";
}
#select members if members have a Bio::Species Object
my @mem = $family->get_members(-binomial=>"Homo sapiens");
@mem = $family->get_members(-ncbi_taxid => 9606);
@mem = $family->get_members(-common_name=>"Human");
@mem = $family->get_members(-species=>"sapiens");
@mem = $family->get_members(-genus=>"Homo");
DESCRIPTION
This is a simple Family object that may hold any group of object. For more specific families, one should derive from FamilyI.FEEDBACK
Email [email protected] for support and feedback.Mailing Lists
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.
[email protected] - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Support
Please direct usage questions or support issues to the mailing list:rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.
Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:
https://github.com/bioperl/bioperl-live/issues
AUTHOR - Shawn Hoon
Email [email protected]APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a ``_''.new
Title : new Usage : my $family = Bio::Cluster::SequenceFamily->new( -family_id=>"Family_1", -description=>"Family Description Here", -annotation_score=>"100", -members=>\@mem); Function: Constructor for SequenceFamily object Returns : Bio::Cluster::SequenceFamily object
See Bio::Cluster::SequenceFamily.
version
Title : version Usage : $family->version("1.0"); Function: get/set for version Returns : a string version of the family generated.
annotation_score
Title : annotation_score Usage : $family->annotation_score(100); Function: get/set for annotation_score which represent the confidence in which the consensus description has been assigned to the family. Returns : Bio::SimpleAlign
See Bio::SimpleAlign
alignment
Title : alignment Usage : $family->alignment($align); Function: get/set for an alignment object representing the multiple alignment of the members of the family. Returns : Bio::SimpleAlign
See Bio::SimpleAlign
tree
Title : tree Usage : $family->tree($tree); Function: get/set for an tree object representing the phylogenetic tree of the family. Returns : Bio::Tree
See Bio::Tree
Bio::Cluster::FamilyI methods
family_score
Title : family_score Usage : Bio::Cluster::FamilyI->family_score(95); Function: get/set for the score of algorithm used to generate the family if present This is aliased to cluster_score(). Returns : the score Args : the score
family_id
Title : family_id Usage : $family->family_id("Family_1"); Function: get/set for family id This is aliased to display_id(). Returns : a string specifying identifier of the family
Bio::ClusterI methods
display_id
Title : display_id Usage : Function: Get/set the display name or identifier for the cluster Returns : a string Args : optional, on set the display ID ( a string)
description
Title : description Usage : $fam->description("POLYUBIQUITIN") Function: get/set for the consensus description of the cluster Returns : the description string Args : Optional the description string
get_members
Title : get_members Usage : Valid criteria: -common_name -binomial -ncbi_taxid -organelle -genus $family->get_members(-common_name =>"human"); $family->get_members(-species =>"homo sapiens"); $family->get_members(-ncbi_taxid => 9606); For now, multiple critieria are ORed. Will return all members if no criteria are provided. Function: get members using methods from L<Bio::Species> the phylogenetic tree of the family. Returns : an array of objects that are member of this family.
size
Title : size Usage : $fam->size(); Function: get/set for the size of the family, calculated from the number of members Returns : the size of the family Args :
cluster_score
Title : cluster_score Usage : $fam->cluster_score(100); Function: get/set for cluster_score which represent the score in which the clustering algorithm assigns to this cluster. Returns : a number
Implementation specific methods
These are mostly for adding/removing/changing.
add_members
Title : add_members Usage : $fam->add_member([$seq1,$seq1]); Function: add members to a family Returns : Args : the member(s) to add, as an array or arrayref
remove_members
Title : remove_members Usage : $fam->remove_members(); Function: remove all members from a family Returns : the previous array of members Args : none
members
Title : members Usage : $members = $fam->members([$seq1,$seq1]); Function: Deprecated. Use add_members() or get_members() instead