Exemplo n.º 1
0
 def test_get_ensembl_format(self):
     """should take common or latin names and return the corresponding
     ensembl db prefix"""
     self.assertEqual(Species.getEnsemblDbPrefix("human"), "homo_sapiens")
     self.assertEqual(Species.getEnsemblDbPrefix("mouse"), "mus_musculus")
     self.assertEqual(Species.getEnsemblDbPrefix("Mus musculus"),
                      "mus_musculus")
Exemplo n.º 2
0
 def test_get_ensembl_format(self):
     """should take common or latin names and return the corresponding
     ensembl db prefix"""
     self.assertEqual(Species.getEnsemblDbPrefix("human"), "homo_sapiens")
     self.assertEqual(Species.getEnsemblDbPrefix("mouse"), "mus_musculus")
     self.assertEqual(Species.getEnsemblDbPrefix("Mus musculus"),
                                             "mus_musculus")
Exemplo n.º 3
0
 def test_add_new_species(self):
     """should correctly add a new species/common combination and infer the
     correct ensembl prefix"""
     species_name, common_name = "Otolemur garnettii", "Bushbaby"
     Species.amendSpecies(species_name, common_name)
     self.assertEqual(Species.getSpeciesName(species_name), species_name)
     self.assertEqual(Species.getSpeciesName("Bushbaby"), species_name)
     self.assertEqual(Species.getSpeciesName(common_name), species_name)
     self.assertEqual(Species.getCommonName(species_name), common_name)
     self.assertEqual(Species.getCommonName("Bushbaby"), common_name)
     self.assertEqual(Species.getEnsemblDbPrefix("Bushbaby"), "otolemur_garnettii")
     self.assertEqual(Species.getEnsemblDbPrefix(species_name), "otolemur_garnettii")
     self.assertEqual(Species.getEnsemblDbPrefix(common_name), "otolemur_garnettii")
Exemplo n.º 4
0
 def test_amend_existing(self):
     """should correctly amend an existing species"""
     species_name = 'Ochotona princeps'
     common_name1 = 'american pika'
     common_name2 = 'pika'
     ensembl_pref = 'ochotona_princeps'
     Species.amendSpecies(species_name, common_name1)
     self.assertEqual(Species.getCommonName(species_name),common_name1)
     Species.amendSpecies(species_name, common_name2)
     self.assertEqual(Species.getSpeciesName(common_name2), species_name)
     self.assertEqual(Species.getSpeciesName(ensembl_pref), species_name)
     self.assertEqual(Species.getCommonName(species_name), common_name2)
     self.assertEqual(Species.getCommonName(ensembl_pref), common_name2)
     self.assertEqual(Species.getEnsemblDbPrefix(species_name),ensembl_pref)
     self.assertEqual(Species.getEnsemblDbPrefix(common_name2),ensembl_pref)
Exemplo n.º 5
0
 def test_add_new_species(self):
     """should correctly add a new species/common combination and infer the
     correct ensembl prefix"""
     species_name, common_name = "Otolemur garnettii", "Bushbaby"
     Species.amendSpecies(species_name, common_name)
     self.assertEqual(Species.getSpeciesName(species_name), species_name)
     self.assertEqual(Species.getSpeciesName("Bushbaby"), species_name)
     self.assertEqual(Species.getSpeciesName(common_name), species_name)
     self.assertEqual(Species.getCommonName(species_name), common_name)
     self.assertEqual(Species.getCommonName("Bushbaby"), common_name)
     self.assertEqual(Species.getEnsemblDbPrefix("Bushbaby"),
                      "otolemur_garnettii")
     self.assertEqual(Species.getEnsemblDbPrefix(species_name),
                      "otolemur_garnettii")
     self.assertEqual(Species.getEnsemblDbPrefix(common_name),
                      "otolemur_garnettii")
Exemplo n.º 6
0
 def test_amend_existing(self):
     """should correctly amend an existing species"""
     species_name = 'Ochotona princeps'
     common_name1 = 'american pika'
     common_name2 = 'pika'
     ensembl_pref = 'ochotona_princeps'
     Species.amendSpecies(species_name, common_name1)
     self.assertEqual(Species.getCommonName(species_name), common_name1)
     Species.amendSpecies(species_name, common_name2)
     self.assertEqual(Species.getSpeciesName(common_name2), species_name)
     self.assertEqual(Species.getSpeciesName(ensembl_pref), species_name)
     self.assertEqual(Species.getCommonName(species_name), common_name2)
     self.assertEqual(Species.getCommonName(ensembl_pref), common_name2)
     self.assertEqual(Species.getEnsemblDbPrefix(species_name),
                      ensembl_pref)
     self.assertEqual(Species.getEnsemblDbPrefix(common_name2),
                      ensembl_pref)
Exemplo n.º 7
0
def make_db_name_pattern(species=None, db_type=None, release=None):
    """returns a pattern for matching the db name against"""
    sep = r"%"
    pattern = ""
    if species:
        species = Species.getEnsemblDbPrefix(species)
        pattern = "%s%s" % (sep, species)
    if db_type:
        pattern = "%s%s%s" % (pattern, sep, db_type)
    if release:
        pattern = "%s%s%s" % (pattern, sep, release)
    assert pattern

    return "'%s%s'" % (pattern, sep)
Exemplo n.º 8
0
    def _get_dnafrag_id_for_coord(self, coord):
        """returns the dnafrag_id for the coordnate"""
        dnafrag_table = self.ComparaDb.getTable('dnafrag')
        genome_db_table = self.ComparaDb.getTable('genome_db')

        # column renamed between versions
        prefix = coord.genome.Species.lower()
        if int(self.Release) > 58:
            prefix = _Species.getEnsemblDbPrefix(prefix)

        query = sql.select([dnafrag_table.c.dnafrag_id,
                           dnafrag_table.c.coord_system_name],
                  sql.and_(dnafrag_table.c.genome_db_id ==\
                                            genome_db_table.c.genome_db_id,
                                genome_db_table.c.name == prefix,
                                dnafrag_table.c.name == coord.CoordName))
        try:
            record = asserted_one(query.execute().fetchall())
            dnafrag_id = record['dnafrag_id']
        except NoItemError:
            raise RuntimeError, 'No DNA fragment identified'
        return dnafrag_id