pets 0.2.3 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/README.md +79 -5
- data/bin/coPatReporter.rb +68 -156
- data/bin/comPatMondo.rb +1 -4
- data/bin/evidence_profiler.rb +102 -150
- data/bin/get_gen_features.rb +146 -0
- data/bin/get_network_nodes.rb +79 -132
- data/bin/get_sorted_profs.rb +25 -36
- data/bin/install_deps.rb +8 -0
- data/bin/paco_translator.rb +29 -72
- data/bin/phen2reg.rb +1 -4
- data/bin/profiles2phenopacket.rb +86 -0
- data/bin/reg2phen.rb +1 -3
- data/example_datasets/associations_file.txt +757 -0
- data/example_datasets/example_patient.txt +6 -0
- data/example_datasets/example_patient_hpos.txt +15 -0
- data/example_datasets/genes.txt +8 -0
- data/example_datasets/hpo2ci.txt +2798 -0
- data/example_datasets/hummu_congenital_full_dataset.txt +4183 -0
- data/example_datasets/launch.sh +20 -0
- data/external_code/generate_boxpot.R +51 -21
- data/external_code/get_clusters.R +2 -2
- data/external_code/install_R_dependencies.R +16 -0
- data/external_code/plot_heatmap.R +34 -30
- data/lib/pets/coPatReporterMethods.rb +172 -424
- data/lib/pets/cohort.rb +309 -0
- data/lib/pets/common_optparse.rb +30 -0
- data/lib/pets/constants.rb +8 -0
- data/lib/pets/generalMethods.rb +29 -319
- data/lib/pets/genomic_features.rb +240 -0
- data/lib/pets/io.rb +481 -0
- data/lib/pets/parsers/cohort_parser.rb +111 -0
- data/lib/pets/parsers/reference_parser.rb +39 -0
- data/lib/pets/version.rb +1 -1
- data/lib/pets.rb +9 -0
- data/pets.gemspec +7 -3
- data/templates/cluster_report.erb +25 -5
- data/templates/cohort_report.erb +5 -7
- data/templates/evidence_profile.erb +20 -4
- data/templates/patient_report.erb +1 -1
- metadata +96 -5
@@ -25,14 +25,34 @@
|
|
25
25
|
<div style="width: 90%; background-color:#ecf0f1; margin: 0 auto;">
|
26
26
|
<h1 style="text-align: center; background-color:#d6eaf8">Patient HPO profiles by cluster.</h1>
|
27
27
|
<%= table(id: :clusters, header: true, border: 2, row_names: false, text: true,
|
28
|
-
cell_align: %w( center )) do |data|
|
29
|
-
|
28
|
+
cell_align: %w( center ), styled: 'dt', attrib: {'class' => 'table'}) do |data|
|
29
|
+
patient_list = []
|
30
|
+
data.each do |element| # Cluster
|
31
|
+
clID, patient_number, patient_ids, hpo_codes, hpo_names = element
|
32
|
+
# TODO: mostrar registro por paciente
|
30
33
|
#STDERR.puts element.inspect
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
+
patient_ids.each_with_index do |patID, i|
|
35
|
+
patient_record = [clID, patient_number]
|
36
|
+
patient_record << patID
|
37
|
+
patient_record << hpo_codes[i].map{|hpo_code| get_hpo_link(hpo_code)}.join(', ')
|
38
|
+
patient_record << hpo_names[i].join(', ')
|
39
|
+
patient_list << patient_record
|
40
|
+
end
|
34
41
|
end
|
42
|
+
data.clear
|
43
|
+
data.concat(patient_list)
|
35
44
|
data.unshift(["Cluster ID","Patients in Cluster","Patient IDs", "HPO codes", "Phenotypes"])
|
36
45
|
end
|
37
46
|
%>
|
38
47
|
</div>
|
48
|
+
|
49
|
+
<div style="width: 90%; background-color:#ecf0f1; margin: 0 auto;">
|
50
|
+
<h1 style="text-align: center; background-color:#d6eaf8"> Cluster detailed view.</h1>
|
51
|
+
<%
|
52
|
+
@hash_vars[:sim_mat4cluster].each do |clID, sim_matrix|
|
53
|
+
@hash_vars[:sim_matrix] = sim_matrix %>
|
54
|
+
<%= heatmap(id: :sim_matrix, header: true, row_names: true, title: "Cluster #{clID}" )%>
|
55
|
+
<% end
|
56
|
+
%>
|
57
|
+
|
58
|
+
</div>
|
data/templates/cohort_report.erb
CHANGED
@@ -161,17 +161,15 @@
|
|
161
161
|
<%
|
162
162
|
@hash_vars[:clustering_methods].each do |clust_method|
|
163
163
|
plot = File.join(@hash_vars[:temp_folder], "#{clust_method}_heatmap.png")
|
164
|
-
if File.
|
164
|
+
if File.exist?(plot) %>
|
165
165
|
<%= embed_img(plot, 'width="800" height="800"') %>
|
166
166
|
<% else
|
167
167
|
puts 'File not found or method not specified.'
|
168
168
|
end
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
if File.exists?(plot)
|
174
|
-
embed_img(plot, 'width="800" height="800"')
|
169
|
+
plot = File.join(@hash_vars[:temp_folder], clust_method + '_sim_boxplot.png')
|
170
|
+
if File.exist?(plot) %>
|
171
|
+
<%= embed_img(plot, 'width="800" height="800"') %>
|
172
|
+
<% end
|
175
173
|
end
|
176
174
|
%>
|
177
175
|
</div>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<% @hash_vars[:similarity_matrixs].each do |pair, similarity_matrix| %>
|
5
5
|
<%
|
6
6
|
matrix_name = pair + '_sim_matrix'
|
7
|
-
if pair
|
7
|
+
if pair.include?('gene_HP')
|
8
8
|
dict = @hash_vars[:evidences][pair][:id2lab]
|
9
9
|
header = similarity_matrix.first
|
10
10
|
header.map! do |item|
|
@@ -27,8 +27,24 @@
|
|
27
27
|
<% end %>
|
28
28
|
<%=circular_genome(id: :candidates, header: false, row_names: true, transpose: false,
|
29
29
|
genomic_coordinates: @hash_vars[:genomic_coordinates] )%>
|
30
|
-
<% if !@hash_vars[:var_ids].nil?
|
31
|
-
|
32
|
-
|
30
|
+
<% if !@hash_vars[:var_ids].nil?
|
31
|
+
if @hash_vars[:var_ids].length > 200 %>
|
32
|
+
<p> Too much variant records</p>
|
33
|
+
<% else %>
|
34
|
+
<%=circular_genome(id: :var_ids, header: false,
|
35
|
+
row_names: true, transpose: false,
|
36
|
+
genomic_coordinates: @hash_vars[:var_coordinates] )%>
|
37
|
+
<% end %>
|
33
38
|
<% end %>
|
39
|
+
|
40
|
+
<h1 style="text-align: center; background-color:#d6eaf8">Candidate regions</h1>
|
41
|
+
|
42
|
+
<%= table(id: :hotspot_table) do |data|
|
43
|
+
data.each do |row|
|
44
|
+
row[1] = row[1].join(" ")
|
45
|
+
row[2] = row[2].join(",")
|
46
|
+
row[3] = row[3].join(",")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
%>
|
34
50
|
</div>
|
@@ -141,7 +141,7 @@
|
|
141
141
|
row.each_with_index do |cell, i|
|
142
142
|
if i == 3
|
143
143
|
row[i] = cell.map{|h|
|
144
|
-
hpo_names, rejected = hpo.
|
144
|
+
hpo_names, rejected = hpo.translate_names([h])
|
145
145
|
"#{get_hpo_link(h)}: #{hpo_names.first}"
|
146
146
|
}.join("\n<br>")
|
147
147
|
elsif i == 4
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elena Rojano, Pedro Seoane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.
|
47
|
+
version: 3.11.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.
|
54
|
+
version: 3.11.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: statistics2
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.1.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: NetAnalyzer
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: report_html
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +150,34 @@ dependencies:
|
|
136
150
|
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: expcalc
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: bio-vcf
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
139
181
|
- !ruby/object:Gem::Dependency
|
140
182
|
name: parallel
|
141
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +192,34 @@ dependencies:
|
|
150
192
|
- - "~>"
|
151
193
|
- !ruby/object:Gem::Version
|
152
194
|
version: 1.20.1
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: net-ftp
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: net-http
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
153
223
|
description: PETS suite includes three different tools. CohortAnalyzer performs the
|
154
224
|
calculation of several statistics that gives an overview of a cohort of patients
|
155
225
|
to analyse. Reg2Phen uses associations between pathological phenotypes and regions
|
@@ -171,14 +241,17 @@ executables:
|
|
171
241
|
- fmeasure_index.rb
|
172
242
|
- generate_HPO_IC_table.rb
|
173
243
|
- get_PR_values.rb
|
244
|
+
- get_gen_features.rb
|
174
245
|
- get_network_nodes.rb
|
175
246
|
- get_sorted_profs.rb
|
247
|
+
- install_deps.rb
|
176
248
|
- merge_by_cluster.rb
|
177
249
|
- merge_pairs.rb
|
178
250
|
- paco_translator.rb
|
179
251
|
- phen2reg.rb
|
180
252
|
- phen2reg_predictor_check.rb
|
181
253
|
- profile_cleaner.rb
|
254
|
+
- profiles2phenopacket.rb
|
182
255
|
- reg2phen.rb
|
183
256
|
- region_to_patients_generator.rb
|
184
257
|
- relate_CI_to_association_value.rb
|
@@ -202,20 +275,31 @@ files:
|
|
202
275
|
- bin/fmeasure_index.rb
|
203
276
|
- bin/generate_HPO_IC_table.rb
|
204
277
|
- bin/get_PR_values.rb
|
278
|
+
- bin/get_gen_features.rb
|
205
279
|
- bin/get_network_nodes.rb
|
206
280
|
- bin/get_sorted_profs.rb
|
281
|
+
- bin/install_deps.rb
|
207
282
|
- bin/merge_by_cluster.rb
|
208
283
|
- bin/merge_pairs.rb
|
209
284
|
- bin/paco_translator.rb
|
210
285
|
- bin/phen2reg.rb
|
211
286
|
- bin/phen2reg_predictor_check.rb
|
212
287
|
- bin/profile_cleaner.rb
|
288
|
+
- bin/profiles2phenopacket.rb
|
213
289
|
- bin/reg2phen.rb
|
214
290
|
- bin/region_to_patients_generator.rb
|
215
291
|
- bin/relate_CI_to_association_value.rb
|
216
292
|
- bin/setup
|
293
|
+
- example_datasets/associations_file.txt
|
294
|
+
- example_datasets/example_patient.txt
|
295
|
+
- example_datasets/example_patient_hpos.txt
|
296
|
+
- example_datasets/genes.txt
|
297
|
+
- example_datasets/hpo2ci.txt
|
298
|
+
- example_datasets/hummu_congenital_full_dataset.txt
|
299
|
+
- example_datasets/launch.sh
|
217
300
|
- external_code/generate_boxpot.R
|
218
301
|
- external_code/get_clusters.R
|
302
|
+
- external_code/install_R_dependencies.R
|
219
303
|
- external_code/lines.R
|
220
304
|
- external_code/plot_area.R
|
221
305
|
- external_code/plot_boxplot.R
|
@@ -242,7 +326,14 @@ files:
|
|
242
326
|
- external_data/uniq_hpo_with_CI.txt
|
243
327
|
- lib/pets.rb
|
244
328
|
- lib/pets/coPatReporterMethods.rb
|
329
|
+
- lib/pets/cohort.rb
|
330
|
+
- lib/pets/common_optparse.rb
|
331
|
+
- lib/pets/constants.rb
|
245
332
|
- lib/pets/generalMethods.rb
|
333
|
+
- lib/pets/genomic_features.rb
|
334
|
+
- lib/pets/io.rb
|
335
|
+
- lib/pets/parsers/cohort_parser.rb
|
336
|
+
- lib/pets/parsers/reference_parser.rb
|
246
337
|
- lib/pets/phen2reg_methods.rb
|
247
338
|
- lib/pets/reg2phen_methods.rb
|
248
339
|
- lib/pets/version.rb
|
@@ -272,7 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
272
363
|
- !ruby/object:Gem::Version
|
273
364
|
version: '0'
|
274
365
|
requirements: []
|
275
|
-
rubygems_version: 3.
|
366
|
+
rubygems_version: 3.3.7
|
276
367
|
signing_key:
|
277
368
|
specification_version: 4
|
278
369
|
summary: Suite with predictive tools.
|