Sha256: 390673232c095c80ee748366f9e336d1d174a6cb7f5a615695ce161537b00363

Contents?: true

Size: 1.92 KB

Versions: 5

Compression:

Stored size: 1.92 KB

Contents

require 'rubygems'
require 'rspec'

require 'biointerchange'

describe BioInterchange::Genomics::RDFWriter do
  describe 'serialization of GFF3 models' do
    it 'empty document' do
      istream, ostream = IO.pipe
      BioInterchange::Genomics::RDFWriter.new(ostream).serialize(BioInterchange::Genomics::GFF3FeatureSet.new())
      ostream.close
      istream.read.lines.count.should eq(10)
    end

    it 'model with three features' do
      istream, ostream = IO.pipe
      set = BioInterchange::Genomics::GFF3FeatureSet.new()
      feature = BioInterchange::Genomics::GFF3Feature.new(
          'GRCh37.1',
          'NCBI',
          BioInterchange::SOFA.CDS,
          32890598,
          32890664,
          0.1,
          BioInterchange::Genomics::GFF3Feature::POSITIVE,
          nil,
          { 'ID' => [ 'BRCA2' ], 'annotation' => [ 'manual' ] }
        )
      set.add(feature)
      feature = BioInterchange::Genomics::GFF3Feature.new(
          'GRCh37.1',
          'NCBI',
          BioInterchange::SOFA.modified_DNA_base,
          32890599,
          32890599,
          0.8,
          BioInterchange::Genomics::GFF3Feature::POSITIVE,
          nil,
          { 'ID' => [ 'aModifiedBase' ], 'Parent' => [ 'BRCA2' ] }
        )
      set.add(feature)
      feature = BioInterchange::Genomics::GFF3Feature.new(
          'GRCh37.1',
          'NCBI',
          BioInterchange::SOFA.modified_DNA_base,
          32890599,
          32890599,
          0.8,
          BioInterchange::Genomics::GFF3Feature::POSITIVE,
          nil,
          { 'Parent' => [ 'BRCA2', 'aModifiedBase' ] }
        )
      set.add(feature)
      BioInterchange::Genomics::RDFWriter.new(ostream).serialize(set)
      ostream.close
      lines = istream.read.lines
      feature_no = 0
      lines.each { |line|
        feature_no += 1 if line.match(/\sa\s+gfvo:Feature\s+[.,;]$/)
      }
      lines.count.should be == 91
      feature_no.should be == 3
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
biointerchange-1.0.8 spec/gff3_rdfwriter_spec.rb
biointerchange-1.0.7 spec/gff3_rdfwriter_spec.rb
biointerchange-1.0.6 spec/gff3_rdfwriter_spec.rb
biointerchange-1.0.5 spec/gff3_rdfwriter_spec.rb
biointerchange-1.0.4 spec/gff3_rdfwriter_spec.rb