bio-ensembl 1.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.
- data/.document +5 -0
- data/Gemfile +20 -0
- data/Gemfile.lock +40 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +71 -0
- data/VERSION +1 -0
- data/bin/ensembl +40 -0
- data/bin/variation_effect_predictor +106 -0
- data/bio-ensembl.gemspec +190 -0
- data/lib/bio-ensembl.rb +65 -0
- data/lib/bio-ensembl/core/activerecord.rb +1812 -0
- data/lib/bio-ensembl/core/collection.rb +64 -0
- data/lib/bio-ensembl/core/project.rb +262 -0
- data/lib/bio-ensembl/core/slice.rb +657 -0
- data/lib/bio-ensembl/core/transcript.rb +409 -0
- data/lib/bio-ensembl/core/transform.rb +95 -0
- data/lib/bio-ensembl/db_connection.rb +205 -0
- data/lib/bio-ensembl/variation/activerecord.rb +536 -0
- data/lib/bio-ensembl/variation/variation_feature.rb +376 -0
- data/lib/bio-ensembl/variation/variation_feature62.rb +444 -0
- data/samples/ensembl_genomes_example.rb +60 -0
- data/samples/examples_perl_tutorial.rb +125 -0
- data/samples/small_example_ruby_api.rb +34 -0
- data/samples/variation_effect_predictor_data.txt +4 -0
- data/samples/variation_example.rb +67 -0
- data/test/data/seq_c6qbl.fa +10 -0
- data/test/data/seq_cso19_coding.fa +16 -0
- data/test/data/seq_cso19_transcript.fa +28 -0
- data/test/data/seq_drd3_gene.fa +838 -0
- data/test/data/seq_drd3_transcript.fa +22 -0
- data/test/data/seq_drd4_transcript.fa +24 -0
- data/test/data/seq_forward_composite.fa +1669 -0
- data/test/data/seq_par_boundary.fa +169 -0
- data/test/data/seq_rnd3_transcript.fa +47 -0
- data/test/data/seq_ub2r1_coding.fa +13 -0
- data/test/data/seq_ub2r1_gene.fa +174 -0
- data/test/data/seq_ub2r1_transcript.fa +26 -0
- data/test/data/seq_y.fa +2 -0
- data/test/default/test_connection.rb +60 -0
- data/test/default/test_releases.rb +130 -0
- data/test/ensembl_genomes/test_collection.rb +122 -0
- data/test/ensembl_genomes/test_gene.rb +46 -0
- data/test/ensembl_genomes/test_slice.rb +65 -0
- data/test/ensembl_genomes/test_variation.rb +38 -0
- data/test/helper.rb +18 -0
- data/test/release_50/core/test_project.rb +210 -0
- data/test/release_50/core/test_project_human.rb +52 -0
- data/test/release_50/core/test_relationships.rb +72 -0
- data/test/release_50/core/test_sequence.rb +170 -0
- data/test/release_50/core/test_slice.rb +116 -0
- data/test/release_50/core/test_transcript.rb +125 -0
- data/test/release_50/core/test_transform.rb +217 -0
- data/test/release_50/variation/test_activerecord.rb +138 -0
- data/test/release_50/variation/test_variation.rb +79 -0
- data/test/release_53/core/test_gene.rb +61 -0
- data/test/release_53/core/test_project.rb +91 -0
- data/test/release_53/core/test_project_human.rb +61 -0
- data/test/release_53/core/test_slice.rb +42 -0
- data/test/release_53/core/test_transform.rb +57 -0
- data/test/release_53/variation/test_activerecord.rb +137 -0
- data/test/release_53/variation/test_variation.rb +66 -0
- data/test/release_56/core/test_gene.rb +61 -0
- data/test/release_56/core/test_project.rb +91 -0
- data/test/release_56/core/test_slice.rb +49 -0
- data/test/release_56/core/test_transform.rb +57 -0
- data/test/release_56/variation/test_activerecord.rb +141 -0
- data/test/release_56/variation/test_consequence.rb +131 -0
- data/test/release_56/variation/test_variation.rb +63 -0
- data/test/release_60/core/test_gene.rb +61 -0
- data/test/release_60/core/test_project_human.rb +34 -0
- data/test/release_60/core/test_slice.rb +42 -0
- data/test/release_60/core/test_transcript.rb +120 -0
- data/test/release_60/core/test_transform.rb +57 -0
- data/test/release_60/variation/test_activerecord.rb +216 -0
- data/test/release_60/variation/test_consequence.rb +153 -0
- data/test/release_60/variation/test_variation.rb +64 -0
- data/test/release_62/core/test_gene.rb +42 -0
- data/test/release_62/variation/test_activerecord.rb +86 -0
- data/test/release_62/variation/test_consequence.rb +191 -0
- metadata +287 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/release_56/variation/test_variation.tb - Unit test for Ensembl::Variation
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009
|
5
|
+
# Francesco Strozzi <francesco.strozzi@gmail.com>
|
6
|
+
# License:: Ruby's
|
7
|
+
#
|
8
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
9
|
+
|
10
|
+
include Ensembl::Variation
|
11
|
+
|
12
|
+
class TestVariation < Test::Unit::TestCase
|
13
|
+
|
14
|
+
def setup
|
15
|
+
DBConnection.connect('homo_sapiens',56)
|
16
|
+
end
|
17
|
+
|
18
|
+
def teardown
|
19
|
+
DBConnection.remove_connection
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_fetch_region
|
23
|
+
vf = Variation.find_by_name('rs2076175').variation_features[0]
|
24
|
+
slice = vf.fetch_region
|
25
|
+
assert_equal(29708370,slice.start)
|
26
|
+
assert_equal(29718370,slice.stop)
|
27
|
+
assert_equal('6',slice.seq_region.name)
|
28
|
+
slice = vf.fetch_region(30,30)
|
29
|
+
assert_equal(29713340,slice.start)
|
30
|
+
assert_equal(29713400,slice.stop)
|
31
|
+
assert_equal('CTCCCAGGACTGCTTCTGCCCACTGTCCCCGGGGCCCTGCCCTGCCTTTCTGCCTGTCACA',slice.seq.upcase)
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_flanking_seq
|
35
|
+
vf = Variation.find_by_name('rs2076175').variation_features[0]
|
36
|
+
up,down = vf.flanking_seq
|
37
|
+
assert_equal(29713371,up.start)
|
38
|
+
assert_equal(29713770,up.stop)
|
39
|
+
assert_equal(29712970,down.start)
|
40
|
+
assert_equal(29713369,down.stop)
|
41
|
+
assert_equal('GGGCCCTGCCCTGCCTTTCTGCCTGTCACAGAGCAGGAAGAGCTGACCATCCAGATGTCCCTCAGCGAGAAACCCTGACTGCACAGATCCATCCTGGGACAGCACCGTGAGGTTGTAACAAAGACTGTGGGGCTCTGGGGAAGAGGAAATCACAGATGAAACTTCTTCCTGGAAGTAACTTCACATCAATGTTTAACACACAGGTCTGCTGTCCCGACCTTCCTGAGGAGGCAGGAAATGCACACGGGCAAAGGGACAAGAATGAGGATTTCAGACGCAAGGAAAACTGGGAAGGTGGGAGGATAGAGGAGGGGACTGAGGAACAGAAGAAGGGGGAATGGGGATGGCAAACTTGTAGGCCAGGTGCCAGGGCAGGGCAGCCACAGGCCCCCTCAGGATA',
|
42
|
+
up.seq.upcase)
|
43
|
+
assert_equal('TCCTGATCTCACAAACCCTAATCTCCTGGAGGGAATGCAAGGCTGCCTGCCCCTACCCAGCAGTGACTTCTCCATTCCAGTCCAAGTGAGGAACTCGGACCAGGAAGGACCCCTCCCTGGCCCTCTTCCATCCCTCCCTGTGTGGGCTGAGCCCCGCTGAGCACCATTCCTCACCCCTACTCACAGCCAAATCCAGTGGGAAGAGACAGGTCCTGCTCTCTGCCCCCAACTCTCCTGGAAAAGGCCTCTCCCATTACTCTTGCCCACTGCCCACTCTCACCTCCTTTCTGGCCCTTGATATGAGCCAGGGTCCTCCTGAGCTCCTGCCCATTCTCTGTCAAGTCTTCAGTCTCTGTGTCCCAGGTCTCAGCTCCCAGGACTGCTTCTGCCCACTGTCCCC',
|
44
|
+
down.seq.upcase)
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_slice_variation
|
49
|
+
slice = Ensembl::Core::Slice.fetch_by_region('chromosome',1,100834,101331)
|
50
|
+
variations = slice.get_variation_features
|
51
|
+
assert_equal(6,variations.size)
|
52
|
+
|
53
|
+
assert_equal('rs3912703',variations[0].variation_name)
|
54
|
+
assert_equal('ENSSNP5435782',variations[1].variation_name)
|
55
|
+
assert_equal('ENSSNP3491774',variations[2].variation_name)
|
56
|
+
assert_equal('ENSSNP283782',variations[3].variation_name)
|
57
|
+
assert_equal('ENSSNP4578340',variations[4].variation_name)
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/release_53/core/test_gene.rb - Unit test for Ensembl::Core
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009 Francesco Strozzi <francesco.strozzi@gmail.com>
|
5
|
+
#
|
6
|
+
# License:: Ruby's
|
7
|
+
#
|
8
|
+
# $Id:
|
9
|
+
|
10
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
11
|
+
|
12
|
+
include Ensembl::Core
|
13
|
+
|
14
|
+
class TestGene < Test::Unit::TestCase
|
15
|
+
|
16
|
+
def setup
|
17
|
+
DBConnection.connect('homo_sapiens', 60)
|
18
|
+
end
|
19
|
+
|
20
|
+
def teardown
|
21
|
+
DBConnection.remove_connection
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_gene
|
25
|
+
g = Gene.find_by_stable_id("ENSG00000006451")
|
26
|
+
assert_equal("ENSG00000006451",g.stable_id)
|
27
|
+
assert_equal("7",g.seq_region.name)
|
28
|
+
assert_equal(39663082,g.start)
|
29
|
+
assert_equal(39747723,g.stop)
|
30
|
+
assert_equal(1,g.strand)
|
31
|
+
assert_equal(84642,g.seq.length)
|
32
|
+
assert_equal("v-ral simian leukemia viral oncogene homolog A (ras related) [Source:HGNC Symbol;Acc:9839]",g.description)
|
33
|
+
assert_equal("RALA",g.name)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_transcript
|
37
|
+
g = Gene.find_by_stable_id("ENSG00000006451")
|
38
|
+
t = g.transcripts
|
39
|
+
assert_equal(5,t.size)
|
40
|
+
assert_equal("ENST00000005257",t[0].stable_id)
|
41
|
+
t = t[0]
|
42
|
+
assert_equal(2880,t.seq.length)
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_exons
|
46
|
+
t = Transcript.find_by_stable_id("ENST00000005257")
|
47
|
+
e = t.exons
|
48
|
+
assert_equal(5,e.size)
|
49
|
+
assert_equal("ENSE00001829077",e[0].stable_id)
|
50
|
+
seq1 = "AGGCCCATGATCACCCTCCTCTCAGCCCACGGACAGGAAGTCGCTCCCCAGCTGCCCCGCCCCGCTCCCCAGCGCCCCGGAAGTGATCTGTGGCGGCTGCTGCAGAGCCGCCAGGAGGAGGGTGGATCTCCCCAGAGCAAAGCGTCGGAGTCCTCCTCCTCCTTCTCCTCCTCCTCCTCCTCCTCCTCCAGCCGCCCAGGCTCCCCCGCCACCCGTCAGACTCCTCCTTCGACCGCTCCCGGCGCGGGGCCTTCCAGGCGACAAGGACCGAGTACCCTCCGGCCGGAGCCACGCAGCCGCGGCTTCCGGAGCCCTCGGGGCGGCGGACTGGCTCGCGGTGCAG"
|
51
|
+
assert_equal(seq1,e[0].seq.upcase)
|
52
|
+
assert_equal(39663082,e[0].start)
|
53
|
+
assert_equal(39663424,e[0].stop)
|
54
|
+
assert_equal("ENSE00000832451",e[1].stable_id)
|
55
|
+
seq2 = "ATTCTTCTTAATCCTTTGGTGAAAACTGAGACACAAAATGGCTGCAAATAAGCCCAAGGGTCAGAATTCTTTGGCTTTACACAAAGTCATCATGGTGGGCAGTGGTGGCGTGGGCAAGTCAGCTCTGACTCTACAGTTCATGTACGATGAG"
|
56
|
+
assert_equal(seq2,e[1].seq.upcase)
|
57
|
+
assert_equal(39726230,e[1].start)
|
58
|
+
assert_equal(39726380,e[1].stop)
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/test_project.rb - Unit test for Ensembl::Core
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009
|
5
|
+
# Jan Aerts <http://jandot.myopenid.com>
|
6
|
+
# Francesco Strozzi <francesco.strozzi@gmail.com>
|
7
|
+
# License:: Ruby's
|
8
|
+
#
|
9
|
+
# $Id:
|
10
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
11
|
+
|
12
|
+
include Ensembl::Core
|
13
|
+
|
14
|
+
class AssemblyExceptions < Test::Unit::TestCase
|
15
|
+
|
16
|
+
def setup
|
17
|
+
DBConnection.connect('homo_sapiens', 60)
|
18
|
+
end
|
19
|
+
|
20
|
+
def teardown
|
21
|
+
DBConnection.remove_connection
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_chr_x
|
25
|
+
source_slice = Slice.fetch_by_region('chromosome','X', 2709497, 2709520)
|
26
|
+
assert_equal('ctgaagaattgtgtttcttcccta', source_slice.seq)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_slice_overlapping_PAR_and_allosome
|
30
|
+
source_slice = Slice.fetch_by_region('chromosome','Y',2709500,2709540)
|
31
|
+
assert_equal('AGAAACTGAAAATGCTAAGAAATTCAGTTCCAGGATATGAA', source_slice.seq.upcase)
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/release_53/core/test_slice.rb - Unit test for Ensembl::Core
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009
|
5
|
+
# Francesco Strozzi <francesco.strozzi@gmail.com>
|
6
|
+
# License:: Ruby's
|
7
|
+
#
|
8
|
+
# $Id:
|
9
|
+
|
10
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
11
|
+
|
12
|
+
include Ensembl::Core
|
13
|
+
|
14
|
+
class TestSlice < Test::Unit::TestCase
|
15
|
+
|
16
|
+
def setup
|
17
|
+
DBConnection.connect('homo_sapiens', 60)
|
18
|
+
end
|
19
|
+
|
20
|
+
def teardown
|
21
|
+
DBConnection.remove_connection
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_forward
|
25
|
+
seq1 = "GGCCAAGCTGGTCTCAAACTCCTGACCTCGTGATCCGCCCACCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGGGCCACTGGGTCCGGCCGCATGTCTGGCTAATTTTGTAGAGACAGGGCCTCCCTATACTGCCCAGGCTGGTTTCAAGCTCCTGGCTTCAAGGGGTCCTCCTGCCTTGGCCTCCCGAAGTGCTGG"
|
26
|
+
s = Slice.fetch_by_region("chromosome","13",31786617,31786816,1)
|
27
|
+
assert_equal(seq1,s.seq.upcase)
|
28
|
+
assert_equal("13",s.seq_region.name)
|
29
|
+
assert_equal(31786617,s.start)
|
30
|
+
assert_equal(31786816,s.stop)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_reverse
|
34
|
+
seq2 = "CCAGCACTTCGGGAGGCCAAGGCAGGAGGACCCCTTGAAGCCAGGAGCTTGAAACCAGCCTGGGCAGTATAGGGAGGCCCTGTCTCTACAAAATTAGCCAGACATGCGGCCGGACCCAGTGGCCCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGTGGGCGGATCACGAGGTCAGGAGTTTGAGACCAGCTTGGCC"
|
35
|
+
s_rev = Slice.fetch_by_region("chromosome","13",31786617,31786816,-1)
|
36
|
+
assert_equal(seq2,s_rev.seq.upcase)
|
37
|
+
assert_equal("13",s_rev.seq_region.name)
|
38
|
+
assert_equal(31786617,s_rev.start)
|
39
|
+
assert_equal(31786816,s_rev.stop)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,120 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/test_transcript.rb - Unit test for Ensembl::Core
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2007
|
5
|
+
# Jan Aerts <http://jandot.myopenid.com>
|
6
|
+
# License:: Ruby's
|
7
|
+
#
|
8
|
+
# $Id:
|
9
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
10
|
+
|
11
|
+
include Ensembl::Core
|
12
|
+
|
13
|
+
DBConnection.connect('homo_sapiens', 60)
|
14
|
+
|
15
|
+
class CodingPositions < Test::Unit::TestCase
|
16
|
+
def setup
|
17
|
+
# Transcript tr_fw is ENST00000215574
|
18
|
+
@tr_fw = Transcript.find_by_stable_id("ENST00000215574")
|
19
|
+
# Transcript tr_rev is ENST00000358041
|
20
|
+
@tr_rev = Transcript.find_by_stable_id("ENST00000358041")
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_transcript_coords
|
24
|
+
assert_equal(531733, @tr_fw.seq_region_start)
|
25
|
+
assert_equal(542084, @tr_fw.seq_region_end)
|
26
|
+
assert_equal(644371, @tr_rev.seq_region_start)
|
27
|
+
assert_equal(647309, @tr_rev.seq_region_end)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_coding_regions_genomic_coords_of_fw
|
31
|
+
assert_equal(531932, @tr_fw.coding_region_genomic_start)
|
32
|
+
assert_equal(541552, @tr_fw.coding_region_genomic_end)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_coding_regions_genomic_coords_of_rev
|
36
|
+
assert_equal(646652, @tr_rev.coding_region_genomic_start)
|
37
|
+
assert_equal(647047, @tr_rev.coding_region_genomic_end)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_coding_regions_cdna_coords_of_fw
|
41
|
+
assert_equal(200, @tr_fw.coding_region_cdna_start)
|
42
|
+
assert_equal(910, @tr_fw.coding_region_cdna_end)
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_coding_regions_cdna_coords_of_rev
|
46
|
+
assert_equal(263, @tr_rev.coding_region_cdna_start)
|
47
|
+
assert_equal(658, @tr_rev.coding_region_cdna_end)
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
class GenomicVsCDna < Test::Unit::TestCase
|
53
|
+
#From BioMart. Columns:
|
54
|
+
# Ensembl_Transcript_ID
|
55
|
+
# Chromosome
|
56
|
+
# Strand
|
57
|
+
# Ensembl_Exon_ID
|
58
|
+
# Exon_Chr_Start
|
59
|
+
# Exon_Chr_End
|
60
|
+
# Exon_Rank_in_Transcript
|
61
|
+
#ENST00000215574 19 1 ENSE00000655676 531733 532108 1
|
62
|
+
#ENST00000215574 19 1 ENSE00000655677 535837 535923 2
|
63
|
+
#ENST00000215574 19 1 ENSE00000655678 536243 536340 3
|
64
|
+
#ENST00000215574 19 1 ENSE00000655679 537013 537147 4
|
65
|
+
#ENST00000215574 19 1 ENSE00000655680 541339 542084 5
|
66
|
+
#
|
67
|
+
#ENST00000315489 19 -1 ENSE00001215510 474621 474983 1
|
68
|
+
#ENST00000315489 19 -1 ENSE00001215495 472394 472501 2
|
69
|
+
#ENST00000315489 19 -1 ENSE00001215487 467649 467762 3
|
70
|
+
#ENST00000315489 19 -1 ENSE00001215506 463344 464364 4
|
71
|
+
def setup
|
72
|
+
# Transcript tr_fw is ENST00000215574
|
73
|
+
@tr_fw = Transcript.find_by_stable_id("ENST00000215574")
|
74
|
+
# Transcript tr_rev is ENST00000315489
|
75
|
+
@tr_rev = Transcript.find_by_stable_id("ENST00000315489")
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_identify_exon
|
79
|
+
assert_equal("ENSE00000655679", @tr_fw.exon_for_cdna_position(601).stable_id)
|
80
|
+
assert_equal("ENSE00000655679", @tr_fw.exon_for_genomic_position(537052).stable_id)
|
81
|
+
assert_equal("ENSE00001215487", @tr_rev.exon_for_cdna_position(541).stable_id)
|
82
|
+
assert_equal("ENSE00001215487", @tr_rev.exon_for_genomic_position(467693).stable_id)
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_cdna2genomic
|
86
|
+
assert_equal(537052, @tr_fw.cdna2genomic(601))
|
87
|
+
assert_equal(467693, @tr_rev.cdna2genomic(541))
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_cds2genomic
|
91
|
+
assert_equal(537052, @tr_fw.cds2genomic(401))
|
92
|
+
assert_equal(467693, @tr_rev.cds2genomic(304))
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_genomic2cdna
|
96
|
+
assert_equal(601, @tr_fw.genomic2cdna(537052))
|
97
|
+
assert_equal(541, @tr_rev.genomic2cdna(467693))
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_genomic2cds
|
101
|
+
assert_equal(401, @tr_fw.genomic2cds(537052))
|
102
|
+
assert_equal(304, @tr_rev.genomic2cds(467693))
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
class TestIntron < Test::Unit::TestCase
|
107
|
+
def setup
|
108
|
+
@transcript = Transcript.find_by_stable_id("ENST00000215574")
|
109
|
+
@introns = @transcript.introns
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_get_introns
|
113
|
+
assert_equal(4, @introns.length)
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_intron_slices
|
117
|
+
assert_equal('chromosome:GRCh37:19:532109:535836:1', @introns[0].slice.to_s)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/release_53/core/test_transform.rb - Unit test for Ensembl::Core
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009
|
5
|
+
# Jan Aerts <http://jandot.myopenid.com>
|
6
|
+
# Francesco Strozzi <francesco.strozzi@gmail.com>
|
7
|
+
# License:: Ruby's
|
8
|
+
#
|
9
|
+
# $Id:
|
10
|
+
|
11
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
12
|
+
|
13
|
+
include Ensembl::Core
|
14
|
+
|
15
|
+
|
16
|
+
# For all tests, the source (i.e. the seq_region that the feature is annotated
|
17
|
+
# on initially) remains forward.
|
18
|
+
#
|
19
|
+
# Same coordinate system: test names refer to direction of gene vs chromosome
|
20
|
+
class TransformOntoSameCoordinateSystem < Test::Unit::TestCase
|
21
|
+
|
22
|
+
def setup
|
23
|
+
DBConnection.connect('homo_sapiens', 60)
|
24
|
+
end
|
25
|
+
|
26
|
+
def teardown
|
27
|
+
DBConnection.remove_connection
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_fw
|
31
|
+
source_gene = Gene.find_by_stable_id("ENSG00000242450")
|
32
|
+
target_gene = source_gene.transform('chromosome')
|
33
|
+
|
34
|
+
assert_equal('22', source_gene.seq_region.name)
|
35
|
+
assert_equal(24349643, source_gene.seq_region_start)
|
36
|
+
assert_equal(24349710, source_gene.seq_region_end)
|
37
|
+
assert_equal(1, source_gene.seq_region_strand)
|
38
|
+
assert_equal('22', target_gene.seq_region.name)
|
39
|
+
assert_equal(24349643, target_gene.seq_region_start)
|
40
|
+
assert_equal(24349710, target_gene.seq_region_end)
|
41
|
+
assert_equal(1, target_gene.seq_region_strand)
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_rev
|
45
|
+
source_gene = Gene.find_by_stable_id("ENSG00000240339")
|
46
|
+
target_gene = source_gene.transform('chromosome')
|
47
|
+
assert_equal('22', source_gene.seq_region.name)
|
48
|
+
assert_equal(24349560, source_gene.seq_region_start)
|
49
|
+
assert_equal(24349631, source_gene.seq_region_end)
|
50
|
+
assert_equal(-1, source_gene.seq_region_strand)
|
51
|
+
assert_equal('22', target_gene.seq_region.name)
|
52
|
+
assert_equal(24349560, target_gene.seq_region_start)
|
53
|
+
assert_equal(24349631, target_gene.seq_region_end)
|
54
|
+
assert_equal(-1, target_gene.seq_region_strand)
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -0,0 +1,216 @@
|
|
1
|
+
#
|
2
|
+
# = test/unit/release_56/variation/test_activerecord.rb - Unit test for Ensembl::Variation
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009
|
5
|
+
# Francesco Strozzi <francesco.strozzi@gmail.com>
|
6
|
+
#
|
7
|
+
# License:: Ruby's
|
8
|
+
#
|
9
|
+
# $Id:
|
10
|
+
require File.expand_path File.join(File.dirname(__FILE__),"../../helper.rb")
|
11
|
+
|
12
|
+
include Ensembl::Variation
|
13
|
+
|
14
|
+
class ActiveRecordVariation < Test::Unit::TestCase
|
15
|
+
|
16
|
+
def setup
|
17
|
+
DBConnection.connect('homo_sapiens',60)
|
18
|
+
end
|
19
|
+
|
20
|
+
def teardown
|
21
|
+
DBConnection.remove_connection
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_allele
|
25
|
+
allele = Allele.find(1)
|
26
|
+
assert_equal('T', allele.allele)
|
27
|
+
assert_equal(0.04, allele.frequency)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_sample
|
31
|
+
n = Sample.count(:all)
|
32
|
+
assert_equal(30351,n)
|
33
|
+
individual = Sample.find(12468).individual
|
34
|
+
assert_equal('Male',individual.gender)
|
35
|
+
i = Sample.find(13131).individual_genotype_multiple_bp
|
36
|
+
assert_equal(5,i.size)
|
37
|
+
assert_equal(1688213,i[0].variation_id)
|
38
|
+
syn = Sample.find(21).sample_synonym
|
39
|
+
assert_equal('6',syn.name)
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_individual
|
43
|
+
n = Individual.count(:all)
|
44
|
+
assert_equal(12307,n)
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_individual_genotype_multiple_bp
|
48
|
+
n = IndividualGenotypeMultipleBp.count(:all)
|
49
|
+
assert_equal(1009778,n)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_compressed_genotype_single_bp
|
53
|
+
n = CompressedGenotypeSingleBp.count(:all)
|
54
|
+
assert_equal(67856517,n)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_read_coverage
|
58
|
+
n = ReadCoverage.count(:all)
|
59
|
+
assert_equal(4183832,n)
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_population
|
63
|
+
n = Population.count(:all)
|
64
|
+
assert_equal(11673,n)
|
65
|
+
p = Population.find(236)
|
66
|
+
ind = p.individuals
|
67
|
+
assert_equal(653,ind.size)
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_variation
|
71
|
+
n = Variation.count(:all)
|
72
|
+
assert_equal(24623913,n)
|
73
|
+
|
74
|
+
syn = Variation.find(712422).variation_synonyms
|
75
|
+
assert_equal(1,syn.size)
|
76
|
+
assert_equal('rs56673311',syn[0].name)
|
77
|
+
|
78
|
+
flanking = Variation.find(10000).flanking_sequence
|
79
|
+
assert_equal(132077099,flanking.up_seq_region_start)
|
80
|
+
assert_equal(132077128,flanking.up_seq_region_end)
|
81
|
+
assert_equal(132077130,flanking.down_seq_region_start)
|
82
|
+
assert_equal(132077159,flanking.down_seq_region_end)
|
83
|
+
assert_equal(27517,flanking.seq_region_id)
|
84
|
+
assert_equal(1,flanking.seq_region_strand)
|
85
|
+
|
86
|
+
ag = Variation.find(10000).allele_groups
|
87
|
+
assert_nil ag[0]
|
88
|
+
|
89
|
+
pg = Variation.find(1234).population_genotypes
|
90
|
+
assert_equal(28,pg.size)
|
91
|
+
assert_equal('A',pg[0].allele_1)
|
92
|
+
assert_equal('A',pg[0].allele_2)
|
93
|
+
assert_equal(1,pg[0].frequency)
|
94
|
+
|
95
|
+
a = Variation.find(115).alleles
|
96
|
+
assert_equal(14,a.size)
|
97
|
+
assert_equal('C',a[0].allele)
|
98
|
+
assert_equal(0.733,a[0].frequency)
|
99
|
+
|
100
|
+
vf = Variation.find(5345540).variation_features[0]
|
101
|
+
assert_equal('C/T',vf.allele_string)
|
102
|
+
assert_equal('rs8192830',vf.variation_name)
|
103
|
+
assert_equal(27506,vf.seq_region_id)
|
104
|
+
assert_equal(139618573,vf.seq_region_start)
|
105
|
+
assert_equal(139618573,vf.seq_region_end)
|
106
|
+
assert_equal(1,vf.seq_region_strand)
|
107
|
+
|
108
|
+
vg = Variation.find(1352735).variation_groups
|
109
|
+
assert_nil vg[0]
|
110
|
+
|
111
|
+
i = Variation.find(243).individual_genotype_multiple_bps
|
112
|
+
assert_equal(68,i.size)
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_variation_feature
|
116
|
+
vf_sample = VariationFeature.find_by_variation_name('rs167125').samples
|
117
|
+
assert_equal(1,vf_sample.size)
|
118
|
+
assert_equal('CSHL-HAPMAP:HapMap-JPT',vf_sample[0].name)
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_variation_transcript
|
122
|
+
t = Variation.find_by_name('rs7671997').variation_features[0].transcript_variations
|
123
|
+
assert_equal(7,t.size)
|
124
|
+
assert_equal('WITHIN_NON_CODING_GENE',t[0].consequence_type)
|
125
|
+
assert_equal('5PRIME_UTR',t[2].consequence_type)
|
126
|
+
assert_equal(4079207,t[0].variation_feature_id)
|
127
|
+
transcript = t[0].transcript
|
128
|
+
assert_equal('processed_transcript',transcript.biotype)
|
129
|
+
assert_equal(2158121,transcript.seq_region_start)
|
130
|
+
assert_equal(2243848,transcript.seq_region_end)
|
131
|
+
assert_equal('ENST00000515357',transcript.stable_id)
|
132
|
+
e = transcript.exons
|
133
|
+
assert_equal('AGTGCGAGGCGCGCGGGGCACGGAGGGCGGTGGCGGCGGGCTCCTGCGAGAAGCAAGCGGAACTTCCTGAG',e[0].seq.upcase)
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_source
|
138
|
+
syn = Source.find(1).sample_synonyms
|
139
|
+
assert_equal(23061,syn.size)
|
140
|
+
|
141
|
+
ag = Source.find(1).allele_groups
|
142
|
+
assert_nil ag[0]
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_variation_annotation
|
146
|
+
va = VariationAnnotation.find(95)
|
147
|
+
assert_equal(1756227,va.variation_id)
|
148
|
+
assert_equal('EGAS00000000060',va.local_stable_id)
|
149
|
+
assert_equal('rs2306027',va.variation_names)
|
150
|
+
assert_equal(0.218132812399633,va.risk_allele_freq_in_controls.to_f)
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_phenotype
|
154
|
+
pheno = Phenotype.find(1527)
|
155
|
+
va = pheno.variation_annotations
|
156
|
+
assert_equal(14,va.size)
|
157
|
+
assert_equal('GATA6,CTAGE1,RBBP8,CABLES1',va[5].associated_gene)
|
158
|
+
end
|
159
|
+
|
160
|
+
def test_structural_variation
|
161
|
+
sv = StructuralVariation.find(171276)
|
162
|
+
assert_equal('nsv429550',sv.variation_name)
|
163
|
+
assert_equal(224676,sv.seq_region_start)
|
164
|
+
assert_equal(44780026,sv.seq_region_end)
|
165
|
+
assert_equal('11',sv.seq_region.name)
|
166
|
+
end
|
167
|
+
|
168
|
+
def test_population_genotype
|
169
|
+
v = Variation.find(1082)
|
170
|
+
pg = v.population_genotypes
|
171
|
+
assert_equal(41,pg.size)
|
172
|
+
assert_equal(0.6,pg[0].frequency)
|
173
|
+
pop = Population.find(132)
|
174
|
+
pg = pop.population_genotypes
|
175
|
+
assert_equal(1070,pg.size)
|
176
|
+
end
|
177
|
+
|
178
|
+
def test_subsnp_handle
|
179
|
+
s = SubsnpHandle.find(946)
|
180
|
+
assert_equal('WIAF',s.handle)
|
181
|
+
pg = s.population_genotypes
|
182
|
+
assert_equal(2,pg.size)
|
183
|
+
assert_equal(0.4,pg[0].frequency)
|
184
|
+
alleles = s.alleles
|
185
|
+
assert_equal(2,alleles.size)
|
186
|
+
assert_equal('A',alleles[0].allele)
|
187
|
+
s = SubsnpHandle.find(107935890)
|
188
|
+
vs = s.variation_synonyms
|
189
|
+
assert_equal(1,vs.size)
|
190
|
+
assert_equal('ENSSNP10154320',vs[0].name)
|
191
|
+
end
|
192
|
+
|
193
|
+
def test_variation_synonym
|
194
|
+
v = Variation.find(12659557)
|
195
|
+
vs = v.variation_synonyms
|
196
|
+
assert_equal(1,vs.size)
|
197
|
+
assert_equal('rs66792216',vs[0].name)
|
198
|
+
end
|
199
|
+
|
200
|
+
def test_failed_description
|
201
|
+
v = Variation.find(15005920)
|
202
|
+
fd = v.failed_descriptions
|
203
|
+
assert_equal(1,fd.size)
|
204
|
+
assert_equal('Variation maps to more than 3 different locations',fd[0].description)
|
205
|
+
end
|
206
|
+
|
207
|
+
def test_variation_set
|
208
|
+
v = Variation.find(8)
|
209
|
+
vs = v.variation_sets
|
210
|
+
assert_equal(5,vs.size)
|
211
|
+
assert_equal("1000 genomes - Trios - CEU",vs[0].name)
|
212
|
+
assert_equal("Variations called by the 1000 genomes project on high coverage sequence data from a CEU population trio",vs[0].description)
|
213
|
+
end
|
214
|
+
|
215
|
+
|
216
|
+
end
|