6
6
__copyright__ = "Copyright 2007, The Cogent Project"
7
7
__credits__ = ["Gavin Huttley"]
10
10
__maintainer__ = "Gavin Huttley"
11
11
__email__ = "Gavin.Huttley@anu.edu.au"
12
12
__status__ = "alpha"
14
14
_release = re.compile("\d+")
15
15
def get_version_from_name(name):
16
16
"""returns the release and build identifiers from an ensembl db_name"""
17
name = _name_delim.split(name)
18
# if last entry has a release and build
19
release, build = None, None
20
if _release.findall(name[-2]):
21
release = _release.findall(name[-2])[0]
24
release = _release.findall(name[-1])[0]
17
r = _release.search(name)
21
# first number run is release, followed by build
22
# note, for the ensemblgenomes naming system, the second digit run is the
23
# standard Ensembl release and the first is for the specified genome
24
release = name[r.start(): r.end()]
25
b = [s for s in _name_delim.split(name[r.end():]) if s]
27
29
_name_delim = re.compile("_")
28
30
def get_dbtype_from_name(name):
29
31
"""returns the data base type from the name"""
31
name = _name_delim.split(name)
33
name = _release.split(name)
34
name = [s for s in _name_delim.split(name[0]) if s]
32
35
except TypeError, msg:
34
37
print name, type(name), msg
61
64
self.Name = db_name
62
65
self.Type = get_dbtype_from_name(db_name)
63
66
self.Prefix = get_db_prefix(db_name)
64
68
release, build = get_version_from_name(db_name)
65
69
self.Release = release
70
self.GeneralRelease = self.Release
73
if self.Type != 'compara':
77
self.GeneralRelease = build[0]
80
self.GeneralRelease = build[0]
67
84
self.Species = None
68
85
self.Species = Species.getSpeciesName(self.Prefix)