Usage¶
Mapper interface¶
The main interface of genemap is provided by the different Mapper classes,
which provide the functionality for mapping different identifier types using
specific data sources. Each mapper provides the following three methods:
map_ids- Maps a given list of identifiers to another identifier type.map_dataframe- Maps the index of the passed dataframe to another identifier type. This method can, for example, be used to translate gene identifiers in matrix containing expression values to other identifier types.fetch_mapping- Returns the used mapping (as a DataFrame with two columns).
The actual mapping that is performed depends on the underlying mapper and the arguments with which it was created. For example, basic usage of the Ensembl mapper for mapping a list of gene symbols to Ensembl IDs is as follows:
from genemap.mappers import EnsemblMapper
mapper = EnsemblMapper(from_type='symbol', to_type='ensembl')
mapper.map_ids(['TP53', 'BRCA1', 'PPP1R12A'])
Here, from_type specifies the type of identifier that is used in the input
and to_type specifies the output identifier type. Similarly, the same
mapper can be used to translate gene symbols between different species:
from genemap.mappers import EnsemblMapper
mapper = EnsemblMapper(from_type='symbol', to_type='ensembl',
from_organism='hsapiens', to_organism='mmusculus')
mapper.map_ids(['TP53', 'BRCA1', 'PPP1R12A'])
For an overview of the different Mapper classes and the arguments supported
by each mapper, see the Mapper API reference or the docstring of
the corresponding Mapper class.
Functional interface¶
For convenience, genemap also provides a functional interface to access the
different mappers. This interface consists of three functions, map_ids
map_dataframe and fetch_mapping, which essentially perform the same
function as the corresponding methods on the Mapper class. The functions
take an additional mapper argument that indicates which mapper should be
used. Other extra arguments are passed to the corresponding mapper class.
As an example, we can use the Ensembl mapper to translate gene symbols to Ensembl IDs using the functional interface as follows:
from genemap import map_ids
mapper.map_ids(['TP53', 'BRCA1', 'PPP1R12A'], mapper='ensembl',
from_type='symbol', to_type='ensembl')
Similarly, we can also translate symbols between species using:
from genemap import map_ids
mapper.map_ids(['TP53', 'BRCA1', 'PPP1R12A'], mapper='ensembl',
from_type='symbol', to_type='ensembl',
from_organism='hsapiens', to_organism='mmusculus')