Repository 'query_impc'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/query_impc

Changeset 0:d319dc5f3ea8 (2023-10-11)
Commit message:
planemo upload for repository https://github.com/INFRAFRONTIERDIB/tools-iuc/tree/query_impc/tools/query_impc commit 991881b5df5f5228ecf4445ee2cc1431b9602ea8
added:
impc_tool.py
impc_tool.xml
test-data/test_output_1_1.tabular
test-data/test_output_1_2.tabular
test-data/test_output_2.tabular
test-data/test_output_3.tabular
test-data/test_output_9.tabular
test-data/test_query_1.txt
test-data/test_query_2.txt
test-data/test_query_3.txt
b
diff -r 000000000000 -r d319dc5f3ea8 impc_tool.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/impc_tool.py Wed Oct 11 14:51:02 2023 +0000
[
b'@@ -0,0 +1,759 @@\n+import sys\n+\n+import mygene\n+import pandas as pd\n+import requests\n+\n+\n+impc_api_url = "https://www.ebi.ac.uk/mi/impc/bulkdata-api"\n+impc_api_search_url = f"{impc_api_url}/genes"\n+impc_api_gene_bundle_url = f"{impc_api_url}/geneBundles"\n+\n+\n+def stop_err(msg):\n+    sys.exit(msg)\n+\n+\n+def main():\n+    inp = str(sys.argv[1])\n+    query = str(sys.argv[3])\n+\n+    try:\n+        if query == "7":\n+            g_out = str(sys.argv[5])\n+            full_gene_table(g_out)\n+            sys.exit(0)\n+\n+        if str(sys.argv[5]) == "txt":\n+            s = str(sys.argv[6])\n+            if s == "t":\n+                sep = "\\t"\n+            elif s == "s":\n+                sep = " "\n+            elif s in ",;.":\n+                sep = s\n+            else:\n+                sys.exit("Separator not valid, please change it.")\n+            inp = pd.read_csv(inp, header=None, delimiter=sep)\n+            if len(inp.columns) == 1:\n+                inp = inp.to_csv(header=None,\n+                                 index=False).strip("\\n").split("\\n")\n+                inp = ",".join(inp)\n+            else:\n+                inp = inp.to_csv(header=None,\n+                                 index=False).strip(sep).split(sep)\n+                inp = ",".join(inp)\n+\n+        if query == "8":\n+            if str(sys.argv[5]) == "txt":\n+                g_out = str(sys.argv[7])\n+            else:\n+                g_out = str(sys.argv[6])\n+            genes_in_pipeline(inp, g_out)\n+            sys.exit(0)\n+        elif query == "9":\n+            if str(sys.argv[5]) == "txt":\n+                g_out = str(sys.argv[7])\n+            else:\n+                g_out = str(sys.argv[6])\n+            sign_mp(inp, g_out)\n+            sys.exit(0)\n+        elif query == "10":\n+            par_pip_ma(inp)\n+            sys.exit(0)\n+        elif query == "11":\n+            par_gen(inp)\n+            sys.exit(0)\n+        elif query == "2" or query == "4":\n+            final_list = pheno_mapping(inp)\n+        else:\n+            final_list = gene_mapping(inp)\n+        inp = ",".join(final_list)\n+\n+        if query == "1":\n+            get_pheno(inp)\n+            sys.exit(0)\n+        elif query == "2":\n+            if str(sys.argv[5]) == "txt":\n+                g_out = str(sys.argv[7])\n+            else:\n+                g_out = str(sys.argv[6])\n+            get_genes(inp, g_out)\n+            sys.exit(0)\n+        elif query == "3":\n+            gene_set(inp)\n+            sys.exit(0)\n+        elif query == "4":\n+            extr_img(inp)\n+            sys.exit(0)\n+        elif query == "5":\n+            parameters(inp)\n+            sys.exit(0)\n+        elif query == "6":\n+            sign_par(inp)\n+            sys.exit(0)\n+        else:\n+            stop_err("Error, non-implemented query selected: " + query)\n+    except Exception as ex:\n+        stop_err("Error running impc_tool.py:\\n" + str(ex))\n+\n+\n+# 1-Given a gene id, retrieve all the phenotypes related to it (id and name)\n+def get_pheno(inp):\n+    head = sys.argv[4]\n+    mgi_accession_id = inp\n+\n+    gene_url = f"{impc_api_search_url}/{mgi_accession_id}"\n+    gene_data = requests.get(gene_url).json()\n+\n+    p_list = []\n+    id_list = []\n+\n+    if gene_data["significantMpTerms"] is None:\n+        stop_err("No significant MP terms found for this gene")\n+    else:\n+        for x in gene_data["significantMpTerms"]:\n+            p_list.append(x["mpTermId"])\n+            id_list.append(x["mpTermName"])\n+\n+    df = pd.DataFrame()\n+    df["MP term name"] = p_list\n+    df["MP term id"] = id_list\n+\n+    if head == "True":\n+        df.to_csv(sys.argv[2], header=True, index=False,\n+                  sep="\\t", index_label=False)\n+    else:\n+        df.to_csv(sys.argv[2], header=False, index=False,\n+                  sep="\\t", index_label=False)\n+\n+\n+# 3-Extract all genes having a particular phenotype or a set of phenotypes\n+# (e.g. relevant to a disease)\n+def get_genes(inp, g_out):\n+    head = sys.argv[4]\n+    target_mp_terms = in'..b' Values": g[""]}\n+        list_d.append(d)\n+\n+    for i in list_d:\n+        gen.append(i["Genes"])\n+        mes.append(i["Measured Values"])\n+\n+    if g_out == "sym":\n+        list_of_genes = pd.DataFrame(columns=["Gene symbol",\n+                                              "Measured Values"])\n+        list_of_genes["Gene symbol"] = mgi_sym_map(gen)\n+    else:\n+        list_of_genes = pd.DataFrame(columns=["Gene accession id",\n+                                              "Measured Values"])\n+        list_of_genes["Gene accession id"] = gen\n+    list_of_genes["Measured Values"] = mes\n+\n+    if head == "True":\n+        list_of_genes.to_csv(sys.argv[2], header=True, index=False,\n+                             sep="\\t", index_label=False)\n+    else:\n+        list_of_genes.to_csv(sys.argv[2], header=False, index=False,\n+                             sep="\\t", index_label=False)\n+\n+\n+# Function to map gene symbol to MGI ids\n+def gene_mapping(inp):\n+    tmp = inp.split(",")\n+    final_list = []\n+    sym_list = []\n+    for i in tmp:\n+        if "MGI:" in i:\n+            final_list.append(i)\n+        else:\n+            sym_list.append(i)\n+    del i\n+\n+    # symbol for symbols, mgi for MGI :\n+    # https://docs.mygene.info/en/latest/doc/query_service.html#available-fields\n+    if len(sym_list) != 0:\n+        mg = mygene.MyGeneInfo()\n+        ginfo = mg.querymany(sym_list, scopes="symbol", fields="symbol,MGI",\n+                             species="mouse")\n+        empty = True\n+        discarded = []\n+        for i in ginfo:\n+            try:\n+                final_list.append(i["MGI"])\n+                empty = False\n+            except KeyError:\n+                discarded.append(i["query"])\n+        if empty and len(final_list) == 0:\n+            stop_err("Error: it was not possible to map the input.")\n+        elif empty:\n+            print("Warning: it was not possible to map any of the symbol ids. "\n+                  "Only MGI ids will be used.")\n+        elif len(discarded) != 0:\n+            print("Warning: it was not possible to map these elements: "\n+                  "" + ",".join(discarded) + "\\n")\n+\n+    return final_list\n+\n+\n+# Function to map phenotypes ids to names\n+def pheno_mapping(inp):\n+    tmp = inp.split(",")\n+    final_list = []\n+    sym_list = []\n+    for i in tmp:\n+        if "MP:" in i:\n+            final_list.append(i)\n+        else:\n+            sym_list.append(i)\n+    del i\n+    if len(sym_list) != 0:\n+        url = "https://raw.githubusercontent.com/AndreaFurlani/" \\\n+              "hp_mp_mapping_test/main/hp_mp_mapping.csv"\n+        mapper = pd.read_csv(url, header=0, index_col=2)\n+        empty = True\n+        discarded = []\n+        for i in sym_list:\n+            try:\n+                final_list.append(mapper.loc[i]["mpId"])\n+                empty = False\n+            except KeyError:\n+                discarded.append(i)\n+                continue\n+        if empty and len(final_list) == 0:\n+            stop_err("Error: it was not possible to map the input.")\n+        elif empty:\n+            print("Warning: it was not possible to map any of the "\n+                  "HP term entries. Only MP entries will be used.")\n+        elif len(discarded) != 0:\n+            print("Warning: it was not possible to "\n+                  "map these elements: " + ",".join(discarded) + "\\n")\n+    return final_list\n+\n+\n+# Function to map MGI ids to Gene Symbols\n+def mgi_sym_map(mgi_list):\n+    sym_list = []\n+    mg = mygene.MyGeneInfo()\n+    ginfo = mg.querymany(mgi_list, scopes="MGI", fields="symbol,MGI",\n+                         species="mouse")\n+    discarded = []\n+    for i in ginfo:\n+        try:\n+            sym_list.append(i["symbol"])\n+        except KeyError:\n+            sym_list.append(i["query"])\n+            discarded.append(i["query"])\n+    if len(discarded) != 0:\n+        print("It was not possible to map these genes: " + ",".join(discarded))\n+    return sym_list\n+\n+\n+if __name__ == "__main__":\n+    main()\n'
b
diff -r 000000000000 -r d319dc5f3ea8 impc_tool.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/impc_tool.xml Wed Oct 11 14:51:02 2023 +0000
[
b'@@ -0,0 +1,351 @@\n+<tool id="query_impc" name="IMPC" version="0.9.0" profile="22.05">\n+  <description>query tool</description>\n+  <macros>\n+   <xml name="selectSeparator">\n+    <param name="sep" type="select" label="Select the separator used in the file">\n+     <option value="t">tab</option>\n+     <option value="s">single space</option>\n+     <option value=",">Comma</option>\n+     <option value=";">Semicolumn</option>\n+    </param>\n+   </xml>\n+   <xml name="inputType">\n+    <param name="inp_sel" type="select" label="Select the type of input">\n+     <option value="str">Direct input</option>\n+     <option value="txt">Txt file</option>\n+    </param>\n+   </xml>\n+   <xml name="outputType">\n+    <param name="g_out" type="select" label="Select the type of gene ID in the output" help="Select if the genes in the output will use MGI IDs (default option) or Symbol IDs">\n+     <option value="mgi">MGI IDs</option>\n+     <option value="sym">Symbol IDs</option>\n+    </param>\n+   </xml>\n+   <xml name="header">\n+    <param name="head" type="boolean" checked="true" truevalue="True" falsevalue="False" label="Choose if include the header in the output" help="The default value is True"/>\n+   </xml>\n+  </macros>\n+  <creator>\n+   <organization name="INFRAFRONTIER GmbH" url="https://www.infrafrontier.eu/" email="info@infrafrontier.eu" />\n+   <person name="Andrea Furlani" email="andrea.furlani@infrafrontier.eu" />\n+   <person name="Philipp Gormanns" email="philipp.gormanns@infrafrontier.eu" />\n+  </creator>\n+  <requirements>\n+   <requirement type="package" version="2.25.1">requests</requirement>\n+   <requirement type="package" version="1.3.5">pandas</requirement>\n+   <requirement type="package" version="4.9.2">lxml</requirement>\n+   <requirement type="package" version="3.2.2">mygene</requirement>\n+  </requirements>\n+  <command detect_errors="exit_code">\n+   <![CDATA[\n+   python3 \'$__tool_directory__/impc_tool.py\' \n+   #if $query_type.selector == "7"\n+    \'$query_type.input\' \'$output\' \'$query_type.selector\' \'$query_type.head\' \'$query_type.g_out\'\n+   #else\n+    #if $query_type.inp_q.inp_sel == "str"\n+     \'$query_type.inp_q.input\' \'$output\' \'$query_type.selector\' \'$query_type.head\' \'$query_type.inp_q.inp_sel\'\n+    #else\n+     \'$query_type.inp_q.input\' \'$output\' \'$query_type.selector\' \'$query_type.head\' \'$query_type.inp_q.inp_sel\' \'$query_type.inp_q.sep\'\n+    #end if\n+   #end if\n+   #if $query_type.selector in ["2", "8", "9"]\n+    \'$query_type.g_out\'\n+   #end if]]>\n+  </command>\n+  <inputs>\n+   <conditional name="query_type">\n+    <param name="selector" type="select" label="Select a query">\n+     <option value="1">1 - Extract all measured phenotypes related to a gene</option>\n+     <option value="2">2 - Extract all genes having a particular phenotype or a set of phenotypes (e.g. relevant to a disease)</option>\n+     <option value="3">3 - Extract all phenotypes which are present in a particular gene set (e.g. genes together in a pathway)</option>\n+     <option value="4">4 - Extract images with a particular phenotype or a set of phenotypes</option>\n+     <option value="5">5 - Which IMPReSS parameters have been measured for a particular knockout</option>\n+     <option value="6">6 - Which IMPRess parameters Identified a significant finding for a particular knockout</option>\n+     <option value="7">7 - Full table of genes and all Identified phenotypes, no input needed</option>\n+     <option value="8">8 - Extract all genes names and ID measured in a specific IMPReSS pipeline</option>\n+     <option value="9">9 - Extract all genes and corresponding phenotypes related to a particular top level phenotype category</option>\n+    </param>\n+    <when value="1">\n+     <conditional name="inp_q">\n+      <expand macro="inputType" />\n+      <when value="str">\n+       <param name="input" type="text" label="Input gene" help="Enter a single MGI gene ID or gene symbol"/>\n+      </when>\n+      <when value="txt">\n+       <param name="input" type="data" format="tabular,txt" labe'..b'====================================================================+\n+   |Extract all measured phenotypes related to a gene                                                  |MP term name, MP term ID                                                        |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Extract all genes having a particular phenotype or a set of phenotypes                             |Gene accession ID/Gene symbol, Gene name, Gene bundle url                       |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Extract all phenotypes which are present in a particular gene set                                  |MP term ID, MP term name, genes                                                 |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Extract images with a particular phenotype or a set of phenotypes                                  |External sample ID, Gene symbol, Biological sample group, Sex, Colony ID,       |\n+   |                                                                                                   |Zygosity, Parameter name, Download url, Thumbnail url                           |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Which IMPReSS parameters have been measured for a particular knockout                              |IMPReSS Parameter name                                                          |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Which IMPRess parameters identified a significant finding for a particular knockout                |IMPReSS Parameter name, p-value                                                 |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Full table of genes and all identified phenotypes                                                  |Gene accession ID/Gene symbol, Identified phenotypes                            |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Extract all genes names and ID measured in a specific IMPReSS pipeline                             |Gene accession ID/Gene symbol, Gene name                                        |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+   |Extract all genes and corresponding phenotypes related to a particular top level phenotype category|Gene accession ID/Gene symbol, Significant mp term ID, Significant mp term name |\n+   +---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+\n+ \n+   .. _here: https://www.mousephenotype.org/impress/pipelines\n+  ]]></help>\n+  <citations>\n+   <citation type="doi">https://doi.org/10.1093/nar/gku1193</citation>\n+   <citation type="doi">https://doi.org/10.12688/f1000research.25369.1</citation>\n+   <citation type="doi">https://doi.org/10.1038/nature19356</citation>\n+  </citations>\n+ </tool>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_output_1_1.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_output_1_1.tabular Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,10 @@
+MP term name MP term id
+MP:0002135 abnormal kidney morphology
+MP:0000194 increased circulating calcium level
+MP:0002574 increased vertical activity
+MP:0005633 increased circulating sodium level
+MP:0001303 abnormal lens morphology
+MP:0002965 increased circulating serum albumin level
+MP:0001304 cataract
+MP:0010052 increased grip strength
+MP:0001402 decreased locomotor activity
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_output_1_2.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_output_1_2.tabular Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,5 @@
+MP term name MP term id
+MP:0000194 increased circulating calcium level
+MP:0011110 preweaning lethality, incomplete penetrance
+MP:0001303 abnormal lens morphology
+MP:0010053 decreased grip strength
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_output_2.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_output_2.tabular Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,21 @@
+Gene accession id Gene name Gene bundle url
+MGI:1345144 sprouty RTK signaling antagonist 4 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1345144
+MGI:2670964 terminal nucleotidyltransferase 5A https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:2670964
+MGI:95490 fibrillin 2 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:95490
+MGI:95689 growth differentiation factor 6 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:95689
+MGI:1341886 ajuba LIM protein https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1341886
+MGI:1347352 hormonally upregulated Neu-associated kinase https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1347352
+MGI:109331 nucleoredoxin https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:109331
+MGI:1914061 dual oxidase maturation factor 2 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1914061
+MGI:1915958 RAB, member RAS oncogene family-like 2 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1915958
+MGI:1917363 ciliary microtubule associated protein 1B https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1917363
+MGI:1920858 MARVEL (membrane-associating) domain containing 3 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1920858
+MGI:106576 chondroitin polymerizing factor https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:106576
+MGI:107185 chaperonin containing Tcp1, subunit 5 (epsilon) https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:107185
+MGI:1931881 DnaJ heat shock protein family (Hsp40) member B12 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1931881
+MGI:109327 BCL2/adenovirus E1B interacting protein 2 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:109327
+MGI:1913955 deoxyribonuclease 1-like 2 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1913955
+MGI:107374 paired-like homeodomain transcription factor 1 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:107374
+MGI:1335088 proline-serine-threonine phosphatase-interacting protein 2 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:1335088
+MGI:95688 growth differentiation factor 5 https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:95688
+MGI:107474 CD38 antigen https://www.ebi.ac.uk/mi/impc/bulkdata-api/geneBundles/MGI:107474
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_output_3.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_output_3.tabular Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,79 @@
+MP:0002764 short tibia MGI:99960,MGI:108071
+MP:0001785 edema MGI:99960
+MP:0002968 increased circulating alkaline phosphatase level MGI:99960
+MPATH:590 fibro-osseous lesion MGI:99960
+MP:0001399 hyperactivity MGI:99960,MGI:1354170
+MP:0011100 preweaning lethality, complete penetrance MGI:99960,MGI:1344380,MGI:1917473
+MP:0010052 increased grip strength MGI:99960,MGI:96709
+MPATH:134 hyperplasia MGI:99960
+MP:0000218 increased leukocyte cell number MGI:99960,MGI:96709
+MP:0005013 increased lymphocyte cell number MGI:99960
+MP:0001363 increased anxiety-related response MGI:1354170
+MP:0001258 decreased body length MGI:1354170,MGI:108071,MGI:1915775,MGI:2443026
+MP:0003795 abnormal bone structure MGI:1354170
+MP:0001417 decreased exploration in new environment MGI:1354170,MGI:96709
+MP:0002797 increased thigmotaxis MGI:1354170
+MP:0002757 decreased vertical activity MGI:1354170
+MP:0011960 abnormal eye anterior chamber depth MGI:1354170
+MP:0010124 decreased bone mineral content MGI:1354170
+MP:0001402 decreased locomotor activity MGI:1354170
+MP:0004924 abnormal behavior MGI:1354170,MGI:96709
+MP:0013279 increased fasting circulating glucose level MGI:99502,MGI:1860418,MGI:103225
+MP:0005333 decreased heart rate MGI:3616082
+MP:0001406 abnormal gait MGI:96709
+MP:0010053 decreased grip strength MGI:96709,MGI:1924093,MGI:1915775
+MP:0001523 impaired righting response MGI:96709
+MP:0005559 increased circulating glucose level MGI:96709
+MP:0000745 tremors MGI:96709
+MPATH:52 lipid depletion MGI:1913564
+MPATH:42 lipid deposition MGI:1913564
+MP:0005419 decreased circulating serum albumin level MGI:1860418
+MP:0000219 increased neutrophil cell number MGI:1860418
+MP:0005567 decreased circulating total protein level MGI:1860418,MGI:1915775
+MP:0008810 increased circulating iron level MGI:1914361
+MP:0002875 decreased erythrocyte cell number MGI:1914361
+MP:0000208 decreased hematocrit MGI:1914361
+MP:0002874 decreased hemoglobin content MGI:1914361
+MP:0005566 decreased blood urea nitrogen level MGI:103225,MGI:1915775
+MP:0005343 increased circulating aspartate transaminase level MGI:103225
+MP:0011954 shortened PQ interval MGI:103225
+MP:0005344 increased circulating bilirubin level MGI:103225,MGI:95479
+MP:0002644 decreased circulating triglyceride level MGI:103225
+MP:0001415 increased exploration in new environment MGI:103225
+MP:0010511 shortened PR interval MGI:103225
+MP:0002574 increased vertical activity MGI:1915291
+MP:0003917 increased kidney weight MGI:1915291
+MP:0013292 embryonic lethality prior to organogenesis MGI:1344380
+MP:0000221 decreased leukocyte cell number MGI:95479
+MP:0005016 decreased lymphocyte cell number MGI:95479
+MP:0012361 decreased large unstained cell number MGI:95479
+MP:0001146 abnormal testis morphology MGI:2443598
+MP:0002152 abnormal brain morphology MGI:2443598
+MPATH:127 atrophy MGI:2443598
+MPATH:639 hydrocephalus MGI:2443598
+MP:0001925 male infertility MGI:2443598
+MP:0002092 abnormal eye morphology MGI:2443598
+MP:0005238 increased brain size MGI:2443598
+MP:0001147 small testis MGI:2443598
+MP:0000598 abnormal liver morphology MGI:2441730
+MP:0002833 increased heart weight MGI:2441730
+MP:0011110 preweaning lethality, incomplete penetrance MGI:2441730,MGI:1915775,MGI:2443026
+MP:0004738 abnormal auditory brainstem response MGI:2441730
+MP:0000599 enlarged liver MGI:2441730
+MP:0009476 enlarged cecum MGI:2441730
+MP:0005565 increased blood urea nitrogen level MGI:2441730
+MP:0001284 absent vibrissae MGI:2441730
+MP:0004832 enlarged ovary MGI:2441730
+MP:0005084 abnormal gallbladder morphology MGI:1915775
+MP:0000274 enlarged heart MGI:1915775
+MP:0009142 decreased prepulse inhibition MGI:1915775
+MP:0000692 small spleen MGI:1915775
+MP:0030610 absent teeth MGI:1915775
+MP:0001325 abnormal retina morphology MGI:1915775
+MP:0000266 abnormal heart morphology MGI:1915775
+MPATH:64 developmental dysplasia MGI:1915775
+MP:0000494 abnormal cecum morphology MGI:1915775
+MP:0001120 abnormal uterus morphology MGI:1915775
+MP:0000689 abnormal spleen morphology MGI:1915775
+MP:0009709 hydrometra MGI:1915775
+MP:0002060 abnormal skin morphology MGI:1915775
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_output_9.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_output_9.tabular Wed Oct 11 14:51:02 2023 +0000
[
@@ -0,0 +1,4 @@
+Gene symbol Significant MP terms Ids Significant MP terms Names
+Cacna1s ['MP:0001697', 'MP:0001785', 'MP:0003231', 'MP:0005388', 'MP:0001491', 'MP:0001575', 'MP:0003743', 'MP:0001914', 'MP:0011100', 'MP:0005560'] ['abnormal embryo size', 'edema', 'abnormal placenta vasculature', 'respiratory system phenotype', 'unresponsive to tactile stimuli', 'cyanosis', 'abnormal facial morphology', 'hemorrhage', 'preweaning lethality, complete penetrance', 'decreased circulating glucose level']
+Ndel1 ['MP:0001697', 'MP:0003984', 'MP:0002111', 'MP:0005388', 'MP:0011100'] ['abnormal embryo size', 'embryonic growth retardation', 'abnormal tail morphology', 'respiratory system phenotype', 'preweaning lethality, complete penetrance']
+Zfp536 ['MP:0003019', 'MP:0005564', 'MP:0005388', 'MP:0001575', 'MP:0001399', 'MP:0011100', 'MP:0005641'] ['increased circulating chloride level', 'increased hemoglobin content', 'respiratory system phenotype', 'cyanosis', 'hyperactivity', 'preweaning lethality, complete penetrance', 'increased mean corpuscular hemoglobin concentration']
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_query_1.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_query_1.txt Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,1 @@
+MGI:1923523
\ No newline at end of file
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_query_2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_query_2.txt Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,1 @@
+MP:0002110 MP:0000559
\ No newline at end of file
b
diff -r 000000000000 -r d319dc5f3ea8 test-data/test_query_3.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_query_3.txt Wed Oct 11 14:51:02 2023 +0000
b
@@ -0,0 +1,1 @@
+MGI:1913564 MGI:1915291 MGI:1914361 MGI:1915775 MGI:1354170 MGI:103225 MGI:2441730 MGI:108071 MGI:2443598 MGI:106643 MGI:1917473 MGI:1338073 MGI:1924093 MGI:99960 MGI:99502 MGI:95479 MGI:1344380 MGI:1860418 MGI:1354721 MGI:3616082 MGI:96709 MGI:2443026
\ No newline at end of file