changeset 15:83f57ba70416 draft

planemo upload commit 8040003119a3d54866ec6ee9b9f659f2af554817-dirty
author dchristiany
date Tue, 15 Jan 2019 04:29:28 -0500
parents f8ed6fc5f3ae
children 454c2e2984ea
files data_manager/resource_building.py data_manager/resource_building.xml data_manager_conf.xml tool-data/proteore_biogrid_dictionaries.loc.sample tool-data/proteore_bioplex_dictionaries.loc.sample tool-data/proteore_id_mapping.loc.sample tool-data/proteore_id_mapping_dictionaries.loc.sample tool_data_table_conf.xml.sample
diffstat 8 files changed, 284 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/data_manager/resource_building.py	Fri Jan 04 06:11:49 2019 -0500
+++ b/data_manager/resource_building.py	Tue Jan 15 04:29:28 2019 -0500
@@ -2,7 +2,7 @@
 The purpose of this script is to create source files from different databases to be used in other proteore tools
 """
 
-import os, sys, argparse, requests, time, csv, re
+import os, sys, argparse, requests, time, csv, re, json, zipfile, shutil
 from io import BytesIO
 from zipfile import ZipFile
 from galaxy.util.json import from_json_string, to_json_string
@@ -117,7 +117,7 @@
 #######################################################################################################
 # 3. ID mapping file
 #######################################################################################################
-import ftplib, gzip, pickle
+import ftplib, gzip
 csv.field_size_limit(sys.maxsize) # to handle big files
 
 def id_mapping_sources (data_manager_dict, species, target_directory) :
@@ -127,15 +127,12 @@
     files=["idmapping_selected.tab.gz","idmapping.dat.gz"]
 
     #header
-    if human : 
-        ids_list = ["UniProt-AC","UniProt-ID","GeneID","RefSeq","GI","PDB","GO","PIR","MIM","UniGene","Ensembl_Gene","Ensembl_Transcript","Ensembl_Protein","neXtProt","BioGrid","STRING","KEGG"]
-    else : 
-        ids_list = ["UniProt-AC","UniProt-ID","GeneID","RefSeq","GI","PDB","GO","PIR","MIM","UniGene","Ensembl_Gene","Ensembl_Transcript","Ensembl_Protein","BioGrid","STRING","KEGG"] 
-    tab = [ids_list] 
+    if human : tab = [["UniProt-AC","UniProt-ID","GeneID","RefSeq","GI","PDB","GO","PIR","MIM","UniGene","Ensembl_Gene","Ensembl_Transcript","Ensembl_Protein","neXtProt","BioGrid","STRING","KEGG"]]
+    else : tab = [["UniProt-AC","UniProt-ID","GeneID","RefSeq","GI","PDB","GO","PIR","MIM","UniGene","Ensembl_Gene","Ensembl_Transcript","Ensembl_Protein","BioGrid","STRING","KEGG"]]
 
     #print("header ok")
 
-    #selected.tab and keep only ids of interest
+    #get selected.tab and keep only ids of interest
     selected_tab_file=species_dict[species]+"_"+files[0]
     tab_path = download_from_uniprot_ftp(selected_tab_file,target_directory)
     with gzip.open(tab_path,"rt") as select :
@@ -151,6 +148,7 @@
     -NextProt,BioGrid,STRING,KEGG
     """
 
+    #there's more id type for human
     if human : ids = ['neXtProt','BioGrid','STRING','KEGG' ]   #ids to get from dat_file
     else : ids = ['BioGrid','STRING','KEGG' ]
     unidict = {}
@@ -212,38 +210,19 @@
             if nextprotID == '' and uniprotID in next_dict :
                 line[13]=next_dict[uniprotID]
 
-    #create empty dictionary and dictionary index
-    ids_dictionary, ids_dictionary_index = create_ids_dictionary(ids_list)
-
-    #fill dictionary and sub dictionaries with ids
-    for line in tab[1:] :
-        for index, ids in enumerate(line) :
-            other_id_type_index = [accession_id for accession_id in ids_dictionary_index.keys() if accession_id!=index]
-            for id in ids.replace(" ","").split(";") :       #if there's more than one id, one key per id (example : GO)
-                if id not in ids_dictionary[ids_dictionary_index[index]] :      #if the key is not created yet
-                    ids_dictionary[ids_dictionary_index[index]][id]={}
-                for other_id_type in other_id_type_index :
-                    if ids_dictionary_index[other_id_type] not in ids_dictionary[ids_dictionary_index[index]][id] :
-                        ids_dictionary[ids_dictionary_index[index]][id][ids_dictionary_index[other_id_type]] = set(line[other_id_type].replace(" ","").split(";"))
-                    else :
-                        ids_dictionary[ids_dictionary_index[index]][id][ids_dictionary_index[other_id_type]] |= set(line[other_id_type].replace(" ","").split(";"))
-                    if len(ids_dictionary[ids_dictionary_index[index]][id][ids_dictionary_index[other_id_type]]) > 1 and '' in ids_dictionary[ids_dictionary_index[index]][id][ids_dictionary_index[other_id_type]] : 
-                        ids_dictionary[ids_dictionary_index[index]][id][ids_dictionary_index[other_id_type]].remove('')
-
-    ##writing output files
-    output_file = species+"_id_mapping_"+ time.strftime("%d-%m-%Y") + ".pickle"
+    output_file = species+"_id_mapping_"+ time.strftime("%d-%m-%Y") + ".tsv"
     path = os.path.join(target_directory,output_file)
 
-    #save ids_dictionary
-    with open(output_dict, 'wb') as handle:
-        pickle.dump(ids_dictionary, handle, protocol=pickle.HIGHEST_PROTOCOL)
+    with open(path,"w") as out :
+        w = csv.writer(out,delimiter='\t')
+        w.writerows(tab)
 
     name_dict={"human" : "Homo sapiens", "mouse" : "Mus musculus", "rat" : "Rattus norvegicus"}
     name = name_dict[species]+" "+time.strftime("%d/%m/%Y")
     id = species+"_id_mapping_"+ time.strftime("%d-%m-%Y")
 
     data_table_entry = dict(id=id, name = name, value = species, path = path)
-    _add_data_table_entry(data_manager_dict, data_table_entry, "proteore_id_mapping_dictionaries")
+    _add_data_table_entry(data_manager_dict, data_table_entry, "proteore_id_mapping")
 
 def download_from_uniprot_ftp(file,target_directory) :
     ftp_dir = "pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/"
@@ -289,17 +268,112 @@
     else :
         return (next_id)
 
-#create empty dictionary with index for tab
-def create_ids_dictionary (ids_list) :
-    ids_dictionary = {}
-    for id_type in ids_list : 
-        ids_dictionary[id_type]={}
-    ids_dictionary_index = {}
+
+#######################################################################################################
+# 4. Build protein interaction maps files
+#######################################################################################################
+
+def PPI_ref_files(data_manager_dict, species, interactome, target_directory):
+
+    species_dict={'human':'Homo sapiens',"mouse":"Mus musculus","rat":"Rattus norvegicus"}
+
+    ##BioGRID
+    if interactome=="biogrid":
+
+        tab2_link="https://downloads.thebiogrid.org/Download/BioGRID/Release-Archive/BIOGRID-3.5.167/BIOGRID-ORGANISM-3.5.167.tab2.zip"
+
+        #dowload zip file
+        r = requests.get(tab2_link)
+        with open("BioGRID.zip", "wb") as code:
+            code.write(r.content)
+    
+        #unzip files
+        with zipfile.ZipFile("BioGRID.zip", 'r') as zip_ref:
+            if not os.path.exists("tmp_BioGRID"): os.makedirs("tmp_BioGRID")
+            zip_ref.extractall("tmp_BioGRID")
+
+        #import file of interest and build dictionary
+        file_path="tmp_BioGRID/BIOGRID-ORGANISM-"+species_dict[species].replace(" ","_")+"-3.5.167.tab2.txt"
+        with open(file_path,"r") as handle :
+            tab_file = csv.reader(handle,delimiter="\t")
+            dico_network = {}
+            GeneID_index=1
+            network_cols=[1,2,7,8,11,12,18,20]
+            for line in tab_file : 
+                dico_network[line[GeneID_index]]=[line[i] for i in network_cols]
+
+        #delete tmp_BioGRID directory
+        os.remove("BioGRID.zip")
+        shutil.rmtree("tmp_BioGRID", ignore_errors=True) 
+
+        #download NCBI2Reactome.txt file and build dictionary
+        download = requests.get('https://www.reactome.org/download/current/NCBI2Reactome.txt')
+        decoded_content = download.content.decode('utf-8')
+        tab_file = csv.reader(decoded_content.splitlines(), delimiter='\t')
+        dico_nodes = {}
+        GeneID_index=0
+        pathway_description_index=3
+        species_index=5
+        for line in tab_file :
+            if line[species_index]==species_dict[species]:
+                if line[GeneID_index] in dico_nodes :
+                    dico_nodes[line[GeneID_index]].append(line[pathway_description_index])
+                else :
+                    dico_nodes[line[GeneID_index]] = [line[pathway_description_index]]
 
-    for i,id in enumerate(ids_list) :
-        ids_dictionary_index[i]=id
-            
-    return(ids_dictionary,ids_dictionary_index)
+        dico={}
+        dico['network']=dico_network
+        dico['nodes']=dico_nodes
+
+    ##Bioplex
+    elif interactome=="bioplex":
+
+        download = requests.get("http://bioplex.hms.harvard.edu/data/BioPlex_interactionList_v4a.tsv")
+        decoded_content = download.content.decode('utf-8')
+        bioplex = csv.reader(decoded_content.splitlines(), delimiter='\t')
+        dico_network = {}
+        dico_network["GeneID"]={}
+        network_geneid_cols=[0,1,4,5,8]
+        dico_network["UniProt-AC"]={}
+        network_uniprot_cols=[2,3,4,5,8]
+        dico_GeneID_to_UniProt = {}
+        dico_nodes = {}
+        for line in bioplex :
+            dico_network["GeneID"][line[0]]=[line[i] for i in network_geneid_cols]
+            dico_network["UniProt-AC"][line[2]]=[line[i] for i in network_uniprot_cols]
+            dico_GeneID_to_UniProt[line[0]]=line[2]
+
+        download = requests.get("https://reactome.org/download/current/UniProt2Reactome.txt")
+        decoded_content = download.content.decode('utf-8')
+        tab_file = csv.reader(decoded_content.splitlines(), delimiter='\t')
+        dico_nodes = {}
+        uniProt_index=0
+        pathway_description_index=3
+        species_index=5
+        for line in tab_file :
+            if line[species_index]==species_dict[species]:
+                if line[uniProt_index] in dico_nodes :
+                    dico_nodes[line[uniProt_index]].append(line[pathway_description_index])
+                else :
+                    dico_nodes[line[uniProt_index]] = [line[pathway_description_index]]
+
+        dico={}
+        dico['network']=dico_network
+        dico['nodes']=dico_nodes
+        dico['convert']=dico_GeneID_to_UniProt
+
+    #writing output
+    output_file = species+'_'+interactome+'_dict_'+ time.strftime("%d-%m-%Y") + ".json"
+    path = os.path.join(target_directory,output_file)
+    name = species+" ("+species_dict[species]+") "+time.strftime("%d/%m/%Y")
+    id = interactome+"_"+species+ time.strftime("%d-%m-%Y")
+
+    with open(path, 'w') as handle:
+        json.dump(dico, handle, sort_keys=True)
+
+    data_table_entry = dict(id=id, name = name, value = species, path = path)
+    _add_data_table_entry(data_manager_dict, data_table_entry, "proteore_"+interactome+"_dictionaries")
+
 
 #######################################################################################################
 # Main function
@@ -309,6 +383,8 @@
     parser.add_argument("--hpa", metavar = ("HPA_OPTION"))
     parser.add_argument("--peptideatlas", metavar=("SAMPLE_CATEGORY_ID"))
     parser.add_argument("--id_mapping", metavar = ("ID_MAPPING_SPECIES"))
+    parser.add_argument("--interactome", metavar = ("PPI"))
+    parser.add_argument("--species")
     parser.add_argument("-o", "--output")
     args = parser.parse_args()
 
@@ -350,6 +426,16 @@
         id_mapping = id_mapping .split(",")
         for species in id_mapping :
             id_mapping_sources(data_manager_dict, species, target_directory)
+
+    ## Download PPI ref files from biogrid/bioplex/humap
+    try:
+        interactome=args.interactome
+        species=args.species
+    except NameError:
+        interactome=None
+        species=None
+    if interactome is not None and species is not None:
+        PPI_ref_files(data_manager_dict, species, interactome, target_directory)
  
     #save info to json file
     filename = args.output
--- a/data_manager/resource_building.xml	Fri Jan 04 06:11:49 2019 -0500
+++ b/data_manager/resource_building.xml	Tue Jan 15 04:29:28 2019 -0500
@@ -1,4 +1,4 @@
-<tool id="data_manager_proteore" name="Get source files for proteore tools" version="2019.01.04" tool_type="manage_data">
+<tool id="data_manager_proteore" name="Get source files for proteore tools" version="2019.01.15" tool_type="manage_data">
 <description>
 to create or update reference files for proteore tools
 </description>
@@ -13,9 +13,12 @@
     #if $database.database == "human_protein_atlas"
         --hpa "$database.tissues"
     #else if $database.database == "peptide_atlas"
-        --peptideatlas "$database.tissues"
+        --peptideatlas="$database.tissues"
     #else if $database.database == "id_mapping"
         --id_mapping="$database.species"
+    #else if $database.database == "PPI"
+        --species="$database.species"
+        --interactome="$database.interactome"
     #end if
     --output "$output"
     
@@ -27,6 +30,7 @@
             <option value="human_protein_atlas">Human Protein Atlas</option>
             <option value="peptide_atlas">Peptide Atlas</option>
             <option value="id_mapping">ID mapping</option>
+            <option value="PPI">Build protein interaction maps</option>
         </param>
         <when value="human_protein_atlas">
             <param name="tissues" type="select" multiple="false" label="Please select tissue">
@@ -53,6 +57,18 @@
                 <option value="rat">Rat (Rattus norvegicus)</option>
             </param>
         </when>
+        <when value="PPI">
+            <param name="interactome" type="select" multiple="false" label="Please select interactome">
+                <option value="biogrid">BioGRID</option>
+                <option value="bioplex">Bioplex</option>
+                <option value="humap">Hu.map</option>
+            </param>
+            <param name="species" type="select" multiple="false" label="Please select the species">
+                <option value="human">Human (Homo sapiens)</option>
+                <option value="mouse">Mouse (Mus musculus)</option>
+                <option value="rat">Rat (Rattus norvegicus)</option>
+            </param>
+        </when>
     </conditional>
 </inputs>
 
@@ -68,7 +84,87 @@
 
 <help><![CDATA[
 
-TODO
+**Description**
+
+This tool is a data manager designed to update resources files of ProteoRe tools. For now, only resources files for tools listed below are handled: 
+
+* "Get MS/MS observations in tissue/fluid [Peptide Atlas]"
+* "Get expression profiles by (normal or tumor) tissue/cell type [Human Protein Atlas]"
+* "ID converter"
+
+-----
+
+**Input**
+
+There's no input needed, once you selected the tool and file you want to update, it will be generated automatically.
+
+-----
+
+**Parameters**
+
+* database: the database to update (for now one per tool)
+
+Once a database is selected, there's a second dropdown menu to select the specific file you want to update.
+
+* for 'Human Protein Atlas': 'Normal tissue', 'Pathology' and 'Full Atlas'
+
+* for 'Peptide Atlas':  'Human liver', 'Human brain', 'Human heart', 'Human kidney', 'Human blood plasma', 'Human urine' and 'Human cerebrospinal fluid'
+
+* for  'ID mapping': 'Human (Homo sapiens)', 'Mouse (Mus musculus)' and 'Rat (Rattus norvegicus)'
+
+* for 'Build protein interaction maps': "BioGRID", "Bioplex" and "Human (Homo sapiens)", "Mouse (Mus musculus)", "Rat (Rattus norvegicus)"
+
+-----
+
+**Output**
+
+The output is the reference file selected for update in input.
+
+For example, if you select database="Human Protein Atlas" and Please select tissue="Normal tissue":
+
+the output is a new reference file for "Get expression profiles by (normal or tumor) tissue/cell type [Human Protein Atlas]" 
+dated from the day and listed in the dropdown menu "Normal tissue HPA version".
+
+.. class:: warningmark
+
+A reference file created with this data manager will appears in the concerned ProteoRE tool. It can not be removed with the data manager.
+
+-----
+
+**Data sources**
+
+For 'Human Protein Atlas': 
+
+* `Normal Tissue <https://www.proteinatlas.org/download/normal_tissue.tsv.zip>`_.
+* `Pathology <https://www.proteinatlas.org/download/pathology.tsv.zip>`_.
+* `Full Atlas <https://www.proteinatlas.org/download/proteinatlas.tsv.zip>`_.
+
+For 'Peptide Atlas':
+
+* `Human liver <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=1&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+* `Human brain <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=2&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+* `Human heart <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=3&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+* `Human kidney <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=4&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+* `Human plasma <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=5&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+* `Human urine <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=6&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+* `Human CSF <"https://db.systemsbiology.net/sbeams/cgi/PeptideAtlas/GetPeptides?atlas_build_id=472&display_options=ShowMappings&organism_id=2&sample_category_id=7&QUERY_NAME=AT_GetPeptides&output_mode=tsv&apply_action=QUERY">`_.
+
+For ID mapping:
+
+* `HUMAN_9606_idmapping_selected.tab <ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/HUMAN_9606_idmapping_selected.tab.gz>`_.
+* `HUMAN_9606_idmapping.dat <ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/HUMAN_9606_idmapping.dat.gz>`_.
+* `nextprot_ac_list_all.txt <ftp://ftp.nextprot.org/pub/current_release/ac_lists/nextprot_ac_list_all.txt>`_.
+* `MOUSE_10090_idmapping_selected.tab <ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/MOUSE_10090_idmapping_selected.tab.gz>`_.
+* `MOUSE_10090_idmapping.dat <ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/MOUSE_10090_idmapping.dat.gz>`_.
+* `RAT_10116_idmapping_selected.tab <ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/RAT_10116_idmapping_selected.tab.gz>`_.
+* `RAT_10116_idmapping.dat <ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/RAT_10116_idmapping.dat.gz>`_.
+
+For Build protein interaction maps:
+
+* `BIOGRID_oragism <https://downloads.thebiogrid.org/Download/BioGRID/Release-Archive/BIOGRID-3.5.167/BIOGRID-ORGANISM-3.5.167.tab2.zip>`_.
+* `NCBI2Reactome.txt <https://www.reactome.org/download/current/NCBI2Reactome.txt>`_.
+* `Bioplex_interactionList_v4a.tsv <http://bioplex.hms.harvard.edu/data/BioPlex_interactionList_v4a.tsv>`_.
+* `UniProt2Reactome.txt <https://reactome.org/download/current/UniProt2Reactome.txt>`_.
 
 -----
 
@@ -76,7 +172,7 @@
 
 **Authors**
 
-Lisa Peru, T.P. Lien Nguyen, Florence Combes, Yves Vandenbrouck CEA, INSERM, CNRS, Grenoble-Alpes University, BIG Institute, FR
+David Christiany, Lisa Peru, T.P. Lien Nguyen, Florence Combes, Yves Vandenbrouck CEA, INSERM, CNRS, Grenoble-Alpes University, BIG Institute, FR
 
 Sandra Dérozier, Olivier Rué, Christophe Caron, Valentin Loux INRA, Paris-Saclay University, MAIAGE Unit, Migale Bioinformatics platform
 
--- a/data_manager_conf.xml	Fri Jan 04 06:11:49 2019 -0500
+++ b/data_manager_conf.xml	Tue Jan 15 04:29:28 2019 -0500
@@ -30,7 +30,22 @@
                 </column>
             </output>
         </data_table>
-        <data_table name="proteore_id_mapping_dictionaries">
+        <data_table name="proteore_id_mapping">
+            <output>
+                <column name="id" />
+                <column name="name" />
+                <column name="value" />
+                <column name="path" output_ref="output" >
+                    <move type="file">
+                        <!--source>${path}</source-->
+                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">id_mapping/</target>
+                    </move>
+                    <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/id_mapping/${id}.tsv</value_translation>
+                    <value_translation type="function">abspath</value_translation>
+                </column>
+            </output>
+        </data_table>
+        <data_table name="proteore_biogrid_dictionaries">
             <output>
                 <column name="id" />
                 <column name="name" />
@@ -38,9 +53,24 @@
                 <column name="path" output_ref="output" >
                     <move type="file">
                         <!--source>${path}</source-->
-                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">id_mapping_dictionaries/</target>
+                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">PPI_dictionaries/</target>
                     </move>
-                    <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/id_mapping_dictionaries/${id}.pickle</value_translation>
+                    <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/PPI_dictionaries/${id}.json</value_translation>
+                    <value_translation type="function">abspath</value_translation>
+                </column>
+            </output>
+        </data_table>
+        <data_table name="proteore_bioplex_dictionaries">
+            <output>
+                <column name="id" />
+                <column name="name" />
+                <column name="value" />
+                <column name="path" output_ref="output" >
+                    <move type="file">
+                        <!--source>${path}</source-->
+                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">PPI_dictionaries/</target>
+                    </move>
+                    <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/PPI_dictionaries/${id}.json</value_translation>
                     <value_translation type="function">abspath</value_translation>
                 </column>
             </output>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/proteore_biogrid_dictionaries.loc.sample	Tue Jan 15 04:29:28 2019 -0500
@@ -0,0 +1,4 @@
+#id	name	value	path
+#biogrid_human_08-01-2019	Human (Homo sapiens)	human	PPI_dictionaries/human_biogrid_dict.json
+#biogrid_mouse_08-01-2019	Mouse (Mus musculus)	mouse	PPI_dictionaries/mouse_biogrid_dict.json
+#biogrid_rat_08-01-2019	Rat (Rattus norvegicus)	rat	PPI_dictionaries/rat_biogrid_dict.json
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/proteore_bioplex_dictionaries.loc.sample	Tue Jan 15 04:29:28 2019 -0500
@@ -0,0 +1,4 @@
+#id	name	value	path
+#bioplex_human_08-01-2019	Human (Homo sapiens)	human	PPI_dictionaries/human_bioplex_dict.json
+#bioplex_mouse_08-01-2019	Mouse (Mus musculus)	mouse	PPI_dictionaries/mouse_bioplex_dict.json
+#bioplex_rat_08-01-2019	Rat (Rattus norvegicus)	rat	PPI_dictionaries/rat_bioplex_dict.json
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/proteore_id_mapping.loc.sample	Tue Jan 15 04:29:28 2019 -0500
@@ -0,0 +1,5 @@
+#This file lists the locations of reference file for id_converter tool
+#<id>	<name>	<value>	<path>
+#human_id_mapping_01-01-2018	Human (homo sapiens)	human_id_mapping	tool-data/human_id_mapping_file.tsv
+#mouse_id_mapping_01-01-2018	Mouse (Mus musculus)	mouse_id_mapping	tool-data/mouse_id_mapping.tsv
+#rat_id_mapping_01-01-2018	Rat (Rattus norvegicus)	rat_id_mapping	tool-data/rat_id_mapping.tsv
--- a/tool-data/proteore_id_mapping_dictionaries.loc.sample	Fri Jan 04 06:11:49 2019 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-#This file lists the locations of reference file for id_converter tool
-#<id>	<name>	<value>	<path>
-#human_id_mapping_01-01-2018	Human (homo sapiens)	human_id_mapping	tool-data/human_id_mapping_file.tsv
-#mouse_id_mapping_01-01-2018	Mouse (Mus musculus)	mouse_id_mapping	tool-data/mouse_id_mapping.tsv
-#rat_id_mapping_01-01-2018	Rat (Rattus norvegicus)	rat_id_mapping	tool-data/rat_id_mapping.tsv
--- a/tool_data_table_conf.xml.sample	Fri Jan 04 06:11:49 2019 -0500
+++ b/tool_data_table_conf.xml.sample	Tue Jan 15 04:29:28 2019 -0500
@@ -8,8 +8,16 @@
       <columns>id, name, value, path</columns>
       <file path="tool-data/proteore_protein_atlas.loc" />
     </table>
-    <table name="proteore_id_mapping_dictionaries" comment_char="#">
+    <table name="proteore_id_mapping" comment_char="#">
+      <columns>id, name, value, path</columns>
+      <file path="tool-data/proteore_id_mapping.loc" />
+    </table>
+    <table name="proteore_biogrid_dictionaries" comment_char="#">
       <columns>id, name, value, path</columns>
-      <file path="tool-data/proteore_id_mapping_dictionaries.loc" />
+      <file path="tool-data/proteore_biogrid_dictionaries.loc" />
+    </table>
+    <table name="proteore_bioplex_dictionaries" comment_char="#">
+      <columns>id, name, value, path</columns>
+      <file path="tool-data/proteore_bioplex_dictionaries.loc" />
     </table>
 </tables>