Skip to content

Instantly share code, notes, and snippets.

class SubsetComparison
include DataMapper::Resource
property :id, Integer, :key => true
property :subset_A, Integer
property :subset_B, Integer
property :comparison_type, Enum["CTL_VS_DZ", "UNTRT_VS_TRT", "TIME"]
property :disease_concept_id, String
property :tissue_concept_id, String
>> scs.map do |sc|
?> puts sc.genes.first.value
>> end
~ (0.002284) SET sql_auto_is_null = 0
~ (0.002567) SET SESSION sql_mode = 'ANSI,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_UNSIGNED_SUBTRACTION,TRADITIONAL'
~ (0.049798) SELECT `egid`, `cid`, `hgid`, `value` FROM `genes` WHERE `cid` IN (1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1073, 1074, 1075, 1076, 1077, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181,
# ERROR ONE
>> c = Cor.get(1060, :cid, :spearman)
~ (0.002499) SELECT `id`, `type`, `meth`, `cor`, `pval`, `pval_adj`, `perm_pval`, `len` FROM `cors` WHERE (`type` = 1 AND `meth` = 2 AND `id` = '1060') ORDER BY `id`, `type`, `meth` LIMIT 1
=> #<Cor @id="1060" @type=:cid @cor=0.0115675 @pval=0.315327 @pval_adj=nil @perm_pval=0.311 @meth=:spearman @len=7537>
>> c.update :pval_adj => 0.001
DataMapper::ImmutableError: Immutable resource cannot be modified
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource/state/immutable.rb:16:in `set'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/model/property.rb:269:in `pval_adj='
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:345:in `__send__'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:345:in `attributes='
scs = SubsetComparison.all # pk is "cid"
scs.map do |sc|
puts sc.genes.first
end
# => "SELECT `egid`, `cid`, `hgid`, `value` FROM `genes` WHERE `cid` IN (1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1073, 1074, 1075, 1076, 1077, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, ...);"
>> cor = Cor.first
~ (0.003168) SELECT `id`, `type`, `meth`, `cor`, `pval`, `pval_adj`, `perm_pval`, `len` FROM `cors` ORDER BY `id`, `type`, `meth` LIMIT 1
=> #<Cor @id="1059" @type=:cid @cor=-0.0339791 @pval=1.82219e-05 @pval_adj=nil @perm_pval=0.001 @meth=:pearson @len=15901>
>> cor.update :pval_adj => 0.001
DataMapper::ImmutableError: Immutable resource cannot be modified
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource/state/immutable.rb:16:in `set'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/model/property.rb:269:in `pval_adj='
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:345:in `__send__'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:345:in `attributes='
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/resource.rb:341:in `each'
>> require 'orm'
NoMethodError: undefined method `name' for nil:NilClass
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/property_set.rb:161:in `initialize'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/property_set.rb:161:in `map'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/property_set.rb:161:in `initialize'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/associations/relationship.rb:256:in `new'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/associations/relationship.rb:256:in `parent_key'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/associations/many_to_one.rb:52:in `child_key'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core.rb:332:in `finalize_model'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core.rb:331:in `each'
class Gene
include DataMapper::Resource
def self.default_repository_name; USER_RPT_REPOSITORY_NAME; end
belongs_to :gene_info, :key => true, :child_key => [:GeneID], :parent_key => [:GeneID],
:repository => repository(:annot_gene)
belongs_to :homologene, :child_key => [:HID], :parent_key => [:HID],
:repository => repository(:annot_gene)
belongs_to :subset_comparison, :key => true,
:repository => repository(:nosology)
class MRCONSO
include DataMapper::Resource
def self.default_repository_name; UMLS_REPOSITORY_NAME; end
# storage_names[UMLS_REPOSITORY_NAME] = "MRCONSO"
def self.storage_name(repository)
"MRCONSO"
end
property :CUI, String
r>> require 'orm'
ArgumentError: +name+ was :key, which cannot be used as a property name since it collides with an existing method
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/property.rb:787:in `initialize'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/property/numeric.rb:19:in `initialize'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/property/integer.rb:15:in `initialize'
from /Library/Ruby/Gems/1.8/gems/dm-validations-1.0.0/lib/dm-validations.rb:41:in `new'
from /Library/Ruby/Gems/1.8/gems/dm-validations-1.0.0/lib/dm-validations.rb:41:in `new'
from /Library/Ruby/Gems/1.8/gems/dm-core-1.0.0/lib/dm-core/model/property.rb:84:in `property'
from ./user_orm.rb:17
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
# file1.rb
USER_RPT_REPOSITORY_NAME = :user_rpt
class Gene
include DataMapper::Resource
def self.default_repository_name; USER_RPT_REPOSITORY_NAME; end
belongs_to :gene_info, :child_key => [:GeneID], :parent_key => [:GeneID],
:key => true, :repository => repository(:annot_gene)
belongs_to :homologene, :child_key => [:HID], :parent_key => [:HID],