sylfy 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/Rakefile +13 -0
- data/lib/sylfy.rb +12 -25
- data/lib/sylfy/add.rb +10 -0
- data/lib/sylfy/add/bio_kegg_kgml.rb +108 -0
- data/lib/sylfy/datamodel.rb +141 -0
- data/lib/sylfy/feature.rb +128 -0
- data/lib/sylfy/mathf.rb +40 -0
- data/lib/sylfy/pattern.rb +14 -0
- data/lib/sylfy/service.rb +34 -0
- data/lib/sylfy/service/biocycrest.rb +41 -0
- data/lib/sylfy/service/cactusncirest.rb +64 -0
- data/lib/sylfy/service/cbioportal.rb +156 -0
- data/lib/sylfy/service/chembl.rb +106 -0
- data/lib/sylfy/service/ebisoap.rb +55 -0
- data/lib/sylfy/service/ensemblrest.rb +64 -0
- data/lib/sylfy/service/ensemblrest/archive.rb +35 -0
- data/lib/sylfy/service/ensemblrest/comparative.rb +146 -0
- data/lib/sylfy/service/ensemblrest/xrefs.rb +73 -0
- data/lib/sylfy/service/hgncrest.rb +52 -0
- data/lib/sylfy/service/keggrest.rb +6 -19
- data/lib/sylfy/service/keggrest/conv.rb +64 -40
- data/lib/sylfy/service/keggrest/find.rb +27 -48
- data/lib/sylfy/service/keggrest/get.rb +82 -0
- data/lib/sylfy/service/keggrest/link.rb +17 -37
- data/lib/sylfy/service/keggrest/list.rb +18 -50
- data/lib/sylfy/service/lipidmaprest.rb +228 -0
- data/lib/sylfy/service/pubchem.rb +71 -0
- data/lib/sylfy/service/pubchemrest.rb +249 -0
- data/lib/sylfy/service/rest.rb +26 -0
- data/lib/sylfy/service/soapwsdl.rb +78 -0
- data/lib/sylfy/service/unichemrest.rb +106 -0
- data/lib/sylfy/utils.rb +18 -0
- data/lib/sylfy/utils/keyhash.rb +1149 -0
- data/lib/sylfy/utils/reactionkey.rb +197 -0
- data/lib/sylfy/version.rb +1 -1
- data/sylfy.gemspec +11 -15
- data/test/test_kegg_rest.rb +58 -0
- data/test/test_reactionkey.rb +37 -0
- metadata +87 -15
- data/lib/sylfy/math.rb +0 -24
- data/lib/sylfy/service/keggrest/restKegg_get.rb +0 -130
data/lib/sylfy/math.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# UniSysDB library in Ruby
|
3
|
-
# Copyright (C) 2012
|
4
|
-
#
|
5
|
-
# author: Natapol Pornputtapong <natapol@chalmers.se>
|
6
|
-
#
|
7
|
-
# Documentation: Natapol Pornputtapong (RDoc'd and embellished by William Webber)
|
8
|
-
#
|
9
|
-
|
10
|
-
module Sylfy
|
11
|
-
|
12
|
-
module Mathf
|
13
|
-
|
14
|
-
def self.lnfactorial(n)
|
15
|
-
return GSL::Sf::lngamma(n+1)
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.hypergeomatrix_test(nn, m, n, k)
|
19
|
-
log_h = lnfactorial(m) - lnfactorial(k) - lnfactorial(m-k) + lnfactorial(nn-m) - lnfactorial(n-k) - lnfactorial(nn-m-n+k) - lnfactorial(nn) + lnfactorial(n) + lnfactorial(nn-n)
|
20
|
-
return (Math::E ** log_h)
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
@@ -1,130 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# UniSysDB library in Ruby
|
3
|
-
# Copyright (C) 2012
|
4
|
-
#
|
5
|
-
# @author Natapol Pornputtapong <natapol@chalmers.se>
|
6
|
-
#
|
7
|
-
require 'open-uri'
|
8
|
-
require 'net/http'
|
9
|
-
require 'rexml/document'
|
10
|
-
|
11
|
-
module Unisys
|
12
|
-
|
13
|
-
module Service
|
14
|
-
|
15
|
-
module RESTKegg
|
16
|
-
|
17
|
-
module_function
|
18
|
-
|
19
|
-
def get(id, option = nil)
|
20
|
-
|
21
|
-
help = "
|
22
|
-
help: get(id, targetdb = nil)
|
23
|
-
help:
|
24
|
-
help: <dbentries> = KEGG database entries involving the following databases: pathway | brite | module | disease | drug | environ | ko | genome |
|
25
|
-
help: <org> | compound | glycan | reaction | rpair | rclass | enzyme
|
26
|
-
help: <org> = KEGG organism code or T number
|
27
|
-
help:
|
28
|
-
help: <option> = aaseq | ntseq | mol | kcf | image
|
29
|
-
"
|
30
|
-
if id == :help
|
31
|
-
puts help
|
32
|
-
return []
|
33
|
-
else
|
34
|
-
|
35
|
-
if option != nil && ['aaseq', 'ntseq', 'mol', 'kcf', 'image'].include?(option.to_s)
|
36
|
-
text = "#{id}/#{option}"
|
37
|
-
else
|
38
|
-
text = "#{id}"
|
39
|
-
end
|
40
|
-
|
41
|
-
begin
|
42
|
-
doc = URI.parse("#{@@baseuri}/get/#{text}").read().strip()
|
43
|
-
|
44
|
-
rescue OpenURI::HTTPError
|
45
|
-
raise Unisys::ServiceException, "Query not found."
|
46
|
-
end
|
47
|
-
|
48
|
-
doc = "\n\n\n#{doc}" if option != nil && option.to_sym == :mol
|
49
|
-
|
50
|
-
return doc
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
def getSmallMolecule(id)
|
56
|
-
#:id, :dataPrimarySource, :xrefs, :relations :inchi, :formula, :smiles, :inchiKey :names :relatype :terminal
|
57
|
-
doc = get(id)
|
58
|
-
|
59
|
-
rel_conv = {"Same as" => 'obo.internal:is_a'}
|
60
|
-
ref_conv = {"PubChem:" => "urn:miriam:pubchem.substance:", "ChEBI:" => "urn:miriam:obo.chebi:", "CAS:" => "urn:miriam:cas:", "3DMET:" => "urn:miriam:3dmet:", "KNApSAcK:" => "urn:miriam:knapsack:", "PDB-CCD:" => "urn:miriam:pdb-ccd:", "DrugBank:" => "urn:miriam:drugbank:", "LIPIDMAPS:" => "urn:miriam:lipidmaps:", "LipidBank:" => "urn:miriam:lipidbank:", "GlycomeDB:" => "urn:miriam:glycomedb:" }
|
61
|
-
|
62
|
-
result = {}
|
63
|
-
result[:names] = []
|
64
|
-
result[:xrefs] = []
|
65
|
-
result[:relations] = []
|
66
|
-
|
67
|
-
field = ""
|
68
|
-
content = ""
|
69
|
-
doc.split(/\n/).each do |line|
|
70
|
-
|
71
|
-
if line =~ /^(\p{Upper}+) +(.*)/
|
72
|
-
field = $1.to_sym
|
73
|
-
content = $2.chomp
|
74
|
-
elsif line =~ /^ +(.*)/
|
75
|
-
content = $1.chomp
|
76
|
-
end
|
77
|
-
|
78
|
-
case field
|
79
|
-
when :ENTRY
|
80
|
-
dat = content.split(/ +/)
|
81
|
-
result[:dataPrimarySource] = "#{Unisys::kegg_miriam[dat[0][0]]}:#{dat[0]}"
|
82
|
-
when :NAME
|
83
|
-
result[:names].push(content[0..-2])
|
84
|
-
when :FORMULA
|
85
|
-
result[:formula] = content
|
86
|
-
when :COMPOSITION
|
87
|
-
result[:formula] = content
|
88
|
-
when :MASS
|
89
|
-
|
90
|
-
when :CLASS
|
91
|
-
|
92
|
-
when :REMARK
|
93
|
-
dat = content.split(/: /)
|
94
|
-
|
95
|
-
result[:relations].push({:relatype => rel_conv[dat[0]]}, :terminal => "#{Unisys::kegg_miriam[dat[1][0]]}:#{dat[1]}")
|
96
|
-
when :REFERENCE
|
97
|
-
|
98
|
-
|
99
|
-
when :REACTION
|
100
|
-
|
101
|
-
when :PATHWAY
|
102
|
-
|
103
|
-
when :ENZYME
|
104
|
-
|
105
|
-
when :ORTHOLOGY
|
106
|
-
|
107
|
-
when :DBLINKS
|
108
|
-
dat = content.split(/ /)
|
109
|
-
if ref_conv.has_key?(dat[0])
|
110
|
-
dat[1..-1].each do |item|
|
111
|
-
result[:xrefs].push("#{ref_conv[dat[0]]}#{item}")
|
112
|
-
end
|
113
|
-
end
|
114
|
-
when :NODE
|
115
|
-
|
116
|
-
when :EDGE
|
117
|
-
|
118
|
-
end
|
119
|
-
|
120
|
-
#result.push(line.chomp.split(/\t/))
|
121
|
-
end
|
122
|
-
|
123
|
-
return result
|
124
|
-
end
|
125
|
-
|
126
|
-
end
|
127
|
-
|
128
|
-
end
|
129
|
-
|
130
|
-
end
|