ruby-ensembl-api 0.9.6 → 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/TUTORIAL.rdoc +1 -1
- data/bin/variation_effect_predictor +106 -0
- data/lib/ensembl.rb +2 -2
- data/lib/ensembl/core/activerecord.rb +119 -225
- data/lib/ensembl/core/collection.rb +14 -10
- data/lib/ensembl/core/project.rb +6 -8
- data/lib/ensembl/core/slice.rb +87 -123
- data/lib/ensembl/core/transcript.rb +49 -65
- data/lib/ensembl/core/transform.rb +6 -8
- data/lib/ensembl/db_connection.rb +56 -72
- data/lib/ensembl/variation/activerecord.rb +138 -8
- data/lib/ensembl/variation/variation.rb +284 -46
- 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_example.rb +67 -0
- data/test/unit/{release_56 → release_60}/core/test_gene.rb +6 -6
- data/test/unit/release_60/core/test_project_human.rb +38 -0
- data/test/unit/{release_56 → release_60}/core/test_slice.rb +1 -8
- data/test/unit/release_60/core/test_transcript.rb +126 -0
- data/test/unit/{release_53 → release_60}/core/test_transform.rb +21 -21
- data/test/unit/release_60/variation/test_activerecord.rb +213 -0
- data/test/unit/release_60/variation/test_consequence.rb +158 -0
- data/test/unit/{release_56 → release_60}/variation/test_variation.rb +18 -17
- data/test/unit/test_connection.rb +2 -2
- data/test/unit/test_releases.rb +8 -8
- metadata +27 -43
- data/test/unit/data/seq_c6qbl.fa +0 -10
- data/test/unit/data/seq_cso19_coding.fa +0 -16
- data/test/unit/data/seq_cso19_transcript.fa +0 -28
- data/test/unit/data/seq_drd3_gene.fa +0 -838
- data/test/unit/data/seq_drd3_transcript.fa +0 -22
- data/test/unit/data/seq_drd4_transcript.fa +0 -24
- data/test/unit/data/seq_forward_composite.fa +0 -1669
- data/test/unit/data/seq_par_boundary.fa +0 -169
- data/test/unit/data/seq_rnd3_transcript.fa +0 -47
- data/test/unit/data/seq_ub2r1_coding.fa +0 -13
- data/test/unit/data/seq_ub2r1_gene.fa +0 -174
- data/test/unit/data/seq_ub2r1_transcript.fa +0 -26
- data/test/unit/data/seq_y.fa +0 -2
- data/test/unit/ensembl_genomes/test_collection.rb +0 -51
- data/test/unit/ensembl_genomes/test_gene.rb +0 -52
- data/test/unit/ensembl_genomes/test_slice.rb +0 -71
- data/test/unit/ensembl_genomes/test_variation.rb +0 -17
- data/test/unit/release_50/core/test_project.rb +0 -215
- data/test/unit/release_50/core/test_project_human.rb +0 -58
- data/test/unit/release_50/core/test_relationships.rb +0 -66
- data/test/unit/release_50/core/test_sequence.rb +0 -175
- data/test/unit/release_50/core/test_slice.rb +0 -121
- data/test/unit/release_50/core/test_transcript.rb +0 -108
- data/test/unit/release_50/core/test_transform.rb +0 -223
- data/test/unit/release_50/variation/test_activerecord.rb +0 -143
- data/test/unit/release_50/variation/test_variation.rb +0 -84
- data/test/unit/release_53/core/test_gene.rb +0 -66
- data/test/unit/release_53/core/test_project.rb +0 -96
- data/test/unit/release_53/core/test_project_human.rb +0 -65
- data/test/unit/release_53/core/test_slice.rb +0 -47
- data/test/unit/release_53/variation/test_activerecord.rb +0 -145
- data/test/unit/release_53/variation/test_variation.rb +0 -71
- data/test/unit/release_56/core/test_project.rb +0 -96
- data/test/unit/release_56/core/test_transform.rb +0 -63
- data/test/unit/release_56/variation/test_activerecord.rb +0 -142
@@ -1,52 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = test/unit/release_53/ensembl_genomes/test_gene.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 'pathname'
|
11
|
-
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
|
12
|
-
$:.unshift(libpath) unless $:.include?(libpath)
|
13
|
-
|
14
|
-
require 'test/unit'
|
15
|
-
require 'lib/ensembl'
|
16
|
-
|
17
|
-
include Ensembl::Core
|
18
|
-
|
19
|
-
class TestGene < Test::Unit::TestCase
|
20
|
-
|
21
|
-
def setup
|
22
|
-
DBConnection.ensemblgenomes_connect('pyrococcus_collection',3)
|
23
|
-
end
|
24
|
-
|
25
|
-
def teardown
|
26
|
-
DBConnection.remove_connection
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_find_gene
|
30
|
-
g = Gene.find_by_stable_id("EBPYRG00000005609")
|
31
|
-
assert_equal("EBPYRG00000005609",g.stable_id)
|
32
|
-
assert_equal(1195302,g.start)
|
33
|
-
assert_equal(1196675,g.stop)
|
34
|
-
assert_equal("Chromosome",g.seq_region.name)
|
35
|
-
assert_equal("ATGAATAGGAGCTTGTACTTGATTTTTATAATTGTAGGATATACTTTGGGAATATGGACA",g.seq.slice(0,60).upcase)
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_find_transcript
|
39
|
-
g = Gene.find_by_stable_id("EBPYRG00000005609")
|
40
|
-
t = g.transcripts
|
41
|
-
assert_equal("EBPYRT00000005610",t[0].stable_id)
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_find_exons
|
45
|
-
g = Gene.find_by_stable_id("EBPYRG00000005609")
|
46
|
-
t = g.transcripts
|
47
|
-
e = t[0].exons
|
48
|
-
assert_equal("EBPYRE00000005617",e[0].stable_id)
|
49
|
-
assert_equal("ATGAATAGGAGCTTGTACTTGATTTTTATAATTGTAGGATATACTTTGGGAATATGGACA",e[0].seq.slice(0,60).upcase)
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
@@ -1,71 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = test/unit/release_53/ensembl_genomes/test_collection.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 'pathname'
|
11
|
-
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
|
12
|
-
$:.unshift(libpath) unless $:.include?(libpath)
|
13
|
-
|
14
|
-
require 'test/unit'
|
15
|
-
require 'lib/ensembl'
|
16
|
-
|
17
|
-
include Ensembl::Core
|
18
|
-
|
19
|
-
class TestSlice < Test::Unit::TestCase
|
20
|
-
|
21
|
-
def teardown
|
22
|
-
DBConnection.remove_connection
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_fetch_by_region
|
26
|
-
DBConnection.ensemblgenomes_connect('mycobacterium_collection',3)
|
27
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",183617,183716,1,"Mycobacterium tuberculosis H37Rv")
|
28
|
-
assert_equal("GCGCCATGACAGATCCGCAGACGCAGAGCACCAGGGTCGGGGTGGTTGCCGAGTCGGGGCCCGACGAACGACGGGTCGCGCTGGTTCCCAAGGCGGTCGC",slice.seq.upcase)
|
29
|
-
|
30
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",4285422,4285521,1,"Mycobacterium paratuberculosis")
|
31
|
-
assert_equal("GGTGTTAACGGCCGAAAGGTGGTTGAAAGATCGGCGGAATCGGGCGCACCCGGGTGGTCGTCGACGCCGCGCTGGTGGTGCTCGGCTGCGCCGTCGTGGT",slice.seq.upcase)
|
32
|
-
|
33
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",2667164,2667263,1,"Mycobacterium paratuberculosis")
|
34
|
-
assert_equal("GTTCCACCTGCCGATCGTCTTCCTCGCCGATAACCCGGGCATGCTGCCCGGCAGCCGGTCCGAACGCAGCGGTGTGCTGCGCGCCGGCGCGCGGATGTTC",slice.seq.upcase)
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_fetch_genes_from_slice
|
38
|
-
DBConnection.ensemblgenomes_connect('mycobacterium_collection',3)
|
39
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",620900,622130 ,1,"Mycobacterium tuberculosis H37Rv")
|
40
|
-
genes = slice.genes
|
41
|
-
assert_equal("EBMYCG00000001929",genes[0].stable_id)
|
42
|
-
|
43
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",923890,925120 ,1,"Mycobacterium paratuberculosis")
|
44
|
-
genes = slice.genes
|
45
|
-
assert_equal("EBMYCG00000037956",genes[0].stable_id)
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_new_db_and_reverse_slice
|
49
|
-
DBConnection.ensemblgenomes_connect('escherichia_coli_K12',3)
|
50
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",831691,831790,-1)
|
51
|
-
assert_equal("AAACGATGCTTACTGGGGAGACGGTGGTCATGGTAAGGGCAAGAATCGACTGGGCTACCTTTTAATGGAGTTGCGCGAACAATTGGCTATAGAGAAGTAA",slice.seq.upcase)
|
52
|
-
|
53
|
-
slice = Slice.fetch_by_region('chromosome',"Chromosome",831690,832175,-1)
|
54
|
-
genes = slice.genes
|
55
|
-
assert_equal("EBESCG00000001341",genes[0].stable_id)
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_fetch_all
|
59
|
-
DBConnection.ensemblgenomes_connect('bacillus_anthracis_Sterne',3)
|
60
|
-
slices = Slice.fetch_all('chromosome')
|
61
|
-
assert_equal(5228663,slices[0].length)
|
62
|
-
end
|
63
|
-
|
64
|
-
def test_error_species
|
65
|
-
DBConnection.ensemblgenomes_connect('bacillus_collection',3)
|
66
|
-
assert_raise ArgumentError do
|
67
|
-
Slice.fetch_by_region('chromosome',"Chromosome",831690,832175,1,"Wrong specie name")
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = test/unit/release_53/ensembl_genomes/test_variation.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 'pathname'
|
11
|
-
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
|
12
|
-
$:.unshift(libpath) unless $:.include?(libpath)
|
13
|
-
|
14
|
-
require 'test/unit'
|
15
|
-
require 'lib/ensembl'
|
16
|
-
|
17
|
-
# TO BE DONE AS SOON AS ENSEMBL GENOMES VARIATIONS WILL BE RELEASED
|
@@ -1,215 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = test/unit/test_project.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 'pathname'
|
10
|
-
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
|
11
|
-
$:.unshift(libpath) unless $:.include?(libpath)
|
12
|
-
|
13
|
-
require 'test/unit'
|
14
|
-
require 'lib/ensembl'
|
15
|
-
|
16
|
-
include Ensembl::Core
|
17
|
-
|
18
|
-
DBConnection.connect('bos_taurus', 50)
|
19
|
-
|
20
|
-
class CoordinateMappingsTestSimple < Test::Unit::TestCase
|
21
|
-
# First see if the relationships work
|
22
|
-
def test_assemblies
|
23
|
-
# Contig AAFC03055291 should only be a component of chromosome 20
|
24
|
-
contig_coord_system = CoordSystem.find_by_name('contig')
|
25
|
-
aafc03055291 = SeqRegion.find_by_name_and_coord_system_id('AAFC03055291', contig_coord_system.id)
|
26
|
-
assert_equal(1, aafc03055291.assembled_seq_regions.length)
|
27
|
-
|
28
|
-
# Chromosome 20 has 2970 components
|
29
|
-
chr_coord_system = CoordSystem.find_by_name('chromosome')
|
30
|
-
chr20 = SeqRegion.find_by_name_and_coord_system_id('20', chr_coord_system.id)
|
31
|
-
assert_equal(2970, chr20.component_seq_regions.length)
|
32
|
-
|
33
|
-
# Chromosome 20 has 2970 contigs
|
34
|
-
assert_equal(2970, chr20.component_seq_regions('contig').length)
|
35
|
-
|
36
|
-
# Positions of the link between Chr20 and AAFC03055291
|
37
|
-
# * Contig AAFC03055291 starts at position 13970982 on chromosome Chr20
|
38
|
-
assert_equal(13970982, aafc03055291.assembly_links_as_component(chr_coord_system)[0].asm_start)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
class Sequences < Test::Unit::TestCase
|
43
|
-
def setup
|
44
|
-
@seq_region = SeqRegion.find(92594)
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_simple
|
48
|
-
assert_equal('AGCTATTTTATGACTT', @seq_region.seq.slice(4,16))
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_subseq
|
52
|
-
assert_equal('AGCTATTTTATGACTT', @seq_region.subseq(5,20))
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
#class SliceProjectFromComponentToAssembly < Test::Unit::TestCase
|
57
|
-
# # |------------------------------------------> chromosome
|
58
|
-
# # ^ ^
|
59
|
-
# # | |
|
60
|
-
# # |-----------------> scaffold
|
61
|
-
# def test_project_from_whole_component_to_assembly
|
62
|
-
# source_slice = Slice.fetch_by_region('contig','AAFC03055291')
|
63
|
-
# target_slices = source_slice.project('chromosome')
|
64
|
-
#
|
65
|
-
# # Start and stop of chr4_105 on Chr4
|
66
|
-
# assert_equal(13970982, target_slices[0].start)
|
67
|
-
# assert_equal(13982069, target_slices[0].stop)
|
68
|
-
# end
|
69
|
-
#
|
70
|
-
# # |------------------------------------------> chromosome
|
71
|
-
# # ^ ^
|
72
|
-
# # | |
|
73
|
-
# # |-----------------> scaffold
|
74
|
-
# def test_project_from_component_to_assembly_with_positions
|
75
|
-
# source_slice = Slice.fetch_by_region('scaffold','Chr4.003.105', 42, 2007)
|
76
|
-
# target_slices = source_slice.project('chromosome')
|
77
|
-
#
|
78
|
-
# # Position 42 on chr4_105 is position 96652152, position 2007 is 96654117
|
79
|
-
# assert_equal(96652152, target_slices[0].start)
|
80
|
-
# assert_equal(96654117, target_slices[0].stop)
|
81
|
-
# end
|
82
|
-
#
|
83
|
-
# # |------------------------------------------> scaffold
|
84
|
-
# # ^ ^
|
85
|
-
# # | |
|
86
|
-
# # ----------------> contig
|
87
|
-
# # /
|
88
|
-
# # |--
|
89
|
-
# def test_project_from_component_to_assembly_with_positions_and_cmp_start_not_1
|
90
|
-
# source_slice = Slice.fetch_by_region('contig', 'AAFC03020247', 42, 2007)
|
91
|
-
# target_slices = source_slice.project('scaffold')
|
92
|
-
#
|
93
|
-
# # Position 42 on AAFC03020247 is position 6570 on ChrUn.003.3522, position 2007 is 8565
|
94
|
-
# assert_equal(6570, target_slices[0].start)
|
95
|
-
# assert_equal(8535, target_slices[0].stop)
|
96
|
-
# end
|
97
|
-
#
|
98
|
-
# # |------------------------------------------> scaffold
|
99
|
-
# # ^ ^
|
100
|
-
# # | |
|
101
|
-
# # <-----------------| contig
|
102
|
-
# def test_project_from_component_to_assembly_with_strand
|
103
|
-
# source_slice_fw = Slice.fetch_by_region('contig', 'AAFC03020247')
|
104
|
-
# target_slices_fw = source_slice_fw.project('scaffold')
|
105
|
-
#
|
106
|
-
# assert_equal(1, target_slices_fw[0].strand)
|
107
|
-
#
|
108
|
-
# source_slice_rev = Slice.fetch_by_region('contig', 'AAFC03061502')
|
109
|
-
# target_slices_rev = source_slice_rev.project('scaffold')
|
110
|
-
#
|
111
|
-
# assert_equal(-1, target_slices_rev[0].strand)
|
112
|
-
# end
|
113
|
-
#end
|
114
|
-
|
115
|
-
#class SliceProjectFromComponentToAssemblyUsingTopLevel < Test::Unit::TestCase
|
116
|
-
# # |------------------------------------------> chromosome
|
117
|
-
# # ^ ^
|
118
|
-
# # | |
|
119
|
-
# # |-----------------> scaffold
|
120
|
-
# def test_project_from_whole_component_to_assembly
|
121
|
-
# source_slice = Slice.fetch_by_region('scaffold','Chr4.003.105')
|
122
|
-
# target_slices = source_slice.project('toplevel')
|
123
|
-
#
|
124
|
-
# # Start and stop of chr4_105 on Chr4
|
125
|
-
# assert_equal(96652111, target_slices[0].start)
|
126
|
-
# assert_equal(97251689, target_slices[0].stop)
|
127
|
-
# end
|
128
|
-
#
|
129
|
-
# # |------------------------------------------> chromosome
|
130
|
-
# # ^ ^
|
131
|
-
# # | |
|
132
|
-
# # |-----------------> scaffold
|
133
|
-
# def test_project_from_component_to_assembly_with_positions
|
134
|
-
# source_slice = Slice.fetch_by_region('scaffold','Chr4.003.105', 42, 2007)
|
135
|
-
# target_slices = source_slice.project('toplevel')
|
136
|
-
#
|
137
|
-
# # Position 42 on chr4_105 is position 96652152, position 2007 is 96654117
|
138
|
-
# assert_equal(96652152, target_slices[0].start)
|
139
|
-
# assert_equal(96654117, target_slices[0].stop)
|
140
|
-
# end
|
141
|
-
#end
|
142
|
-
|
143
|
-
class SliceProjectFromAssemblyToComponentForwardStrands < Test::Unit::TestCase
|
144
|
-
def setup
|
145
|
-
@source_slice_single_contig = Slice.fetch_by_region('chromosome', '20', 175000, 180000)
|
146
|
-
@target_slices_single_contig = @source_slice_single_contig.project('contig')
|
147
|
-
|
148
|
-
@source_slice_two_contigs = Slice.fetch_by_region('chromosome','20', 175000, 190000)
|
149
|
-
@target_slices_two_contigs = @source_slice_two_contigs.project('contig')
|
150
|
-
|
151
|
-
@source_slice_contigs_with_strand = Slice.fetch_by_region('chromosome', '20', 160000, 190000)
|
152
|
-
@target_slices_contigs_with_strand = @source_slice_contigs_with_strand.project('contig')
|
153
|
-
|
154
|
-
@source_slice_contigs_with_strand_ends_in_gaps = Slice.fetch_by_region('chromosome', '20', 170950, 196000)
|
155
|
-
@target_slices_contigs_with_strand_ends_in_gaps = @source_slice_contigs_with_strand_ends_in_gaps.project('contig')
|
156
|
-
end
|
157
|
-
|
158
|
-
# |-----------------> contig
|
159
|
-
# ^ ^
|
160
|
-
# | |
|
161
|
-
# |------------------------------------------> chromosome
|
162
|
-
def test_project_from_assembly_to_single_component
|
163
|
-
# Position 175000 on chr20 is position 4030 on contig, position 180000 is 9030
|
164
|
-
assert_equal('AAFC03028970', @target_slices_single_contig[0].seq_region.name)
|
165
|
-
assert_equal(4030, @target_slices_single_contig[0].start)
|
166
|
-
assert_equal(9030, @target_slices_single_contig[0].stop)
|
167
|
-
end
|
168
|
-
|
169
|
-
# |-----> |--------> contig
|
170
|
-
# ^ ^
|
171
|
-
# | |
|
172
|
-
# |------------------------------------------> chromosome
|
173
|
-
def test_project_from_assembly_to_two_components
|
174
|
-
# This chromosomal region is covered by contigs AAFC03028970, a gap and AAFC03028962
|
175
|
-
# * Position 175000 on chr 20 is position 4030 on contig AAFC03028970
|
176
|
-
# * Position 190000 on chr 20 is position 35 on contig AAFC03028962
|
177
|
-
assert_equal(3, @target_slices_two_contigs.length)
|
178
|
-
assert_equal('contig:Btau_4.0:AAFC03028970:4030:17365:1', @target_slices_two_contigs[0].display_name)
|
179
|
-
assert_equal(Gap, @target_slices_two_contigs[1].class)
|
180
|
-
assert_equal('contig:Btau_4.0:AAFC03028962:1:35:1', @target_slices_two_contigs[2].display_name)
|
181
|
-
end
|
182
|
-
|
183
|
-
# |-----> <-------| |-------> |-------> contig
|
184
|
-
# ^ ^
|
185
|
-
# | |
|
186
|
-
# |--------------------------------------------------> chromosome
|
187
|
-
def test_project_from_assembly_to_contigs_with_strand
|
188
|
-
# This chromosomal region is covered by 4 contigs and 3 gaps
|
189
|
-
# One of the contigs are on the reverse strand.
|
190
|
-
assert_equal(7, @target_slices_contigs_with_strand.length)
|
191
|
-
assert_equal('contig:Btau_4.0:AAFC03028964:90:9214:1', @target_slices_contigs_with_strand[0].display_name)
|
192
|
-
assert_equal(Gap, @target_slices_contigs_with_strand[1].class)
|
193
|
-
assert_equal('contig:Btau_4.0:AAFC03028959:1:1746:-1', @target_slices_contigs_with_strand[2].display_name)
|
194
|
-
assert_equal(Gap, @target_slices_contigs_with_strand[3].class)
|
195
|
-
assert_equal('contig:Btau_4.0:AAFC03028970:1:17365:1', @target_slices_contigs_with_strand[4].display_name)
|
196
|
-
assert_equal(Gap, @target_slices_contigs_with_strand[5].class)
|
197
|
-
assert_equal('contig:Btau_4.0:AAFC03028962:1:35:1', @target_slices_contigs_with_strand[6].display_name)
|
198
|
-
end
|
199
|
-
|
200
|
-
# <--| |-----> contig
|
201
|
-
# ^ ^
|
202
|
-
# | |
|
203
|
-
# |--------------------------------------------------> chromosome
|
204
|
-
def test_project_from_assembly_to_contigs_with_strand_and_ending_in_gaps
|
205
|
-
# This chromosomal region is covered by 2 contigs and 2 gaps at the end: GaCoGaCoGa
|
206
|
-
assert_equal(5, @target_slices_contigs_with_strand_ends_in_gaps.length)
|
207
|
-
assert_equal(Gap, @target_slices_contigs_with_strand_ends_in_gaps[0].class)
|
208
|
-
assert_equal('contig:Btau_4.0:AAFC03028970:1:17365:1', @target_slices_contigs_with_strand_ends_in_gaps[1].display_name)
|
209
|
-
assert_equal(Gap, @target_slices_contigs_with_strand_ends_in_gaps[2].class)
|
210
|
-
assert_equal('contig:Btau_4.0:AAFC03028962:1:5704:1', @target_slices_contigs_with_strand_ends_in_gaps[3].display_name)
|
211
|
-
assert_equal(Gap, @target_slices_contigs_with_strand_ends_in_gaps[4].class)
|
212
|
-
end
|
213
|
-
|
214
|
-
|
215
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = test/unit/test_project.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 'pathname'
|
10
|
-
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
|
11
|
-
$:.unshift(libpath) unless $:.include?(libpath)
|
12
|
-
|
13
|
-
require 'test/unit'
|
14
|
-
require 'lib/ensembl'
|
15
|
-
|
16
|
-
include Ensembl::Core
|
17
|
-
|
18
|
-
DBConnection.connect('homo_sapiens', 50)
|
19
|
-
|
20
|
-
class AssemblyExceptions < Test::Unit::TestCase
|
21
|
-
def test_chr_x
|
22
|
-
source_slice = Slice.fetch_by_region('chromosome','X', 2709497, 2709520)
|
23
|
-
assert_equal('tagttatagattaaaagaagttaa', source_slice.seq)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_slice_overlapping_PAR_and_allosome
|
27
|
-
source_slice = Slice.fetch_by_region('chromosome','Y',2709500,2709540)
|
28
|
-
target_slices = source_slice.project('contig')
|
29
|
-
assert_equal('contig::AC006209.25.1.141759:23323:23343:-1', target_slices[0].display_name)
|
30
|
-
assert_equal('contig::AC006040.3.1.186504:57272:57291:1', target_slices[1].display_name)
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_seq_slice_overlapping_PAR
|
34
|
-
seq = ''
|
35
|
-
File.open('test/unit/data/seq_y.fa').reject{|l| l=~/^>/}.each do |line|
|
36
|
-
line.chomp!
|
37
|
-
seq += line
|
38
|
-
end
|
39
|
-
seq.downcase!
|
40
|
-
|
41
|
-
source_slice = Slice.fetch_by_region('chromosome', 'Y', 2709497, 2709542)
|
42
|
-
assert_equal(seq.downcase, source_slice.seq)
|
43
|
-
end
|
44
|
-
|
45
|
-
# The MHC haplotypes for human are not implemented yet, so we raise an error
|
46
|
-
# in the code.
|
47
|
-
def test_seq_slice_overlapping_HAP
|
48
|
-
seq = ''
|
49
|
-
File.open('test/unit/data/seq_c6qbl.fa').reject{|l| l=~/^>/}.each do |line|
|
50
|
-
line.chomp!
|
51
|
-
seq += line
|
52
|
-
end
|
53
|
-
seq.downcase!
|
54
|
-
|
55
|
-
source_slice = Slice.fetch_by_region('chromosome', 'c6_QBL', 33451191, 33451690)
|
56
|
-
assert_raise(NotImplementedError) {source_slice.seq}
|
57
|
-
end
|
58
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = test/unit/test_transfers.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 'pathname'
|
10
|
-
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
|
11
|
-
$:.unshift(libpath) unless $:.include?(libpath)
|
12
|
-
|
13
|
-
require 'test/unit'
|
14
|
-
|
15
|
-
require 'lib/ensembl'
|
16
|
-
|
17
|
-
include Ensembl::Core
|
18
|
-
|
19
|
-
DBConnection.connect('homo_sapiens', 50)
|
20
|
-
|
21
|
-
# Let's see if we can 'find' things
|
22
|
-
class SimpleRecordsTest < Test::Unit::TestCase
|
23
|
-
def setup
|
24
|
-
@sry_gene = Gene.find(34927)
|
25
|
-
@sry_transcript = Transcript.find(60290)
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_coord_system
|
29
|
-
coord_system = CoordSystem.find(17)
|
30
|
-
assert_equal('chromosome', coord_system.name)
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_coord_system_toplevel
|
34
|
-
coord_system = CoordSystem.find(17).find_toplevel
|
35
|
-
assert_equal('chromosome', coord_system.name)
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_coord_system_seqlevel
|
39
|
-
coord_system = CoordSystem.find(17).find_seqlevel
|
40
|
-
assert_equal('contig', coord_system.name)
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_display_label
|
44
|
-
assert_equal('SRY', @sry_gene.display_label)
|
45
|
-
assert_equal('SRY', @sry_gene.display_name)
|
46
|
-
assert_equal('SRY', @sry_gene.label)
|
47
|
-
assert_equal('SRY', @sry_gene.name)
|
48
|
-
|
49
|
-
assert_equal('SRY-001', @sry_transcript.display_label)
|
50
|
-
assert_equal('SRY-001', @sry_transcript.display_name)
|
51
|
-
assert_equal('SRY-001', @sry_transcript.label)
|
52
|
-
assert_equal('SRY-001', @sry_transcript.name)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
class RelationshipsTest < Test::Unit::TestCase
|
57
|
-
def test_go_terms
|
58
|
-
gene = Gene.find(34928)
|
59
|
-
assert_equal(["GO:0005576", "GO:0042742"], gene.go_terms.sort)
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_hgnc
|
63
|
-
gene = Gene.find_by_stable_id('ENSG00000169740')
|
64
|
-
assert_equal('ZNF32', gene.hgnc)
|
65
|
-
end
|
66
|
-
end
|