| Bio-DOOP-DOOP documentation | Contained in the Bio-DOOP-DOOP distribution. |
Bio::DOOP::Cluster - DoOP cluster object
Version 0.12
$cluster = Bio::DOOP::Cluster->new($db,"81007400","500"); print $cluster->get_cluster_id;
This object represents a cluster. You can access its properties through the methods.
Tibor Nagy, Godollo, Hungary and Endre Sebestyen, Martonvasar, Hungary
Creates a new cluster object from the cluster id and promoter type. Every promoter cluster has a unique identifier. This is the cluster id. There are three promoter sizes (500,1000,3000 bp), so a unique cluster is identified by two parameters : cluster id and promoter type.
Return type: Bio::DOOP::Cluster object
$cluster = Bio::DOOP::Cluster->new($db,"8010110","500");
Used by internal MySQL queries.
Return type: Bio::DOOP::Cluster object
Bio::DOOP::Cluster->new_by_id($db,"2453");
Returns the MySQL id of the cluster
Return type: string
$cluster_id = $cluster->get_id;
Returns the cluster id of the cluster.
Return type: string
$cluster_id = $cluster->get_cluster_id;
Returns the size of the promoter (500,1000,3000 bp).
Return type: string
$pt = $cluster->get_promo_type;
Returns the type of the promoter (The available return types are the following: 1,2,3,4,5n,6n). See http://doop.abc.hu for more details.
Return type: string
print $cluster->get_type;
Returns the date when the cluster was last modified.
Return type: string
$date = $cluster->get_date;
Returns the version of the cluster.
Return type: string
print $cluster->get_version;
Returns the arrayref of all subsets associated with the cluster.
Return type: arrayref, the array containing Bio::DOOP::ClusterSubset objects
@subsets = @{$cluster->get_all_subsets};
Returns a subset of a cluster, specified by type.
Return type: Bio::DOOP::ClusterSubset object
$subset = $cluster->get_subset_by_type("B");
if ($subset == -1){
print"No subsets! Try another subset type\n";
}
Returns all available cluster subset types.
Return type: arrayref of strings
@types = @{$cluster->get_available_types};
Returns the arrayref of all sequences associated with the cluster.
Return type: arrayref, the array containig Bio::DOOP::Sequence objects
@seqs = @{$cluster->get_all_seqs};
Returns the original subset, containing the whole cluster.
Return type: Bio::DOOP::ClusterSubset object
@subsets = @{$cluster->get_orig_subset};
Returns the cluster reference sequence (human or arabidopsis).
Return type: Bio::DOOP::Sequence object
$refseq = $cluster->get_ref_seq;
| Bio-DOOP-DOOP documentation | Contained in the Bio-DOOP-DOOP distribution. |
package Bio::DOOP::Cluster; use strict; use warnings;
our $VERSION = '0.12';
sub new { my $self = {}; my $dummy = shift; my $db = shift; $self->{ID} = shift; # cluster_id field in the MySQL tables. $self->{PROMO_TYPE} = shift; my $id = $self->{ID}; my $size = $self->{PROMO_TYPE}; my $ret = $db->query("SELECT * FROM cluster WHERE cluster_id=\"$id\" AND cluster_promoter_type=\"$size\";"); if ($#$ret == -1){ return(-1); } my @cluster = @{$$ret[0]}; $self->{PRIMARY} = $cluster[0]; $self->{TYPE} = $cluster[3]; $self->{DATE} = $cluster[4]; $self->{VERSION} = $cluster[5]; $self->{DB} = $db; bless $self; return ($self); }
sub new_by_id { my $self = {}; my $dummy = shift; my $db = shift; $self->{PRIMARY} = shift; # cluster_id field in the MySQL tables. my $id = $self->{PRIMARY}; my $ret = $db->query("SELECT * FROM cluster WHERE cluster_primary_id=\"$id\";"); if ($#$ret == -1){ return(-1); } my @cluster = @{$$ret[0]}; $self->{PRIMARY} = $cluster[0]; $self->{PROMO_TYPE} = $cluster[1]; $self->{ID} = $cluster[2]; $self->{TYPE} = $cluster[3]; $self->{DATE} = $cluster[4]; $self->{VERSION} = $cluster[5]; $self->{DB} = $db; bless $self; return ($self); }
sub get_id { my $self = shift; return $self->{PRIMARY}; }
sub get_cluster_id { my $self = shift; return $self->{ID}; }
sub get_promo_type { my $self = shift; return($self->{PROMO_TYPE}); }
sub get_type { my $self = shift; return($self->{TYPE}); }
sub get_date { my $self = shift; return($self->{DATE}); }
sub get_version { my $self = shift; return($self->{VERSION}); }
sub get_all_subsets { my $self = shift; my $id = $self->{PRIMARY}; my $ret = $self->{DB}->query("SELECT subset_primary_id FROM cluster_subset WHERE cluster_primary_id = $id"); if ($#$ret == -1){ return(-1); } my @subsets; for my $i (@$ret){ push @subsets,Bio::DOOP::ClusterSubset->new($self->{DB},$$i[0]); } return(\@subsets); }
sub get_subset_by_type { my $self = shift; my $type = shift; my $id = $self->{PRIMARY}; my $ret = $self->{DB}->query("SELECT subset_primary_id FROM cluster_subset WHERE cluster_primary_id = $id AND subset_type = \"$type\""); if ($#$ret == -1){ return(-1); } my $subset = Bio::DOOP::ClusterSubset->new($self->{DB},$$ret[0]->[0]); return($subset); }
sub get_available_types { my $self = shift; my $id = $self->{PRIMARY}; my $ret = $self->{DB}->query("SELECT subset_type FROM cluster_subset WHERE cluster_primary_id = $id"); if ($#$ret == -1){ return(-1); } my @types; for my $i (@$ret){ push @types,$$i[0]; } return(\@types); }
sub get_all_seqs { my $self = shift; my $id = $self->{PRIMARY}; my $ret = $self->{DB}->query("SELECT DISTINCT(sequence_primary_id) FROM subset_xref WHERE cluster_primary_id = $id;"); if ($#$ret == -1){ return(-1); } my @seqs; for my $i (@$ret){ push @seqs,Bio::DOOP::Sequence->new($self->{DB},$$i[0]); } return(\@seqs); }
sub get_orig_subset { my $self = shift; my $id = $self->{PRIMARY}; my $ret = $self->{DB}->query("SELECT subset_primary_id FROM cluster_subset WHERE cluster_primary_id = $id AND original = \"y\""); if ($#$ret == -1){ return(-1); } my $subset = Bio::DOOP::ClusterSubset->new($self->{DB},$$ret[0]->[0]); return($subset); }
sub get_ref_seq { my $self = shift; my $id = $self->{PRIMARY}; my $ret = $self->{DB}->query("SELECT sequence.sequence_primary_id FROM sequence, taxon_annotation, subset_xref WHERE cluster_primary_id = $id AND (taxon_taxid = '3702' OR taxon_taxid = '9606') AND taxon_annotation.taxon_primary_id = sequence.taxon_primary_id AND sequence.sequence_primary_id = subset_xref.sequence_primary_id;"); if ($#$ret == -1){ return(-1); } my $seq = Bio::DOOP::Sequence->new($self->{DB},$$ret[0]->[0]); return($seq); } 1;