| Class | Bio::Nexus::DistancesBlock |
| In: |
lib/bio/db/nexus.rb
|
| Parent: | GenericBlock |
Bio::Nexus::DistancesBlock represents a distances nexus block.
Begin Distances;
Dimensions nchar=20 ntax=5; Format Triangle=Upper; Matrix taxon_1 0.0 1.0 2.0 4.0 7.0 taxon_2 1.0 0.0 3.0 5.0 8.0 taxon_3 3.0 4.0 0.0 6.0 9.0 taxon_4 7.0 3.0 1.0 0.0 9.5 taxon_5 1.2 1.3 1.4 1.5 0.0;
End;
require 'bio/db/nexus' # Create a new parser: nexus = Bio::Nexus.new( nexus_data_as_string ) # Get distances block(s): distances_blocks = nexus.get_distances_blocks # Get matrix as Bio::Nexus::NexusMatrix object: matrix = distances_blocks[ 0 ].get_matrix # Get value (column 0 are names): val = matrix.get_value( 1, 5 )
| TRIANGLE | = | "Triangle" |
Creates a new DistancesBlock object named ‘name’.
Arguments:
# File lib/bio/db/nexus.rb, line 1332
1332: def initialize( name )
1333: super( name )
1334: @number_of_taxa = 0
1335: @number_of_characters = 0
1336: @triangle = String.new
1337: @matrix = NexusMatrix.new
1338: end
Gets the matrix.
| Returns: | Bio::Nexus::NexusMatrix |
# File lib/bio/db/nexus.rb, line 1391
1391: def get_matrix
1392: @matrix
1393: end
Gets the "number of characters" property.
| Returns: | Integer |
# File lib/bio/db/nexus.rb, line 1377
1377: def get_number_of_characters
1378: @number_of_characters
1379: end
Gets the "number of taxa" property.
| Returns: | Integer |
# File lib/bio/db/nexus.rb, line 1370
1370: def get_number_of_taxa
1371: @number_of_taxa
1372: end
Sets the matrix.
Arguments:
# File lib/bio/db/nexus.rb, line 1423
1423: def set_matrix( matrix )
1424: @matrix = matrix
1425: end
Sets the "number of characters" property.
Arguments:
# File lib/bio/db/nexus.rb, line 1407
1407: def set_number_of_characters( number_of_characters )
1408: @number_of_characters = number_of_characters
1409: end
Sets the "number of taxa" property.
Arguments:
# File lib/bio/db/nexus.rb, line 1399
1399: def set_number_of_taxa( number_of_taxa )
1400: @number_of_taxa = number_of_taxa
1401: end
Returns a String describing this block as nexus formatted data.
| Returns: | String |
# File lib/bio/db/nexus.rb, line 1343
1343: def to_nexus
1344: line_1 = String.new
1345: line_1 << DIMENSIONS
1346: if ( Nexus::Util::larger_than_zero( get_number_of_taxa ) )
1347: line_1 << " " << NTAX << "=" << get_number_of_taxa
1348: end
1349: if ( Nexus::Util::larger_than_zero( get_number_of_characters ) )
1350: line_1 << " " << NCHAR << "=" << get_number_of_characters
1351: end
1352: line_1 << DELIMITER
1353:
1354: line_2 = String.new
1355: line_2 << FORMAT
1356: if ( Nexus::Util::longer_than_zero( get_triangle ) )
1357: line_2 << " " << TRIANGLE << "=" << get_triangle
1358: end
1359: line_2 << DELIMITER
1360:
1361: line_3 = String.new
1362: line_3 << MATRIX
1363: Nexus::Util::to_nexus_helper( DISTANCES_BLOCK, [ line_1, line_2, line_3 ] +
1364: get_matrix.to_nexus_row_array( " " ) )
1365: end