\HeaderA{hom.Mm.inpHOMSA}{Map between IDs for genes in one organism to their predicted
paralogs in another}{hom.Mm.inpHOMSA}
\aliasA{hom.Mm.inpAEDAE}{hom.Mm.inpHOMSA}{hom.Mm.inpAEDAE}
\aliasA{hom.Mm.inpANOGA}{hom.Mm.inpHOMSA}{hom.Mm.inpANOGA}
\aliasA{hom.Mm.inpAPIME}{hom.Mm.inpHOMSA}{hom.Mm.inpAPIME}
\aliasA{hom.Mm.inpARATH}{hom.Mm.inpHOMSA}{hom.Mm.inpARATH}
\aliasA{hom.Mm.inpBOSTA}{hom.Mm.inpHOMSA}{hom.Mm.inpBOSTA}
\aliasA{hom.Mm.inpCAEBR}{hom.Mm.inpHOMSA}{hom.Mm.inpCAEBR}
\aliasA{hom.Mm.inpCAEEL}{hom.Mm.inpHOMSA}{hom.Mm.inpCAEEL}
\aliasA{hom.Mm.inpCAERE}{hom.Mm.inpHOMSA}{hom.Mm.inpCAERE}
\aliasA{hom.Mm.inpCANFA}{hom.Mm.inpHOMSA}{hom.Mm.inpCANFA}
\aliasA{hom.Mm.inpCANGL}{hom.Mm.inpHOMSA}{hom.Mm.inpCANGL}
\aliasA{hom.Mm.inpCIOIN}{hom.Mm.inpHOMSA}{hom.Mm.inpCIOIN}
\aliasA{hom.Mm.inpCRYNE}{hom.Mm.inpHOMSA}{hom.Mm.inpCRYNE}
\aliasA{hom.Mm.inpDANRE}{hom.Mm.inpHOMSA}{hom.Mm.inpDANRE}
\aliasA{hom.Mm.inpDEBHA}{hom.Mm.inpHOMSA}{hom.Mm.inpDEBHA}
\aliasA{hom.Mm.inpDICDI}{hom.Mm.inpHOMSA}{hom.Mm.inpDICDI}
\aliasA{hom.Mm.inpDROME}{hom.Mm.inpHOMSA}{hom.Mm.inpDROME}
\aliasA{hom.Mm.inpDROPS}{hom.Mm.inpHOMSA}{hom.Mm.inpDROPS}
\aliasA{hom.Mm.inpENTHI}{hom.Mm.inpHOMSA}{hom.Mm.inpENTHI}
\aliasA{hom.Mm.inpESCCO}{hom.Mm.inpHOMSA}{hom.Mm.inpESCCO}
\aliasA{hom.Mm.inpFUGRU}{hom.Mm.inpHOMSA}{hom.Mm.inpFUGRU}
\aliasA{hom.Mm.inpGALGA}{hom.Mm.inpHOMSA}{hom.Mm.inpGALGA}
\aliasA{hom.Mm.inpGASAC}{hom.Mm.inpHOMSA}{hom.Mm.inpGASAC}
\aliasA{hom.Mm.inpKLULA}{hom.Mm.inpHOMSA}{hom.Mm.inpKLULA}
\aliasA{hom.Mm.inpMACMU}{hom.Mm.inpHOMSA}{hom.Mm.inpMACMU}
\aliasA{hom.Mm.inpMONDO}{hom.Mm.inpHOMSA}{hom.Mm.inpMONDO}
\aliasA{hom.Mm.inpMUSMU}{hom.Mm.inpHOMSA}{hom.Mm.inpMUSMU}
\aliasA{hom.Mm.inpORYSA}{hom.Mm.inpHOMSA}{hom.Mm.inpORYSA}
\aliasA{hom.Mm.inpPANTR}{hom.Mm.inpHOMSA}{hom.Mm.inpPANTR}
\aliasA{hom.Mm.inpRATNO}{hom.Mm.inpHOMSA}{hom.Mm.inpRATNO}
\aliasA{hom.Mm.inpSACCE}{hom.Mm.inpHOMSA}{hom.Mm.inpSACCE}
\aliasA{hom.Mm.inpSCHPO}{hom.Mm.inpHOMSA}{hom.Mm.inpSCHPO}
\aliasA{hom.Mm.inpTETNI}{hom.Mm.inpHOMSA}{hom.Mm.inpTETNI}
\aliasA{hom.Mm.inpXENTR}{hom.Mm.inpHOMSA}{hom.Mm.inpXENTR}
\aliasA{hom.Mm.inpYARLI}{hom.Mm.inpHOMSA}{hom.Mm.inpYARLI}
\keyword{datasets}{hom.Mm.inpHOMSA}
\begin{Description}\relax
A map of this type is an R object that provides mappings between
identifiers for genes in the package organism and their predicted
paralogs in the map that the organism is named after.  So for example,
if the inparanoid package is the human package, then the
hom.Mm.inpRATNO map would provide mappings between human and rat.
\end{Description}
\begin{Details}\relax
Mappings between gene identifiers and their paralogs as predicted by
the Inparanoid algorithm.  The map filters out paralogs that have an
Inparanoid score less than 100

Mappings are normally given from the ID of the organism in the
package to the IDs of the organism listed in the map name.

Reversal can be made of ANY map by using the function revmap (see
examples below).

Names for these maps are done in the "INPARANOID style" which means
that they are normally the 1st three letters of the genus followed
by the 1st two letters of the species.  For example: "Mus musculus"
becomes "MUSMU", "Homo sapiens" becomes "HOMSA", "Monodelphis
domestica" becomes "MONDO" etc. This means that for most of these
organisms it will be possible to easily guess the abbreviations
used.  An exception may occur in the future if a new model organism
has a very similar genus and species name to an existing one.
\end{Details}
\begin{References}\relax
\url{http://inparanoid.sbc.su.se/download/current/sqltables}
\end{References}
\begin{Examples}
\begin{ExampleCode}
        x <- hom.Mm.inpAPIME
        # Get honeybee IDs that are paralogous to the pkg IDs
        mapped_IDs <- mappedkeys(x)
        # Convert to a list
        xx <- as.list(x[mapped_IDs])
        if(length(xx) > 0) {
          # Get the paralogs for the first five genes
          xx[1:5]
          # Get the first one
          xx[[1]]
        }

        #Now for the reverse map (honeybee IDs back to pkg paralog)
        x <- revmap(hom.Mm.inpAPIME)
        mapped_IDs <- mappedkeys(x)
        # Convert to a list
        xx <- as.list(x[mapped_IDs])
        if(length(xx) > 0) {
          # Get the paralogs for the first five IDs
          xx[1:5]
          # Get the first one
          xx[[1]]
        }         

    ## Not run: 
        #For the most common organisms, we try to ensure that you can
        #map back to an Entrez Gene ID by providing you with necessary
        #maps in the related organism based annotation packages.  The
        #following example shows how to get from an Entrez Gene ID for
        #Human to Entrez Gene IDs for Mouse even though inparanoid does
        #not map to Entrez Gene IDs for either of these species.

        #You will have to include the appropriate packages for
        #humans:
        library("org.Hs.eg.db")
        #and for mouse:
        library("org.Mm.eg.db")
        #And of course you will need the inparanoid package:
        library("hom.Hs.inp.db")

        #Start with some Human Entrez Gene IDs
        humanEGIds <- c("4488","4487")

        #Inparanoid uses ensembl protein IDs so start with
        #those. Notice that there will be many protein IDs returned for
        #a typical gene since there are many possible translations.
        humanProtIds <- mget(humanEGIds,org.Hs.egENSEMBLPROT)

        #Map the IDs that we can from inparanoid. Notice that by design,
        #inparanoid only represents each gene product with a single
        #translation product. Therefore your list could slim down a lot
        #during this step.  Also, if the thing you are trying to match
        #up at this step has less than 100% seed status, you will not
        #find it in this step.
        rawMouseProtIds <- mget(unlist(humanProtIds),hom.Hs.inpMUSMU,ifnotfound=NA)
        #This also means that we need to clean up the NAs from our result
        mouseProtIds <- rawMouseProtIds[!is.na(rawMouseProtIds)]

        #Then use the mouse organism based packages to convert these IDs
        #back to an Entrez Gene ID again (this time for mouse). 
        mouseEGIds <- mget(unlist(mouseProtIds),org.Mm.egMGI2EG,ifnotfound=NA)

        #Now go ahead and have a look at the output
        mouseEGIds
    ## End(Not run)

\end{ExampleCode}
\end{Examples}

