Class: Bio::Velvet::Graph::OrientedNodeTrail::OrientedNode
- Inherits:
-
Object
- Object
- Bio::Velvet::Graph::OrientedNodeTrail::OrientedNode
show all
- Defined in:
- lib/assembly/oriented_node_trail.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(node = nil, first_side = nil) ⇒ OrientedNode
Returns a new instance of OrientedNode.
424
425
426
427
428
429
430
431
432
433
|
# File 'lib/assembly/oriented_node_trail.rb', line 424
def initialize(node=nil, first_side=nil)
@node = node
if first_side == true
@first_side = OrientedNodeTrail::START_IS_FIRST
elsif first_side == false
@first_side = OrientedNodeTrail::END_IS_FIRST
else
@first_side = first_side
end
end
|
Instance Attribute Details
#first_side ⇒ Object
Returns the value of attribute first_side.
422
423
424
|
# File 'lib/assembly/oriented_node_trail.rb', line 422
def first_side
@first_side
end
|
#node ⇒ Object
Returns the value of attribute node.
422
423
424
|
# File 'lib/assembly/oriented_node_trail.rb', line 422
def node
@node
end
|
Instance Method Details
#==(another) ⇒ Object
469
470
471
|
# File 'lib/assembly/oriented_node_trail.rb', line 469
def ==(another)
@node == another.node and @first_side == another.first_side
end
|
#copy ⇒ Object
495
496
497
|
# File 'lib/assembly/oriented_node_trail.rb', line 495
def copy
OrientedNode.new(@node, @first_side)
end
|
#hash ⇒ Object
461
462
463
|
# File 'lib/assembly/oriented_node_trail.rb', line 461
def hash
to_settable.hash
end
|
#next_neighbours(graph) ⇒ Object
473
474
475
|
# File 'lib/assembly/oriented_node_trail.rb', line 473
def next_neighbours(graph)
graph.neighbours_of @node, @first_side
end
|
#node_id ⇒ Object
465
466
467
|
# File 'lib/assembly/oriented_node_trail.rb', line 465
def node_id
@node.node_id
end
|
#reverse ⇒ Object
Return a new OrientedNode with the reverse direction
489
490
491
492
493
|
# File 'lib/assembly/oriented_node_trail.rb', line 489
def reverse
rev = OrientedNode.new(@node, @first_side)
rev.reverse!
return rev
end
|
#reverse! ⇒ Object
switch @first_side of this node
#starts_at_end? ⇒ Boolean
#starts_at_start? ⇒ Boolean
#to_s ⇒ Object
443
444
445
|
# File 'lib/assembly/oriented_node_trail.rb', line 443
def to_s
"OrientedNode: node #{@node.node_id}, first_side: #{@first_side}"
end
|
#to_settable ⇒ Object
Set#include? doesn’t pick up when the same OrientedNode is picked up twice independently, I don’t think. So convert to an array first
457
458
459
|
# File 'lib/assembly/oriented_node_trail.rb', line 457
def to_settable
[@node.node_id, @first_side]
end
|
#to_shorthand ⇒ Object
447
448
449
450
451
452
453
|
# File 'lib/assembly/oriented_node_trail.rb', line 447
def to_shorthand
if @first_side == OrientedNodeTrail::START_IS_FIRST
return "#{node_id}s"
else
return "#{node_id}e"
end
end
|