24
24
from __future__ import print_function , division , absolute_import
25
25
from os .path import join
26
26
27
- from six .moves . urllib_parse import urljoin
27
+ from six .moves import urllib_parse
28
28
29
29
from .species import Species , find_species_by_name
30
30
from .ensembl_release_versions import check_release_number
36
36
# GTF annotation files: /pub/release-78/gtf/homo_sapiens/
37
37
SPECIES_SUBDIR_TEMPLATE = "/pub/release-%(release)d/%(filetype)s/%(species)s/"
38
38
39
+
39
40
def _species_subdir (
40
41
ensembl_release ,
41
42
species = "homo_sapiens" ,
@@ -51,6 +52,7 @@ def _species_subdir(
51
52
"species" : species ,
52
53
}
53
54
55
+
54
56
def _normalize_release_properties (ensembl_release , species ):
55
57
"""
56
58
Make sure a given release is valid, normalize it to be an integer,
@@ -65,6 +67,7 @@ def _normalize_release_properties(ensembl_release, species):
65
67
# GTF annotation file example: Homo_sapiens.GTCh38.gtf.gz
66
68
GTF_FILENAME_TEMPLATE = "%(Species)s.%(reference)s.%(release)d.gtf.gz"
67
69
70
+
68
71
def make_gtf_url (ensembl_release , species , server = ENSEMBL_FTP_SERVER ):
69
72
"""
70
73
Returns a URL and a filename, which can be joined together.
@@ -78,7 +81,7 @@ def make_gtf_url(ensembl_release, species, server=ENSEMBL_FTP_SERVER):
78
81
filetype = "gtf" ,
79
82
server = server )
80
83
81
- url_subdir = urljoin (server , subdir )
84
+ url_subdir = urllib_parse . urljoin (server , subdir )
82
85
83
86
filename = GTF_FILENAME_TEMPLATE % {
84
87
"Species" : species .capitalize (),
@@ -91,6 +94,7 @@ def make_gtf_url(ensembl_release, species, server=ENSEMBL_FTP_SERVER):
91
94
FASTA_DNA_CHROMOSOME_FILENAME_TEMPLATE = \
92
95
"%(Species)s.%(reference)s.%(release)d.%(sequence_type)s.chromosome.%(contig)s.fa.gz"
93
96
97
+
94
98
def make_fasta_dna_url (
95
99
ensembl_release ,
96
100
species ,
@@ -107,7 +111,7 @@ def make_fasta_dna_url(
107
111
species = species ,
108
112
filetype = "fasta" ,
109
113
server = server ,)
110
- server_subdir = urljoin (server , subdir )
114
+ server_subdir = urllib_parse . urljoin (server , subdir )
111
115
112
116
server_sequence_subdir = join (server_subdir , "dna" )
113
117
filename = FASTA_DNA_CHROMOSOME_FILENAME_TEMPLATE % {
@@ -130,6 +134,7 @@ def make_fasta_dna_url(
130
134
NEW_FASTA_FILENAME_TEMPLATE = \
131
135
"%(Species)s.%(reference)s.%(sequence_type)s.all.fa.gz"
132
136
137
+
133
138
def make_fasta_url (
134
139
ensembl_release ,
135
140
species ,
@@ -150,7 +155,7 @@ def make_fasta_url(
150
155
filetype = "fasta" ,
151
156
server = server )
152
157
153
- server_subdir = urljoin (server , subdir )
158
+ server_subdir = urllib_parse . urljoin (server , subdir )
154
159
server_sequence_subdir = join (server_subdir , sequence_type )
155
160
if ensembl_release <= 75 :
156
161
filename = OLD_FASTA_FILENAME_TEMPLATE % {
0 commit comments