Sha256: 4ebb9aa69e266fd1189a66d8d59849941ff5fe07610cbb148d8b320383427cf1

Contents?: true

Size: 1.04 KB

Versions: 85

Compression:

Stored size: 1.04 KB

Contents

require 'rbbt'
require 'rbbt/resource'
require 'rbbt/tsv'

module PSI_MI
  extend Resource
  self.subdir = Rbbt.share.databases.PSI_MI

  URL="http://psidev.cvs.sourceforge.net/viewvc/psidev/psi/mi/rel25/data/psi-mi25.obo"

  PSI_MI.claim PSI_MI.identifiers, :proc do
    tsv = TSV.setup({}, :type => :list, :key_field => "PSI-MI Term", :fields => ["Name", "Description"])
    Open.open(URL).read.split("[Term]").each do |chunk|
      id = chunk.scan(/id: ([^\n]*)/)[0]
      next if id.nil?
      id = id.first
      name = chunk.scan(/name: ([^\n]*)/)[0]
      description = chunk.scan(/def: "([^\n]*)"/)[0]
      tsv[id] = [name, description]
    end
    tsv.to_s
  end
end


if defined? Entity 
  require 'rbbt/entity/gene'
  require 'rbbt/entity/interactor'
  require 'rbbt/sources/PSI_MI'

  module PSI_MITerm
    extend Entity

    self.format = "PSI-MI Term", "Method"

    property :name => :array2single do
      @@index ||= PSI_MI.identifiers.tsv(:persist => true, :fields => ["Name"], :type => :single)
      @@index.values_at(*self)
    end
    
  end
end

Version data entries

85 entries across 85 versions & 1 rubygems

Version Path
rbbt-sources-3.4.2 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.4.1 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.3.0 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.16 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.15 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.14 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.13 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.12 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.11 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.10 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.9 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.8 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.6 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.4 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.3 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.2 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.1 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.2.0 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.1.52 lib/rbbt/sources/PSI_MI.rb
rbbt-sources-3.1.51 lib/rbbt/sources/PSI_MI.rb