Class: GFA::Record::Containment

Inherits:
GFA::Record show all
Includes:
HasFromTo
Defined in:
lib/gfa/record/containment.rb

Constant Summary collapse

CODE =
:C
REQ_FIELDS =
%i[from from_orient to to_orient pos overlap]
OPT_FIELDS =
{
  RC: :i, # Read coverage
  NM: :i, # Number of mismatches/gaps
  ID: :Z  # Edge identifier
}

Constants inherited from GFA::Record

CODES, TYPES

Instance Attribute Summary

Attributes inherited from GFA::Record

#fields

Instance Method Summary collapse

Methods included from HasFromTo

#from?, #include?, #segment_names_a, #segments, #to?

Methods inherited from GFA::Record

#[], [], #code, code_class, #dup, #empty?, #eql?, #hash, name_class, #to_s, #type

Constructor Details

#initialize(from, from_orient, to, to_orient, pos, overlap, *opt_fields) ⇒ Containment

Returns a new instance of Containment.



24
25
26
27
28
29
30
31
32
33
# File 'lib/gfa/record/containment.rb', line 24

def initialize(from, from_orient, to, to_orient, pos, overlap, *opt_fields)
  @fields = {}
  add_field(2, :Z, from,        /[!-)+-<>-~][!-~]*/)
  add_field(3, :Z, from_orient, /[+-]/)
  add_field(4, :Z, to,          /[!-)+-<>-~][!-~]*/)
  add_field(5, :Z, to_orient,   /[+-]/)
  add_field(6, :i, pos,         /[0-9]*/)
  add_field(7, :Z, overlap,     /\*|([0-9]+[MIDNSHPX=])+/)
  opt_fields.each { |f| add_opt_field(f, OPT_FIELDS) }
end