Module:Infobox gene/orthologs
Appearance
| This module is rated as beta. It is considered ready for widespread use, but as it is still relatively new, it should be applied with some caution to ensure results are as expected. |
| This module is currently protected from editing. See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected. |
This is a submodule of Module:Infobox gene. It contains the ortholog-rendering code split out from the main module to reduce the size of the main Lua page.
It is not intended to be invoked directly from articles. The main module loads it with:
local orthologs = require('Module:Infobox gene/orthologs')
For general documentation, see Module:Infobox gene/doc and {{Infobox gene}}.
local p = {}
function p.render(frame, root, config, entrez_gene, entrez_gene_mm, ensembl, ensembl_mm, uniprot, uniprot_mm, refseq_mRNA, refseq_mRNA_mm, refseq_prot, refseq_prot_mm, db, chr, gstart, gend, db_mm, chr_mm, gstart_mm, gend_mm, collapse_orthologs)
local localSeparatorStr = config.localSeparatorStr
local localNotApplicableStr = config.localNotApplicableStr
local rowBGcolor = config.rowBGcolor
local titleBGcolor = config.titleBGcolor
local sideTitleBGcolor = config.sideTitleBGcolor
local locToMb = config.locToMb
local title = "[[Orthologs]]" --**lclz**
local ortholog_class = collapse_orthologs ~= '' and 'collapsible collapsed' or 'collapsible'
--to do make the list creation a function
--create list for entrez ids
local category_chromosome = '[[Category:Genes on human chromosome '..chr..']]'-- *lclz*: Category name
if chr == "MT" then
category_chromosome = '[[Category:Human mitochondrial genes]]'-- *lclz*: Category name for mtDNA genes
end
if chr == "" then
category_chromosome = '[[Category:Human genes]]' -- Per [[Wikipedia:Categories for discussion/Log/2023 August 15]]
end
if mw.title.getCurrentTitle().namespace ~= 0 then
category_chromosome = ""
end
local entrezTitle = "[[Entrez]]"
entrez_gene = string.gsub(entrez_gene, "%s", "")
local entrez_link = localNotApplicableStr
local entrez_collapse
local entrez_default = ""
local split_entrez = mw.text.split(entrez_gene, localSeparatorStr)
local entrez_link_list = {}
local ncbi_ortholog_links = {}
for k,v in ipairs(split_entrez) do
v = mw.text.trim(v)
if string.match(v, '^%d+$') then
ncbi_ortholog_links[#ncbi_ortholog_links + 1] = "[https://www.ncbi.nlm.nih.gov/datasets/gene/"..v.."/#orthologs entry]"
end
if string.match(v, '%w+') and v ~= localNotApplicableStr then
entrez_link_list[#entrez_link_list+1] = "[https://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=gene&cmd=retrieve&dopt=default&list_uids="..entrez_gene.."&rn=1 "..entrez_gene.."]"
end
end
--if less than 5 don't create collapsible list
if table.getn(entrez_link_list) < 5 then
entrez_collapse = "none"
if entrez_default == nil and table.getn(entrez_link_list) == 0 then entrez_link = localNotApplicableStr end
else
entrez_collapse = "collapsible collapsed"
entrez_default = table.remove(entrez_link_list, 1) .. '<br>' .. table.remove(entrez_link_list, 1) .. '<br>' ..table.remove(entrez_link_list, 1) .. '<br>' .. table.remove(entrez_link_list, 1) .. '<br>' .. table.remove(entrez_link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if entrez_link_list[#entrez_link_list] then
entrez_link = table.concat(entrez_link_list, "<br>")
end
--create list for mouse Entrez id
entrez_gene_mm = string.gsub(entrez_gene_mm, "%s", "")
local entrez_mm_link = localNotApplicableStr
local entrez_mm_collapse
local entrez_mm_default = ""
local split_entrez_mm = mw.text.split(entrez_gene_mm, localSeparatorStr)
local entrez_mm_link_list = {}
for k,v in ipairs(split_entrez_mm) do
if string.match(v, '%w+') and v ~= localNotApplicableStr then
entrez_mm_link_list[#entrez_mm_link_list+1] = "[https://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=gene&cmd=retrieve&dopt=default&list_uids="..v.."&rn=1 "..v.."]"
end
end
--if less than 5 don't create collapsible list
if table.getn(entrez_mm_link_list) < 5 then
entrez_mm_collapse = "none"
if entrez_mm_default == nil and table.getn(entrez_mm_link_list) == 0 then entrez_mm_link = localNotApplicableStr end
else
entrez_mm_collapse = "collapsible collapsed"
entrez_mm_default = table.remove(entrez_mm_link_list, 1) .. '<br>' .. table.remove(entrez_mm_link_list, 1) .. '<br>' ..table.remove(entrez_mm_link_list, 1) .. '<br>' .. table.remove(entrez_mm_link_list, 1) .. '<br>' .. table.remove(entrez_mm_link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if entrez_mm_link_list[#entrez_mm_link_list] then
entrez_mm_link = table.concat(entrez_mm_link_list, "<br>")
end
--create list of ensembl id
local ensemblTitle = "[[Ensembl]]"
ensembl = string.gsub(ensembl, "%s", "")
local ensembl_link = localNotApplicableStr
local ensembl_collapse
local ensembl_default = ""
local split_ensembl = mw.text.split(ensembl, localSeparatorStr)
local ensembl_link_list = {}
local oma_ensembl = ""
for k,v in ipairs(split_ensembl) do
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if oma_ensembl == "" then
oma_ensembl = v
end
ensembl_link_list[#ensembl_link_list+1] = "[http://www.ensembl.org/Homo_sapiens/geneview?gene="..v..";db=core".." "..v.."]"
end
end
--if less than 5 don't create collapsible list
if table.getn(ensembl_link_list) < 5 then
ensembl_collapse = "none"
if ensembl_default == nil and table.getn(ensembl_link_list) == 0 then ensembl_link = localNotApplicableStr end
else
ensembl_collapse = "collapsible collapsed"
ensembl_default = table.remove(ensembl_link_list, 1) .. '<br>' .. table.remove(ensembl_link_list, 1) .. '<br>' ..table.remove(ensembl_link_list, 1) .. '<br>' .. table.remove(ensembl_link_list, 1) .. '<br>' .. table.remove(ensembl_link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if ensembl_link_list[#ensembl_link_list] then
ensembl_link = table.concat(ensembl_link_list, "<br>")
end
--create list of mouse ensembl id
ensembl_mm = string.gsub(ensembl_mm, "%s", "")
local ensembl_mm_link = localNotApplicableStr
local ensembl_mm_collapse
local ensembl_mm_default = ""
local split_ensembl_mm = mw.text.split(ensembl_mm, localSeparatorStr)
local ensembl_mm_link_list = {}
for k,v in ipairs(split_ensembl_mm) do
if string.match(v, '%w+') and v ~= localNotApplicableStr then
ensembl_mm_link_list[#ensembl_mm_link_list+1] = "[http://www.ensembl.org/Mus_musculus/geneview?gene="..v..";db=core".." "..v.."]"
end
end
--if less than 5 don't create collapsible list
if table.getn(ensembl_mm_link_list) < 5 then
ensembl_mm_collapse = "none"
if ensembl_mm_default == nil and table.getn(ensembl_mm_link_list) == 0 then ensembl_mm_link = localNotApplicableStr end
else
ensembl_mm_collapse = "collapsible collapsed"
ensembl_mm_default = table.remove(ensembl_mm_link_list, 1) .. '<br>' .. table.remove(ensembl_mm_link_list, 1) .. '<br>' ..table.remove(ensembl_mm_link_list, 1) .. '<br>' .. table.remove(ensembl_mm_link_list, 1) .. '<br>' .. table.remove(ensembl_mm_link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if ensembl_mm_link_list[#ensembl_mm_link_list] then
ensembl_mm_link = table.concat(ensembl_mm_link_list, "<br>")
end
--create lists of uniprot ID
local uniprotTitle = "[[UniProt]]"
local uniprot_url = "https://www.uniprot.org/uniprot/"
local uniprot_link = localNotApplicableStr
local uniprot_collapse
local uniprot_default = ""
--split string and loop through concatenate by <br>
local split_uniprot = mw.text.split(uniprot, '%p') -- the separator may be different sometimes, see note on zhwiki. This is unlikely to have punctuation, prayer.
local uniprot_link_list = {}
local uniprot_first = {} --preferred values only display [O,P,Q] prefixed entries if they exist
local uniprot_alternate = {} --[A-N,R-Z] entries
local hash = {} --storage to look for duplicated values
for k,v in ipairs(split_uniprot) do
if not hash[v] then --only add if not found previously..some encodes uniprotID dup in different encodes
local label = mw.text.trim(v)
local concat_uniprot_link = uniprot_url .. label
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if string.match(v, '^O') or string.match(v,'^P') or string.match(v, '^Q') then
uniprot_first[#uniprot_first+1] = "[" .. concat_uniprot_link .. " " ..label .. "]"
else
uniprot_alternate[#uniprot_alternate+1] = "[" .. concat_uniprot_link .. " " ..label .. "]"
end
end
hash[v] = true
end
end
if table.getn(uniprot_first)>0 then --if there is something in the preferred values display else display anything else
uniprot_link_list = uniprot_first
else
uniprot_link_list = uniprot_alternate
end
--if less than 5 don't create collapsible list
if table.getn(uniprot_link_list) < 5 then
uniprot_collapse = "none"
if uniprot_default == nil and table.getn(uniprot_link_list) == 0 then uniprot_link = localNotApplicableStr end
else
uniprot_collapse = "collapsible collapsed"
uniprot_default = table.remove(uniprot_link_list, 1) .. '<br>' .. table.remove(uniprot_link_list, 1) .. '<br>' ..table.remove(uniprot_link_list, 1) .. '<br>' .. table.remove(uniprot_link_list, 1) .. '<br>' .. table.remove(uniprot_link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if uniprot_link_list[#uniprot_link_list] then
uniprot_link = table.concat(uniprot_link_list, "<br>")
end
--mouse uniprot lists
local uniprot_mm_link = localNotApplicableStr
local uniprot_mm_collapse
local uniprot_mm_default = ""
--split string and loop through concatenate by <br>
local split_uniprot_mm = mw.text.split(uniprot_mm, localSeparatorStr)
local uniprot_mm_link_list = {}
local uniprot_mm_first = {} --preferred values only display [O,P,Q] prefixed entries if they exist
local uniprot_mm_alternate = {} --[A-N,R-Z] entries
local hash = {} --storage to look for duplicated values
for k,v in ipairs(split_uniprot_mm) do
if not hash[v] then --only add if not found previously..some encodes uniprotID dup in different encodes
local label = mw.text.trim(v)
local concat_uniprot_link = uniprot_url .. label
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if string.match(v, '^O') or string.match(v,'^P') or string.match(v, '^Q') then
uniprot_mm_first[#uniprot_mm_first+1] = "[" .. concat_uniprot_link .. " " ..label .. "]"
else
uniprot_mm_alternate[#uniprot_mm_alternate+1] = "[" .. concat_uniprot_link .. " " ..label .. "]"
end
end
hash[v] = true
end
end
if table.getn(uniprot_mm_first)>0 then --if there is something in the preferred values display else display anything else
uniprot_mm_link_list = uniprot_mm_first
else
uniprot_mm_link_list = uniprot_mm_alternate
end
--if less than 5 don't create collapsible list
if table.getn(uniprot_mm_link_list) < 5 then
uniprot_mm_collapse = "none"
if uniprot_mm_default == nil and table.getn(uniprot_mm_link_list) == 0 then uniprot_mm_link = localNotApplicableStr end
else
uniprot_mm_collapse = "collapsible collapsed"
uniprot_mm_default = table.remove(uniprot_mm_link_list, 1) .. '<br>' .. table.remove(uniprot_mm_link_list, 1) .. '<br>' ..table.remove(uniprot_mm_link_list, 1) .. '<br>' .. table.remove(uniprot_mm_link_list, 1) .. '<br>' .. table.remove(uniprot_mm_link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if uniprot_mm_link_list[#uniprot_mm_link_list] then
uniprot_mm_link = table.concat(uniprot_mm_link_list, "<br>")
end
local ncbi_link = "https://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?val="
local refseq_mRNATitle = "RefSeq (mRNA)" -- *lclz*: sometimes
--create list of links for refSeq mRNA
local refseq_mRNA_link = localNotApplicableStr
local refseq_mRNA_collapse
local refseq_mRNA_default = ""
--split string and loop through concatenate by <br>
local split_refseq_mRNA = mw.text.split(refseq_mRNA, localSeparatorStr)
local link_list_first = {} --hold those the have NM or NP values
local link_list_alternate = {} --hold those that are XM or XP values
local link_list = {} --if NM,NP display if not display XM, XP values
for k,v in ipairs(split_refseq_mRNA) do
local label = mw.text.trim(v)
local concat_ncbi_link = ncbi_link .. label
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if string.match(v, 'NM') or string.match(v, 'NP') then
link_list_first[#link_list_first+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
elseif string.match(v, 'XM') or string.match(v, 'XP') then
link_list_alternate[#link_list_alternate+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
end
end
end
if table.getn(link_list_first)>0 then
link_list = link_list_first
else
link_list = link_list_alternate
end
--if less than 5 don't create collapsible list
if table.getn(link_list) < 6 then
refseq_mRNA_collapse = "none"
if refseq_mRNA_default == nil and table.getn(link_list) == 0 then refseq_mRNA_link = localNotApplicableStr end
else
refseq_mRNA_collapse = "collapsible collapsed"
refseq_mRNA_default = table.remove(link_list, 1) .. '<br>' .. table.remove(link_list, 1) .. '<br>' ..table.remove(link_list, 1) .. '<br>' .. table.remove(link_list, 1) .. '<br>' .. table.remove(link_list, 1) .. '<br>'--get first 5 elements in table and use for display
end
if link_list[#link_list] then
refseq_mRNA_link = table.concat(link_list, "<br>")
end
--create list of links for refSeq mRNA for mouse
local refseq_mRNA_mm_link = localNotApplicableStr
local refseq_mRNA_mm_collapse
local refseq_mRNA_mm_default = ""
local split_refseq_mRNA_mm = mw.text.split(refseq_mRNA_mm, localSeparatorStr)
local link_list_mm = {} --if NM,NP display if not display XM, XP values
local link_list_first = {} --hold those the have NM or NP values
local link_list_alternate = {} --hold those that are XM or XP values
for k,v in ipairs(split_refseq_mRNA_mm) do
local label = mw.text.trim(v)
local concat_ncbi_link = ncbi_link .. label
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if string.match(v, 'NM') or string.match(v, 'NP') then
link_list_first[#link_list_first+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
elseif string.match(v, 'XM') or string.match(v, 'XP') then
link_list_alternate[#link_list_alternate+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
end
end
end
if table.getn(link_list_first)>0 then
link_list_mm = link_list_first
else
link_list_mm = link_list_alternate
end
--if less than 5 don't create collapsible list
if table.getn(link_list_mm) < 6 then
refseq_mRNA_mm_collapse = "none"
if refseq_mRNA_mm_default == nil and table.getn(link_list_mm) == 0 then refseq_mRNA_mm_link = localNotApplicableStr end
else
refseq_mRNA_mm_collapse = "collapsible collapsed"
refseq_mRNA_mm_default = table.remove(link_list_mm, 1) .. '<br>' .. table.remove(link_list_mm, 1) .. '<br>' ..table.remove(link_list_mm, 1) .. '<br>' .. table.remove(link_list_mm, 1) .. '<br>' .. table.remove(link_list_mm, 1) .. '<br>'--get first 5 elements in table and use for display
end
if link_list_mm[#link_list_mm] then
refseq_mRNA_mm_link = table.concat(link_list_mm, "<br>")
end
-- *lclz*: sometimes
local refseq_protTitle = "RefSeq (protein)"
--create list of links for human refseq protein
local refseq_prot_link = localNotApplicableStr
local refseq_prot_collapse
local refseq_prot_default = ""
local split_refseq_prot = mw.text.split(refseq_prot, localSeparatorStr)
local link_list_prot = {}
local link_list_first = {} --hold those the have NM or NP values
local link_list_alternate = {} --hold those that are XM or XP values
for k,v in ipairs(split_refseq_prot) do
local label = mw.text.trim(v)
local concat_ncbi_link = ncbi_link .. label
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if string.match(v, 'NM') or string.match(v, 'NP') then
link_list_first[#link_list_first+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
elseif string.match(v, 'XM') or string.match(v, 'XP') then
link_list_alternate[#link_list_alternate+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
end
end
end
if table.getn(link_list_first)>0 then
link_list_prot = link_list_first
else
link_list_prot = link_list_alternate
end
--if less than 5 don't create collapsible list
if table.getn(link_list_prot) < 6 then
refseq_prot_collapse = "none"
if refseq_prot_default == nil and table.getn(link_list_prot) == 0 then refseq_prot_link = localNotApplicableStr end
else
refseq_prot_collapse = "collapsible collapsed"
refseq_prot_default = table.remove(link_list_prot, 1) .. '<br>' .. table.remove(link_list_prot, 1) .. '<br>' ..table.remove(link_list_prot, 1) .. '<br>' .. table.remove(link_list_prot, 1) .. '<br>' .. table.remove(link_list_prot, 1) .. '<br>'--get first 5 elements in table and use for display
end
if link_list_prot[#link_list_prot] then
refseq_prot_link = table.concat(link_list_prot, "<br>")
end
--create list of links for mouse refseq protein
local refseq_prot_mm_link = localNotApplicableStr
local refseq_prot_mm_collapse
local refseq_prot_mm_default = ""
local split_refseq_prot_mm = mw.text.split(refseq_prot_mm, localSeparatorStr)
local link_list_prot_mm = {}
local link_list_first = {} --hold those the have NM or NP values
local link_list_alternate = {} --hold those that are XM or XP values
for k,v in ipairs(split_refseq_prot_mm) do
local label = mw.text.trim(v)
local concat_ncbi_link = ncbi_link .. label
if string.match(v, '%w+') and v ~= localNotApplicableStr then
if string.match(v, 'NM') or string.match(v, 'NP') then
link_list_first[#link_list_first+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
elseif string.match(v, 'XM') or string.match(v, 'XP') then
link_list_alternate[#link_list_alternate+1] = "[" .. concat_ncbi_link .. " " ..label .. "]"
end
end
end
if table.getn(link_list_first)>0 then
link_list_prot_mm = link_list_first
else
link_list_prot_mm = link_list_alternate
end
--if less than 5 don't create collapsible list
if table.getn(link_list_prot_mm) < 6 then
refseq_prot_mm_collapse = "none"
if refseq_prot_mm_default == nil and table.getn(link_list_prot_mm) == 0 then refseq_prot_mm_link = localNotApplicableStr end
else
refseq_prot_mm_collapse = "collapsible collapsed"
refseq_prot_mm_default = table.remove(link_list_prot_mm, 1) .. '<br>' .. table.remove(link_list_prot_mm, 1) .. '<br>' ..table.remove(link_list_prot_mm, 1) .. '<br>' .. table.remove(link_list_prot_mm, 1) .. '<br>' .. table.remove(link_list_prot_mm, 1) .. '<br>'--get first 5 elements in table and use for display
end
if link_list_prot_mm[#link_list_prot_mm] then
refseq_prot_mm_link = table.concat(link_list_prot_mm, "<br>")
end
local locTitle = "Location (UCSC)" -- *lclz*
local gstart_mb = locToMb(gstart, 2)
local gend_mb = locToMb(gend, 2)
local chr_loc_link = ""
if (string.match(db, '%w+') and string.match(chr, '%w+') and string.match(gstart, '%w+') and string.match(gend, '%w+') )then
local chr_ucsc
if chr == "MT" then
chr_ucsc = "M" --UCSC uses "M" (not "MT") in URL for mitochondrial DNA
else
chr_ucsc = chr
end
chr_loc_link = "[https://genome.ucsc.edu/cgi-bin/hgTracks?org=Human&db="..db.."&position=chr"..chr_ucsc..":"..gstart.."-"..gend.." ".."Chr "..chr_ucsc..": "..gstart_mb.." – "..gend_mb.." Mb]"
else
chr_loc_link = localNotApplicableStr
end
local gstart_mm_mb = locToMb(gstart_mm, 2)
local gend_mm_mb = locToMb(gend_mm, 2)
local chr_loc_mm_link = ""
if (string.match(db_mm, '%w+') and string.match(chr_mm, '%w+') and string.match(gstart_mm, '%w+') and string.match(gend_mm, '%w+') )then
local chr_mm_ucsc
if chr_mm == "MT" then
chr_mm_ucsc = "M" --UCSC uses "M" (not "MT") in URL for mitochondrial DNA
else
chr_mm_ucsc = chr_mm
end
chr_loc_mm_link = "[https://genome.ucsc.edu/cgi-bin/hgTracks?org=Mouse&db="..db_mm.."&position=chr"..chr_mm_ucsc..":"..gstart_mm.."-"..gend_mm.." ".."Chr "..chr_mm_ucsc..": "..gstart_mm_mb.." – "..gend_mm_mb.." Mb]"
else
chr_loc_mm_link = localNotApplicableStr
end
local pubmedTitle = "[[PubMed]] search" -- *lclz*
local pubmed_link = entrez_gene
if string.match(entrez_gene, '%w+') and entrez_gene ~= localNotApplicableStr then
pubmed_link = frame:extensionTag("ref",frame:expandTemplate{ title = 'cite_web', args = { title ="Human PubMed Reference:" , url = "https://www.ncbi.nlm.nih.gov/sites/entrez?db=gene&cmd=Link&LinkName=gene_pubmed&from_uid="..entrez_gene, website = "National Center for Biotechnology Information, U.S. National Library of Medicine" } } )--expandTemplate creates cite web template {{cite web|title=value|url=ref_link..ect}}
end
local pubmed_mm_link = entrez_gene_mm
if string.match(entrez_gene_mm, '%w+') and entrez_gene_mm ~= localNotApplicableStr then
pubmed_mm_link = frame:extensionTag("ref",frame:expandTemplate{ title = 'cite_web', args = { title ="Mouse PubMed Reference:" , url ="https://www.ncbi.nlm.nih.gov/sites/entrez?db=gene&cmd=Link&LinkName=gene_pubmed&from_uid="..entrez_gene_mm, website = "National Center for Biotechnology Information, U.S. National Library of Medicine" } } )--expandTemplate creates cite web template {{cite web|title=value|url=ref_link..ect}}
end
local ortholog_databases_list = {}
if #ncbi_ortholog_links > 0 then
ortholog_databases_list[#ortholog_databases_list + 1] = "[[National Center for Biotechnology Information#Gene|NCBI]]: "..table.concat(ncbi_ortholog_links, ", ")
end
if oma_ensembl ~= "" then
ortholog_databases_list[#ortholog_databases_list + 1] = "[[Orthologous_MAtrix|OMA]]: [https://omabrowser.org/oma/vps/"..oma_ensembl.." entry]"
end
local ortholog_databases = localNotApplicableStr
if #ortholog_databases_list > 0 then
ortholog_databases = table.concat(ortholog_databases_list, "; ")
end
root
:tag('tr')
:tag('td')
:attr('colspan', 4)
:css('text-align', 'center')
:css('background-color', rowBGcolor)
:css('color', 'inherit')
:tag('table')
:attr('class', ortholog_class)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'left')
:tag('tr')
:tag('th')
:attr('colspan', '4')
:css('text-align', 'center')
:css('background-color', titleBGcolor)
:css('color', 'inherit')
:wikitext(title)
:done() --end th
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext("Databases") --**lclz**
:done() --end th
:tag('td')
:attr('colspan', '2')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(ortholog_databases)
:done() --end span
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext("Species") --**lclz**
:done() --end th
:tag('td')
:wikitext("'''Human'''") --**lclz**
:done() --end td
:tag('td')
:wikitext("'''Mouse'''") --**lclz**
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(entrezTitle)
:done() --end th
:tag('td')
:tag('table')
:attr('class', entrez_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(entrez_default)
:done() --end span
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:attr('class', 'plainlinks')
:wikitext(entrez_link)
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:tag('td')
:tag('table')
:attr('class', entrez_mm_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(entrez_mm_default)
:done() --end span
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:attr('class', 'plainlinks')
:wikitext(entrez_mm_link)
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(ensemblTitle)
:done() --end th
:tag('td')
:tag('table')
:attr('class', ensembl_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(ensembl_default)
:done() --end span
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:attr('class', 'plainlinks')
:wikitext(ensembl_link)
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:tag('td')
:tag('table')
:attr('class', ensembl_mm_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(ensembl_mm_default)
:done() --end span
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:attr('class', 'plainlinks')
:wikitext(ensembl_mm_link)
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(uniprotTitle)
:done() --end th
:tag('td')
:tag('table')
:attr('class', uniprot_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(uniprot_default)
:done() --end span
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:attr('class', 'plainlinks')
:wikitext(uniprot_link)
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:tag('td')
:tag('table')
:attr('class', uniprot_mm_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(uniprot_mm_default)
:done() --end span
:done() --end th
:done() --end th
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:attr('class', 'plainlinks')
:wikitext(uniprot_mm_link)
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(refseq_mRNATitle)
:done() --end th
:tag('td') --RNASeq mRNA collapsible table
:tag('table')
:attr('class', refseq_mRNA_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:attr('class', 'plainlinks')
:wikitext(refseq_mRNA_default)
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(refseq_mRNA_link)
:done() --end span
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:tag('td') --RNASeq mRNA collapsible table for mouse
:tag('table')
:attr('class', refseq_mRNA_mm_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:attr('class', 'plainlinks')
:wikitext(refseq_mRNA_mm_default)
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(refseq_mRNA_mm_link)
:done() --end span
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(refseq_protTitle)
:done() --end th
:tag('td') --RNASeq protein collapsible table
:tag('table')
:attr('class', refseq_prot_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:attr('class', 'plainlinks')
:wikitext(refseq_prot_default)
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(refseq_prot_link)
:done() --end span
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:tag('td') --RNASeq protein collapsible table for mouse
:tag('table')
:attr('class', refseq_prot_mm_collapse)
:css('padding', '0')
:css('border', 'none')
:css('margin', '0')
:css('width', '100%')
:css('text-align', 'right')
:tag('tr')
:tag('th')
:attr('colspan', '1')
:attr('class', 'plainlinks')
:wikitext(refseq_prot_mm_default)
:done() --end th
:done() --end tr
:tag('tr')
:tag('td')
:attr('colspan', '1')
:tag('p')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(refseq_prot_mm_link)
:done() --end span
:done() --end p
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(locTitle)
:done() --end th
:tag('td')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(chr_loc_link)
:done() --end span
:done() --end td
:tag('td')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(chr_loc_mm_link)
:done() --end span
:done() --end td
:done() --end tr
:tag('tr')
:tag('th')
:attr('scope', 'row')
:css('background-color', sideTitleBGcolor)
:css('color', 'inherit')
:wikitext(pubmedTitle)
:done() --end th
:tag('td')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(pubmed_link)
:done() --end span
:done() --end td
:tag('td')
:tag('span')
:attr('class', 'plainlinks')
:wikitext(pubmed_mm_link)
:done() --end span
:wikitext(category_chromosome)
:done() --end td
:done() --end tr
:done() --end table
:done() --end td
:done() --end tr
end
return p