Class: Bio::PhyloXML::Node
- Inherits:
-
Object
- Object
- Bio::PhyloXML::Node
- Defined in:
- lib/bio/phyloxml/elements.rb
Overview
Description
Class to hold clade element of phyloXML.
Instance Attribute Summary collapse
-
#binary_characters ⇒ Object
BinaryCharacters object.
-
#color ⇒ Object
BranchColor object.
-
#confidences ⇒ Object
Array of Confidence objects.
-
#date ⇒ Object
Date object.
-
#distributions ⇒ Object
Array of Distribution objects.
-
#events ⇒ Object
Events at the root node of a clade (e.g. one gene duplication).
-
#id_source ⇒ Object
String.
-
#name ⇒ Object
String.
-
#node_id ⇒ Object
Id object.
-
#other ⇒ Object
Array of Other objects.
-
#properties ⇒ Object
An array of Property objects, for example depth for sea animals.
-
#references ⇒ Object
Array of Reference objects.
-
#sequences ⇒ Object
Array of Sequence objects.
-
#taxonomies ⇒ Object
Array of Taxonomy objects.
-
#width ⇒ Object
Float.
Instance Method Summary collapse
-
#extract_biosequence(seq_i = 0) ⇒ Object
Extracts the relevant information from node (specifically taxonomy and sequence) to create Bio::Sequence object.
-
#initialize ⇒ Node
constructor
A new instance of Node.
-
#to_biotreenode ⇒ Object
Converts to a Bio::Tree::Node object.
-
#to_xml(branch_length, write_branch_length_as_subelement) ⇒ Object
Converts elements to xml representation.
Constructor Details
#initialize ⇒ Node
Returns a new instance of Node.
213 214 215 216 217 218 219 220 221 |
# File 'lib/bio/phyloxml/elements.rb', line 213 def initialize @confidences = [] @sequences = [] @taxonomies = [] @distributions = [] @references = [] @properties = [] @other = [] end |
Instance Attribute Details
#binary_characters ⇒ Object
BinaryCharacters object. The names and/or counts of binary characters present, gained, and lost at the root of a clade.
195 196 197 |
# File 'lib/bio/phyloxml/elements.rb', line 195 def binary_characters @binary_characters end |
#color ⇒ Object
BranchColor object. Apply for the whole clade unless overwritten in sub-clade.
186 187 188 |
# File 'lib/bio/phyloxml/elements.rb', line 186 def color @color end |
#confidences ⇒ Object
Array of Confidence objects. Indicates the support for a clade/parent branch.
183 184 185 |
# File 'lib/bio/phyloxml/elements.rb', line 183 def confidences @confidences end |
#date ⇒ Object
Date object. A date associated with a clade/node.
201 202 203 |
# File 'lib/bio/phyloxml/elements.rb', line 201 def date @date end |
#distributions ⇒ Object
Array of Distribution objects. The geographic distribution of the items of a clade (species, sequences), intended for phylogeographic applications.
198 199 200 |
# File 'lib/bio/phyloxml/elements.rb', line 198 def distributions @distributions end |
#events ⇒ Object
Events at the root node of a clade (e.g. one gene duplication).
164 165 166 |
# File 'lib/bio/phyloxml/elements.rb', line 164 def events @events end |
#id_source ⇒ Object
String. Used to link other elements to a clade (node) (on the xml-level).
167 168 169 |
# File 'lib/bio/phyloxml/elements.rb', line 167 def id_source @id_source end |
#name ⇒ Object
String. Name of the node.
170 171 172 |
# File 'lib/bio/phyloxml/elements.rb', line 170 def name @name end |
#node_id ⇒ Object
Id object
189 190 191 |
# File 'lib/bio/phyloxml/elements.rb', line 189 def node_id @node_id end |
#other ⇒ Object
Array of Other objects. Used to save additional information from other than PhyloXML namspace.
211 212 213 |
# File 'lib/bio/phyloxml/elements.rb', line 211 def other @other end |
#properties ⇒ Object
An array of Property objects, for example depth for sea animals.
207 208 209 |
# File 'lib/bio/phyloxml/elements.rb', line 207 def properties @properties end |
#references ⇒ Object
Array of Reference objects. A literature reference for a clade.
204 205 206 |
# File 'lib/bio/phyloxml/elements.rb', line 204 def references @references end |
#sequences ⇒ Object
Array of Sequence objects. Represents a molecular sequence (Protein, DNA, RNA) associated with a node.
192 193 194 |
# File 'lib/bio/phyloxml/elements.rb', line 192 def sequences @sequences end |
#taxonomies ⇒ Object
Array of Taxonomy objects. Describes taxonomic information for a clade.
180 181 182 |
# File 'lib/bio/phyloxml/elements.rb', line 180 def taxonomies @taxonomies end |
#width ⇒ Object
Float. Branch width for this node (including parent branch). Applies for the whole clade unless overwritten in sub-clades.
173 174 175 |
# File 'lib/bio/phyloxml/elements.rb', line 173 def width @width end |
Instance Method Details
#extract_biosequence(seq_i = 0) ⇒ Object
Extracts the relevant information from node (specifically taxonomy and sequence) to create Bio::Sequence object. Node can have several sequences, so parameter to this method is to specify which sequence to extract.
- Returns
-
Bio::Sequence
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
# File 'lib/bio/phyloxml/elements.rb', line 261 def extract_biosequence(seq_i=0) seq = @sequences[seq_i].to_biosequence seq.classification = [] @taxonomies.each do |t| seq.classification << t.scientific_name if t.rank == "species" seq.species = t.scientific_name end end #seq.division => .. http://www.ebi.ac.uk/embl/Documentation/User_manual/usrman.html#3_2 # It doesn't seem there is anything in PhyloXML corresponding to this. return seq end |
#to_biotreenode ⇒ Object
Converts to a Bio::Tree::Node object. If it contains several taxonomies Bio::Tree::Node#scientific name will get the scientific name of the first taxonomy.
If there are several confidence values, the first with bootstrap type will be returned as Bio::Tree::Node#bootstrap
tree = phyloxmlparser.next_tree
node = tree.get_node_by_name(“A”).to_biotreenode
- Returns
-
Bio::Tree::Node
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 |
# File 'lib/bio/phyloxml/elements.rb', line 237 def to_biotreenode node = Bio::Tree::Node.new node.name = @name node.scientific_name = @taxonomies[0].scientific_name if not @taxonomies.empty? #@todo what if there are more? node.taxonomy_id = @taxonomies[0].taxononmy_id if @taxonomies[0] != nil if not @confidences.empty? @confidences.each do |confidence| if confidence.type == "bootstrap" node.bootstrap = confidence.value break end end end return node end |
#to_xml(branch_length, write_branch_length_as_subelement) ⇒ Object
Converts elements to xml representation. Called by PhyloXML::Writer class.
279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 |
# File 'lib/bio/phyloxml/elements.rb', line 279 def to_xml(branch_length, write_branch_length_as_subelement) clade = LibXML::XML::Node.new('clade') PhyloXML::Writer.generate_xml(clade, self, [[:simple, 'name', @name]]) if branch_length != nil if write_branch_length_as_subelement clade << LibXML::XML::Node.new('branch_length', branch_length.to_s) else clade["branch_length"] = branch_length.to_s end end #generate all elements, except clade PhyloXML::Writer.generate_xml(clade, self, [ [:attr, "id_source"], [:objarr, 'confidence', 'confidences'], [:simple, 'width', @width], [:complex, 'branch_color', @branch_color], [:simple, 'node_id', @node_id], [:objarr, 'taxonomy', 'taxonomies'], [:objarr, 'sequence', 'sequences'], [:complex, 'events', @events], [:complex, 'binary_characters', @binary_characters], [:objarr, 'distribution', 'distributions'], [:complex, 'date', @date], [:objarr, 'reference', 'references'], [:objarr, 'propery', 'properties']]) return clade end |