Repository 'proteore_prot_features'
hg clone https://toolshed.g2.bx.psu.edu/repos/proteore/proteore_prot_features

Changeset 9:0b46a7aead62 (2018-12-18)
Previous changeset 8:2e53ba3b1697 (2018-03-23) Next changeset 10:4de4f6359820 (2018-12-18)
Commit message:
planemo upload commit eb7450f36863f02f036cbc52bf5525d68f22bd9e
modified:
README.rst
test-data/Add_information_from_neXtProt.tsv
tool-data/result_nextprot.txt
added:
add_protein_features.R
add_protein_features.xml
test-data/FKW_ID_Converter_Lacombe_et_al_2017_OK.tsv
removed:
prot_features.xml
protein_features.R
test-data/FKW_ID_Converter_Lacombe_et_al_2017_OK.txt
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 README.rst
--- a/README.rst Fri Mar 23 10:37:36 2018 -0400
+++ b/README.rst Tue Dec 18 08:26:55 2018 -0500
b
@@ -21,8 +21,10 @@
 
 **Databases**
 
-Annotations have been retrieved from the neXtProt database released on 01/08/2017 (Gaudet et  al., 2017) via a REST API (https://academic.oup.com/nar/article/43/D1/D764/2439066#40348985)
+Annotations have been retrieved from the neXtProt released on 21/02/2018 using the latest data from peptideAtlas (release Human 2018-1)
+
+using a REST API (https://academic.oup.com/nar/article/43/D1/D764/2439066#40348985) (Gaudet et  al., 2017)
 
 **Outputs**
 
-The output is a tabular file. The initial columns are kept and columns are be added according to which annotation you have selected.  
+The output is a tabular file. The initial columns are kept and columns are be added according to which annotation you have selected. 
\ No newline at end of file
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 add_protein_features.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/add_protein_features.R Tue Dec 18 08:26:55 2018 -0500
[
@@ -0,0 +1,202 @@
+# Read file and return file content as data.frame
+read_file <- function(path,header){
+  file <- try(read.table(path,header=header, sep="\t",stringsAsFactors = FALSE, quote="", check.names = F),silent=TRUE)
+  if (inherits(file,"try-error")){
+    stop("File not found !")
+  }else{
+    file <- file[!apply(is.na(file) | file == "", 1, all), , drop=FALSE]
+    return(file)
+  }
+}
+
+order_columns <- function (df,ncol,id_type,file){
+  if (id_type=="Uniprot_AC"){ncol=ncol(file)}
+  if (ncol==1){ #already at the right position
+    return (df)
+  } else {
+    df = df[,c(2:ncol,1,(ncol+1):dim.data.frame(df)[2])]
+  }
+  return (df)
+}
+
+get_list_from_cp <-function(list){
+  list = strsplit(list, "[ \t\n]+")[[1]]
+  list = gsub("NA","",list)
+  list = list[list != ""]    #remove empty entry
+  list = gsub("-.+", "", list)  #Remove isoform accession number (e.g. "-2")
+  return(list)
+}
+
+get_args <- function(){
+  
+  ## Collect arguments
+  args <- commandArgs(TRUE)
+  
+  ## Default setting when no arguments passed
+  if(length(args) < 1) {
+    args <- c("--help")
+  }
+  
+  ## Help section
+  if("--help" %in% args) {
+    cat("Selection and Annotation HPA
+        Arguments:
+          --inputtype: type of input (list of id or filename)
+        --input: input
+        --nextprot: path to nextprot information file
+        --column: the column number which you would like to apply...
+        --header: true/false if your file contains a header
+        --type: the type of input IDs (Uniprot_AC/EntrezID)
+        --pc_features: IsoPoint,SeqLength,MW
+        --localization: Chr,SubcellLocations
+        --diseases_info: Diseases
+        --output: text output filename \n")
+    
+    q(save="no")
+  }
+  
+  parseArgs <- function(x) strsplit(sub("^--", "", x), "=")
+  argsDF <- as.data.frame(do.call("rbind", parseArgs(args)))
+  args <- as.list(as.character(argsDF$V2))
+  names(args) <- argsDF$V1
+  
+  return(args)
+}
+
+str2bool <- function(x){
+  if (any(is.element(c("t","true"),tolower(x)))){
+    return (TRUE)
+  }else if (any(is.element(c("f","false"),tolower(x)))){
+    return (FALSE)
+  }else{
+    return(NULL)
+  }
+}
+
+#take data frame, return  data frame
+split_ids_per_line <- function(line,ncol){
+  
+  #print (line)
+  header = colnames(line)
+  line[ncol] = gsub("[[:blank:]]|\u00A0","",line[ncol])
+  
+  if (length(unlist(strsplit(as.character(line[ncol]),";")))>1) {
+    if (length(line)==1 ) {
+      lines = as.data.frame(unlist(strsplit(as.character(line[ncol]),";")),stringsAsFactors = F)
+    } else {
+      if (ncol==1) {                                #first column
+        lines = suppressWarnings(cbind(unlist(strsplit(as.character(line[ncol]),";")), line[2:length(line)]))
+      } else if (ncol==length(line)) {                 #last column
+        lines = suppressWarnings(cbind(line[1:ncol-1],unlist(strsplit(as.character(line[ncol]),";"))))
+      } else {
+        lines = suppressWarnings(cbind(line[1:ncol-1], unlist(strsplit(as.character(line[ncol]),";"),use.names = F), line[(ncol+1):length(line)]))
+      }
+    }
+    colnames(lines)=header
+    return(lines)
+  } else {
+    return(line)
+  }
+}
+
+#create new lines if there's more than one id per cell in the columns in order to have only one id per line
+one_id_one_line <-function(tab,ncol){
+  
+  if (ncol(tab)>1){
+    
+    tab[,ncol] = sapply(tab[,ncol],function(x) gsub("[[:blank:]]","",x))
+    header=colnames(tab)
+    res=as.data.frame(matrix(ncol=ncol(tab),nrow=0))
+    for (i in 1:nrow(tab) ) {
+      lines = split_ids_per_line(tab[i,],ncol)
+      res = rbind(res,lines)
+    }
+  }else {
+    res = unlist(sapply(tab[,1],function(x) strsplit(x,";")),use.names = F)
+    res = data.frame(res[which(!is.na(res[res!=""]))],stringsAsFactors = F)
+    colnames(res)=colnames(tab)
+  }
+  return(res)
+}
+
+# Get information from neXtProt
+get_nextprot_info <- function(nextprot,input,pc_features,localization,diseases_info){
+  if(diseases_info){
+    cols = c("NextprotID",pc_features,localization,"Diseases")
+  } else {
+    cols = c("NextprotID",pc_features,localization)
+  }
+  
+  cols=cols[cols!="None"]
+  info = nextprot[match(input,nextprot$NextprotID),cols]
+  return(info)
+}
+
+protein_features = function() {
+
+  args <- get_args()  
+  
+  #save(args,file="/home/dchristiany/proteore_project/ProteoRE/tools/add_human_protein_features/args.rda")
+  #load("/home/dchristiany/proteore_project/ProteoRE/tools/add_human_protein_features/args.rda")
+  
+  #setting variables
+  inputtype = args$inputtype
+  if (inputtype == "copy_paste") {
+    input = get_list_from_cp(args$input)
+    file = data.frame(input,stringsAsFactors = F)
+    ncol=1
+  } else if (inputtype == "file") {
+    filename = args$input
+    ncol = args$column
+    # Check ncol
+    if (! as.numeric(gsub("c", "", ncol)) %% 1 == 0) {
+      stop("Please enter an integer for level")
+    } else {
+      ncol = as.numeric(gsub("c", "", ncol))
+    }
+    
+    header = str2bool(args$header)
+    file = read_file(filename, header)                                                    # Get file content
+    if (any(grep(";",file[,ncol]))) {file = one_id_one_line(file,ncol)}
+    if (args$type == "NextprotID" && ! "NextprotID" %in% colnames(file)) { colnames(file)[ncol] <- "NextprotID" 
+    } else if (args$type == "NextprotID" && "NextprotID" %in% colnames(file) && match("NextprotID",colnames(file))!=ncol ) { 
+      colnames(file)[match("NextprotID",colnames(file))] <- "old_NextprotID" 
+      colnames(file)[ncol] = "NextprotID"
+    }
+  }
+
+  # Read reference file
+  nextprot = read_file(args$nextprot,T)
+  
+  # Parse arguments
+  id_type = args$type
+  pc_features = strsplit(args$pc_features, ",")[[1]]
+  localization = strsplit(args$localization, ",")[[1]]
+  diseases_info = str2bool(args$diseases_info)
+  output = args$output
+
+  # Change the sample ids if they are Uniprot_AC ids to be able to match them with
+  # Nextprot data
+  if (id_type=="Uniprot_AC"){
+    NextprotID = gsub("^NX_$","",gsub("^","NX_",file[,ncol]))
+    file = cbind(file,NextprotID)
+    if (inputtype=="copy_paste") {colnames(file)[1]="Uniprot-AC"}
+    ncol=ncol(file)
+  }
+  NextprotID = file[,ncol]
+
+  #Select user input protein ids in nextprot
+  #NextprotID = unique(NextprotID[which(!is.na(NextprotID[NextprotID!=""]))])
+  if (all(!NextprotID %in% nextprot[,1])){
+    write.table("None of the input ids can be found in Nextprot",file=output,sep="\t",quote=FALSE,col.names=TRUE,row.names=FALSE)
+  } else {
+    res <- get_nextprot_info(nextprot,NextprotID,pc_features,localization,diseases_info)
+    res = res[!duplicated(res$NextprotID),]
+    output_content = merge(file, res,by.x=ncol,by.y="NextprotID",incomparables = NA,all.x=T)
+    output_content = order_columns(output_content,ncol,id_type,file)
+    output_content <- as.data.frame(apply(output_content, c(1,2), function(x) gsub("^$|^ $", NA, x)))  #convert "" et " " to NA
+    write.table(output_content, output, row.names = FALSE, sep = "\t", quote = FALSE)
+  } 
+  
+}
+protein_features()
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 add_protein_features.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/add_protein_features.xml Tue Dec 18 08:26:55 2018 -0500
[
@@ -0,0 +1,163 @@
+<tool id="prot_features" name="Add protein features" version="2018.12.18">
+<description>[neXtProt]
+</description>
+<requirements>
+  <requirement type="package" version="3.4.1">R</requirement>
+</requirements>
+<stdio>
+  <exit_code range="1:" />
+</stdio>
+<command><![CDATA[
+
+  Rscript $__tool_directory__/add_protein_features.R 
+  --inputtype="$inputtype.filetype"
+  --input='$inputtype.genelist'
+
+  #if $inputtype.filetype == "file" 
+    --column='$inputtype.column' 
+    --header=$inputtype.header
+  #end if
+
+  --type='$idtype'
+  --pc_features='$Nextprot_params.pc_features' 
+  --localization='$Nextprot_params.localization' 
+  --diseases_info='$Nextprot_params.diseases_info'  
+  --output='$output'  
+  --nextprot=$__tool_directory__/tool-data/result_nextprot.txt 
+    
+]]></command>
+
+<inputs>
+  <conditional name="inputtype">
+    <param name="filetype" type="select" label="Enter your IDs (neXtProt or UniProt)" help="Copy/paste or from a file" > 
+      <option value="file" selected="true">Input file containing your IDs </option>
+      <option value="copy_paste">Copy/paste your list of IDs</option> 
+    </param>
+    <when value="copy_paste">
+      <param name="genelist" type="text" label="Enter a list of IDs separated by tab, space or carriage return into the form field" help="for example : A0AVI2 A6NGB0">
+        <sanitizer invalid_char="">
+            <valid initial="string.printable">
+                <remove value="&apos;"/>
+            </valid>
+            <mapping initial="none">
+                <add source="&apos;" target="__sq__"/>
+                <add source="&#x20;" target=""/>
+                <add source="&#xA;" target=""/>
+                <add source="&#xD;" target=""/>
+                <add source="&#x9;" target=""/>
+            </mapping>
+        </sanitizer>
+      </param>
+    </when>
+    <when value="file">
+      <param name="genelist" type="data" format="txt,tabular" label="Select your file" help=""/>
+      <param name="column" type="text" label="Column IDs (e.g : Enter c1 for column n°1)" value="c1"/> 
+      <param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does input file have header?" />
+
+    </when>
+  </conditional>
+
+      <param name="idtype" type="select" label="Type of IDs" multiple="false" optional="false"> 
+        <option value="Uniprot_AC" selected="true">Uniprot accession number</option>
+          <option value="NextprotID" selected="false">neXtProt IDs</option>
+      </param>
+      <section name="Nextprot_params" title="Select features" expanded="True">
+        <param name="pc_features" type="select" label="Physico-Chemical Features" multiple="true" help="" display="checkboxes" optional="true"> 
+          <option value="SeqLength" selected="false">Sequence Length</option>
+          <option value="MW" selected="false">Molecular Weight</option>
+          <option value="IsoPoint" selected="false">Isoelectric point</option>
+          <option value="TMDomains" selected="false">Number of transmembrane domains</option>
+          <option value="ProteinExistence" selected="false">Protein Existence (evidence score from 1 to 5)</option>
+        </param>
+
+        <param name="localization" type="select" label="Localization" multiple="true" help="" display="checkboxes" optional="true"> 
+        <option value="Chr" selected="false">Chromosome</option>
+        <option value="SubcellLocations" selected="false">Subcellular Location</option>
+        </param>
+
+        <param name="diseases_info" type="boolean" checked="false" truevalue="true" falsevalue="false" label="Disease information" />
+
+      </section>
+
+</inputs>
+
+
+<outputs>
+  <data name="output" format="tsv" label="Add_information_from_neXtProt on ${inputtype.genelist.name}">
+    <filter>inputtype=="file"</filter>
+  </data>
+  <data name="output" format="tsv" label="Add_information_from_neXtProt"/>
+</outputs>
+
+<tests>
+  <test>
+    <conditional name="inputtype">
+      <param name="filetype " value="file"/>
+      <param name="genelist" value="FKW_ID_Converter_Lacombe_et_al_2017_OK.tsv"/>
+      <param name="column" value="c1"/>
+      <param name="header" value="true"/>
+    </conditional>
+
+    <param name="idtype" value="uniprot"/> 
+
+    <section name="Nextprot_params">
+      <param name="pc_features" value="SeqLength,MW,IsoPoint,TMDomains,ProteinExistence"/> 
+      <param name="localization" value="Chr,SubcellLocations"/> 
+      <param name="diseases_info" value="true"/> 
+    </section>
+      
+    <output name="output" file="Add_information_from_neXtProt.tsv"/>
+  </test>
+</tests>
+
+<help><![CDATA[
+
+**Description**
+
+This tool retrieves annotation (protein features) from the neXtProt database (knowledgebase on human proteins) to enrich your protein IDs list.
+
+-----
+
+**Input**
+
+A list of of Uniprot (e.g. P05090) or neXtProt IDs (e.g. NX_P05090) entered in a copy/paste mode or a file containing one or multiple columns with **at least one column of Uniprot accession number or neXtProt IDs**. If your input file contains other type of IDs, please use the ID_Converter tool.  
+
+-----
+
+**Parameters**
+
+"Select fetures": three categories of annotation can be retrieved; physico-chemical features, localisation (chromosome, subcellular) and disease information (set to "Yes" by default). Select each feature according to your interest by clicking the corresponding checkbox. 
+
+-----
+
+**Output**
+
+Output is a tabular file containing both original columns and new columns including the annotation requested.  
+
+-----
+
+**Data source (release date)**
+
+Annotations have been retrieved from the neXtProt released on 21/02/2018 using the latest data from peptideAtlas (release January 2018)
+
+using a REST API (https://academic.oup.com/nar/article/43/D1/D764/2439066#40348985) (Gaudet et  al., 2017)
+
+-----
+
+.. class:: infomark
+
+**Authors**
+
+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, FR
+
+This work has been partially funded through the French National Agency for Research (ANR) IFB project.
+
+Contact support@proteore.org for any questions or concerns about the Galaxy implementation of this tool.

+    ]]></help>
+    <citations>
+    </citations>
+
+</tool>
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 prot_features.xml
--- a/prot_features.xml Fri Mar 23 10:37:36 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,159 +0,0 @@
-<tool id="prot_features" name="Protein features" version="0.1.0">
-<description>
-add biochemical and cellular annotation to your protein list from neXtProt
-</description>
-<requirements>
-  <requirement type="package" version="3.4.1">R</requirement>
-</requirements>
-<stdio>
-  <exit_code range="1:" />
-</stdio>
-<command><![CDATA[
-
-  #if $inputtype.filetype == "copy_paste":
-    
-      Rscript $__tool_directory__/protein_features.R 
-      --inputtype=copypaste 
-      --input='$inputtype.genelist' 
-      --nextprot=$__tool_directory__/tool-data/result_nextprot.txt 
-      --column=c1 --header=None
-      --argsP1='$Nextprot_params.P1' 
-      --argsP2='$Nextprot_params.P2' 
-      --argsP3='$Nextprot_params.P3' 
-      --type='$idtype' 
-      --output='$output'  
-    
-  #end if
-
-  #if $inputtype.filetype == "file_all": 
-  
-      Rscript $__tool_directory__/protein_features.R 
-      --inputtype=tabfile 
-      --input='$inputtype.genelist' 
-      --nextprot=$__tool_directory__/tool-data/result_nextprot.txt 
-      --column='$inputtype.column' --header='$inputtype.header'
-      --argsP1='$Nextprot_params.P1' 
-      --argsP2='$Nextprot_params.P2' 
-      --argsP3='$Nextprot_params.P3' 
-      --type='$idtype' 
-      --output='$output' 
-
-  #end if
-    
-]]></command>
-
-<inputs>
-  <conditional name="inputtype">
-    <param name="filetype" type="select" label="Select your type of input file"> 
-      <option value="file_all" selected="true">Input file containing your identifiers (neXtProt or Uniprot ID)</option>
-      <option value="copy_paste">Copy/paste your list of IDs</option> 
-    </param>
-    <when value="copy_paste">
-      <param name="genelist" type="text" label="Enter a list of identifiers">
-        <sanitizer>
-            <valid initial="string.printable">
-                <remove value="&apos;"/>
-            </valid>
-            <mapping initial="none">
-                <add source="&apos;" target="__sq__"/>
-            </mapping>
-        </sanitizer>
-      </param>
-    </when>
-    <when value="file_all">
-      <param name="genelist" type="data" format="txt,tabular" label="Choose a file that contains your list of IDs" help="This file must imperatively have 1 column filled with IDs consistent with the neXtprot database (Uniprot accession number or neXtProt ID). If this is not the case, please use the ID_Converter tool."/>
-      <param name="column" type="text" label="Please specify the column where are your IDs (e.g : Enter c1 for column n°1)" value="c1"/> 
-      <param name="header" type="select" label="Does your file have a header?" multiple="false" optional="false"> 
-        <option value="true" selected="true">Yes</option>
-          <option value="false" selected="false">No</option>
-      </param>
-    </when>
-  </conditional>
-
-      <param name="idtype" type="select" label="Type of your input ids" multiple="false" optional="false"> 
-        <option value="uniprot" selected="true">Uniprot accession number</option>
-          <option value="nextprot" selected="false">neXtProt IDs</option>
-      </param>
-      <section name="Nextprot_params" title="Select features of interest (compulsory step)" expanded="True">
-        <param name="P1" type="select" label="Physico-Chemical Features" multiple="true" help="Choose the information you want to add to your data from Nextprot" display="checkboxes" optional="true"> 
-          <option value="SeqLength" selected="false">Sequence Length</option>
-          <option value="MW" selected="false">Molecular Weight</option>
-          <option value="IsoPoint" selected="false">Isoelectric point</option>
-          <option value="TMDomains" selected="false">Number of transmembrane domains</option>
-          <option value="ProteinExistence" selected="false">Protein Existence (evidence score from 1 to 5)</option>
-        </param>
-
-        <param name="P2" type="select" label="Localization" multiple="true" help="Choose the information you want to add to your data from Nextprot" display="checkboxes" optional="true"> 
-        <option value="Chr" selected="false">Chromosome</option>
-        <option value="SubcellLocations" selected="false">Subcellular Location</option>
-        </param>
-
-        <param name="P3" type="select" label="Diseases information">
-          <option value="Diseases">Yes</option>
-          <option value="None">No</option>
-        </param>
-      </section>
-
-</inputs>
-
-
-<outputs>
-  <data name="output" format="tsv" label="Add information from neXtProt"/>
-</outputs>
-
-<tests>
-  <test>
-    <conditional name="inputtype">
-      <param name="filetype " value="tabfile"/>
-      <param name="genelist" value="FKW_ID_Converter_Lacombe_et_al_2017_OK.txt"/>
-      <param name="column" value="c1"/>
-      <param name="header" value="true"/>
-    </conditional>
-
-    <param name="idtype" value="uniprot"/> 
-
-    <section name="Nextprot_params">
-      <param name="P1" value="SeqLength,MW,IsoPoint,TMDomains,ProteinExistence"/> 
-      <param name="P2" value="Chr,SubcellLocations"/> 
-      <param name="P3" value="Diseases"/> 
-    </section>
-      
-    <output name="output" file="Add_information_from_neXtProt.tsv"/>
-  </test>
-</tests>
-
-<help><![CDATA[
-
-This tool add annotation (protein features) from neXtProt database (knowledge base on human proteins) to your protein IDs list.
-
-**Input**
-
-Input can be a file containing multiple fields but with **at least one column of Uniprot accession number or neXtProt IDs**. If your input file contains other type of IDs, please use the ID_Converter tool.  
-
-**Databases**
-
-Annotations have been retrieved from the neXtProt database released on 01/08/2017 (Gaudet et  al., 2017) via a REST API (https://academic.oup.com/nar/article/43/D1/D764/2439066#40348985)
-
-**Outputs**
-
-The output is a tabular file. The initial columns are kept and columns are be added according to which annotation you have selected.  
-
------
-
-.. class:: infomark
-
-**Authors**
-
-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
-
-This work has been partially funded through the French National Agency for Research (ANR) IFB project.
-
-Contact support@proteore.org for any questions or concerns about the Galaxy implementation of this tool.

-    ]]></help>
-    <citations>
-    </citations>
-
-</tool>
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 protein_features.R
--- a/protein_features.R Fri Mar 23 10:37:36 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,137 +0,0 @@
-# Read file and return file content as data.frame
-readfile = function(filename, header) {
-  if (header == "true") {
-    # Read only first line of the file as header:
-    headers <- read.table(filename, nrows = 1, header = FALSE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings=c("", "NA"), blank.lines.skip = TRUE, quote = "")
-    #Read the data of the files (skipping the first row)
-    file <- read.table(filename, skip = 1, header = FALSE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings=c("", "NA"), blank.lines.skip = TRUE, quote = "")
-    # Remove empty rows
-    file <- file[!apply(is.na(file) | file == "", 1, all), , drop=FALSE]
-    #And assign the header to the data
-    names(file) <- headers
-  }
-  else {
-    file <- read.table(filename, header = FALSE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings=c("", "NA"), blank.lines.skip = TRUE, quote = "")
-    # Remove empty rows
-    file <- file[!apply(is.na(file) | file == "", 1, all), , drop=FALSE]
-  }
-  return(file)
-}
-
-protein_features = function() {
-  args <- commandArgs(TRUE)
-  if(length(args)<1) {
-    args <- c("--help")
-  }
-  
-  # Help section
-  if("--help" %in% args) {
-    cat("Selection and Annotation HPA
-    Arguments:
-        --inputtype: type of input (list of id or filename)
-        --input: input
-        --nextprot: path to nextprot information file
-        --column: the column number which you would like to apply...
-        --header: true/false if your file contains a header
-        --type: the type of input IDs (UniProt/EntrezID)
-        --argsP1: IsoPoint,SeqLength,MW
-        --argsP2: Chr,SubcellLocations
-        --argsP3: Diseases
-        --output: text output filename \n")
-    q(save="no")
-  }
-  
-  # Parse arguments
-  parseArgs <- function(x) strsplit(sub("^--", "", x), "=")
-  argsDF <- as.data.frame(do.call("rbind", parseArgs(args)))
-  args <- as.list(as.character(argsDF$V2))
-  names(args) <- argsDF$V1 
-
-  inputtype = args$inputtype
-  if (inputtype == "copypaste") {
-    input = strsplit(args$input, "[ \t\n]+")[[1]]
-  }
-  else if (inputtype == "tabfile") {
-    filename = args$input
-    ncol = args$column
-    # Check ncol
-    if (! as.numeric(gsub("c", "", ncol)) %% 1 == 0) {
-      stop("Please enter an integer for level")
-    }
-    else {
-      ncol = as.numeric(gsub("c", "", ncol))
-    }
-    header = args$header
-    # Get file content
-    file = readfile(filename, header)
-    # Extract Protein IDs list
-    input = c()
-    for (row in as.character(file[,ncol])) {
-      input = c(input, strsplit(row, ";")[[1]][1])
-    }
-  }
-
-  # Read reference file
-  nextprot_file = args$nextprot
-  nextprot = read.table(nextprot_file, header = TRUE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings = "", quote = "")
-  
-  # Parse arguments
-  typeid = args$type
-  P1_args = strsplit(args$argsP1, ",")[[1]]
-  P2_args = strsplit(args$argsP2, ",")[[1]]
-  P3_args = strsplit(args$argsP3, ",")[[1]]
-  output = args$output
-
-  # Change the sample ids if they are uniprot ids to be able to match them with
-  # Nextprot data
-  if (typeid=="uniprot"){
-    input = gsub("^","NX_",input)
-  }
-
-  # Select user input protein ids in nextprot
-  if ((length(input[input %in% nextprot[,1]]))==0){
-    write.table("None of the input ids are can be found in Nextprot",file=output,sep="\t",quote=FALSE,col.names=TRUE,row.names=FALSE)
-  } else {
-    names = c()
-    res = matrix(nrow=length(input), ncol=0)
-
-    # Get information from neXtProt
-    if (length(P1_args)>0) {
-      for (arg in P1_args) {
-        names = c(names, arg)
-        info = nextprot[match(input, nextprot["NextprotID"][,]),][arg][,]
-        res = cbind(res, info)
-      }
-    }
-    if (length(P2_args)>0) {
-      for (arg in P2_args) {
-        names = c(names, arg)
-        info = nextprot[match(input, nextprot["NextprotID"][,]),][arg][,]
-        res = cbind(res, info)
-      }
-    }
-    if (length(P3_args)>0) {
-      for (arg in P3_args) {
-        names = c(names, arg)
-        info = nextprot[match(input, nextprot["NextprotID"][,]),][arg][,]
-        res = cbind(res, info)
-      }
-    }
-  
-    # Write output
-    if (inputtype == "copypaste") {
-      res = cbind(as.matrix(input), res)
-      names = c(typeid, names)
-      colnames(res) = names
-      write.table(res, output, row.names = FALSE, sep = "\t", quote = FALSE)
-    }
-    else if (inputtype == "tabfile") {
-      names = c(names(file), names)
-      output_content = cbind(file, res)
-      colnames(output_content) = names
-      write.table(output_content, output, row.names = FALSE, sep = "\t", quote = FALSE)
-    }
-  } 
-
-}
-protein_features()
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 test-data/Add_information_from_neXtProt.tsv
--- a/test-data/Add_information_from_neXtProt.tsv Fri Mar 23 10:37:36 2018 -0400
+++ b/test-data/Add_information_from_neXtProt.tsv Tue Dec 18 08:26:55 2018 -0500
b
b'@@ -3,146 +3,146 @@\n P31151\tNX_P31151\tP31151\tS10A7_HUMAN\t6278\tNP_002954.2\t4389154; 12053626; 21961601; 409107072; 262367795; 190668; 5542542; 157835758; 4389153; 172046820; 115298657; 261824482; 5542543; 400892; 261824483; 49457324\t1PSR:A; 1PSR:B; 2PSR:A; 2WND:A; 2WOR:A; 2WOS:A; 3PSR:A; 3PSR:B; 4AQJ:A\tGO:0035578; GO:0005737; GO:0005829; GO:0005783; GO:0070062; GO:0031012; GO:0005576; GO:0005615; GO:0005925; GO:0005634; GO:0005509; GO:0050786; GO:0008270; GO:0001525; GO:0061844; GO:0019730; GO:0050829; GO:0008544; GO:0045087; GO:0030216; GO:0043312; GO:0070374; GO:0071624; GO:0090026; GO:0010820; GO:0032496; GO:0000302; GO:0051238\tA54327\t600353\tHs.112408\tENSG00000143556\tENST00000368722; ENST00000368723\tENSP00000357711; ENSP00000357712\t101\t11471\t6.27\t0\tPE1\t1\tCytoplasm;Secreted\tNA\n P25311\tNX_P25311\tP25311\tZA2G_HUMAN\t563\tNP_001176.1\t7246026; 52790422; 58176768; 456586; 7246025; 220151; 58176766; 58176763; 4502337; 340442; 58176767; 4699583; 141596; 58176764; 292495049; 7246024; 58176765; 210061076; 38026\t1T7V:A; 1T7W:A; 1T7X:A; 1T7Y:A; 1T7Z:A; 1T80:A; 1ZAG:A; 1ZAG:B; 1ZAG:C; 1ZAG:D; 3ES6:A\tGO:0070062; GO:0031012; GO:0005576; GO:0005615; GO:0005634; GO:0005886; GO:0008320; GO:0004540; GO:0007155; GO:0001580; GO:0008285; GO:0001895; GO:0055085\tA54175\t194460\tHs.546239\tENSG00000160862\tENST00000292401\tENSP00000292401\t298\t34259\t5.71\t0\tPE1\t7\tSecreted\tNA\n P0CG05\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\n-Q01469\tNX_Q01469\tQ01469\tFABP5_HUMAN\t2171\tNP_001435.1\t529280793; 529280792; 21730385; 157830175; 597960139; 597960141; 597960138; 597960142; 232081; 529280787; 597960140; 529280786; 4557581\t1B56:A; 1JJJ:A; 4AZM:A; 4AZM:B; 4AZR:A; 4AZR:B; 4LKP:A; 4LKT:A; 4LKT:B; 4LKT:C; 4LKT:D; 5HZ5:A; 5UR9:A; 5UR9:B; 5UR9:C; 5UR9:D; 5UR9:E; 5UR9:F; 5UR9:G; 5UR9:H\tGO:0035578; GO:0005737; GO:0005829; GO:0070062; GO:0005576; GO:0005654; GO:0005886; GO:0030667; GO:0005504; GO:0008289; GO:0005215; GO:0008544; GO:0006006; GO:0015758; GO:0006629; GO:0043312; GO:0006656; GO:0019433\tI56326\t605168\tHs.408061\tENSG00000164687\tENST00000297258\tENSP00000297258\t135\t15164\t6.6\t0\tPE1\t8\tCytoplasm;Cell membrane;Nucleus;Cytoplasm;Cytoplasm\tNA\n-P29508\tNX_P29508\tP29508\tSPB3_HUMAN\t6317\tNP_008850.1\t189054711; 62897065; 859066701; 119583560; 20141712; 5902072; 29825627; 1172087; 30582335; 13528852; 897844; 27466917; 859066699; 119583561; 1276436; 25005272; 224036256; 224036254; 13537192; 29825633; 62897051; 239552; 224036255; 193792580\t2ZV6:A; 2ZV6:B; 2ZV6:C; 4ZK0:A; 4ZK3:A\tGO:0035578; GO:0005737; GO:0031410; GO:0070062; GO:0005576; GO:0005615; GO:0005634; GO:0031982; GO:0004869; GO:0002020; GO:0004867; GO:0001618; GO:0035425; GO:0043086; GO:0010951; GO:0043508; GO:0010466; GO:0045861; GO:0043312; GO:0038001; GO:0030335; GO:0008284; GO:0010950; GO:0010718\tI38201\t600517\tHs.227948\tENSG00000057149\tENST00000283752; ENST00000332821\tENSP00000283752; ENSP00000329498\t390\t44565\t6.35\t0\tPE1\t18\tCytoplasm\tNA\n+Q01469\tNX_Q01469\tQ01469\tFABP5_HUMAN\t2171\tNP_001435.1\t529280793; 529280792; 21730385; 157830175; 597960139; 597960141; 597960138; 597960142; 232081; 529280787; 597960140; 529280786; 4557581\t1B56:A; 1JJJ:A; 4AZM:A; 4AZM:B; 4AZR:A; 4AZR:B; 4LKP:A; 4LKT:A; 4LKT:B; 4LKT:C; 4LKT:D; 5HZ5:A; 5UR9:A; 5UR9:B; 5UR9:C; 5UR9:D; 5UR9:E; 5UR9:F; 5UR9:G; 5UR9:H\tGO:0035578; GO:0005737; GO:0005829; GO:0070062; GO:0005576; GO:0005654; GO:0005886; GO:0030667; GO:0005504; GO:0008289; GO:0005215; GO:0008544; GO:0006006; GO:0015758; GO:0006629; GO:0043312; GO:0006656; GO:0019433\tI56326\t605168\tHs.408061\tENSG00000164687\tENST00000297258\tENSP00000297258\t135\t15164\t6.6\t0\tPE1\t8\tCytoplasm;Nucleus;Cytoplasm\tNA\n+P29508\tNX_P29508\tP29508\tSPB3_HUMAN\t6317\tNP_008850.1\t189054711; 62897065; 859066701; 119583560; 20141712; 5902072; 29825627; 1172087; 30582335; 13528852; 897844; 27466917; 859066699; 119583561; 1276436; 25005272; 224036256; 224036254; 13537192; 29825633; 62897051; 239552; 224036255; 193792580\t2ZV6:A; 2ZV6:B; 2ZV6:C; 4ZK0:A; 4ZK3:A\tGO:0035578; GO:0005737; GO:0031410; GO:0070062; GO:0005576; GO'..b'0000414056; ENSP00000460637; ENSP00000459021\t422\t48131\t6.09\t0\tPE1\t17\tNA\tNA\n-Q04695\tNX_Q04695\tQ04695\tK1C17_HUMAN\t3872\tNP_000413.1\t34075; 148615520; 30379; 21754583; 14198021; 33991652; 119581157; 148615514; 148615518; 4557701; 48735384; 15080273; 148615516; 47939651; 547751; 1000379\tNA\tGO:0071944; GO:0005829; GO:0070062; GO:0005882; GO:0045111; GO:0042289; GO:0032395; GO:0005200; GO:0070268; GO:0008544; GO:0031069; GO:0045109; GO:0031424; GO:0030307; GO:0051798; GO:0045727; GO:0007165\tS30433\t148069; 167210; 184500\tHs.2785\tENSG00000128422\tENST00000311208\tENSP00000308452\t432\t48106\t4.97\t0\tPE1\t17\tCytoplasm\tSteatocystoma multiplex;Pachyonychia congenita 2\n+P19013\tNX_P19013\tP19013\tK2C4_HUMAN\tNA\tNA\t34073; 82654947; 34077; 38014092; 16209201; 313159; 27769210\tNA\tGO:0009986; GO:0005829; GO:0005882; GO:0045111; GO:0045095; GO:0005634; GO:0005198; GO:0070268; GO:0007010; GO:0030855; GO:0031424; GO:0050680\tI37942\t123940; 193900\tHs.654610; Hs.731814\tENSG00000170477\tENST00000293774; ENST00000551956\tENSP00000293774; ENSP00000448220\t534\t57285\t6.25\t0\tPE1\t12\tCytoskeleton\tWhite sponge nevus 1\n+P19012\tNX_P19012\tP19012\tK1C15_HUMAN\t3866\tNP_002266.2\t12803613; 125081; 24430190; 311033438; 193786870; 193787108; 30583361; 34071; 6729679\tNA\tGO:0005829; GO:0070062; GO:0005882; GO:0005634; GO:0097110; GO:0005200; GO:0070268; GO:0008544; GO:0031424\tS01069\t148030\tHs.654570\tENSG00000171346\tENST00000254043; ENST00000393976\tENSP00000254043; ENSP00000377546\t456\t49212\t4.71\t0\tPE1\t17\tNucleoplasm;Cytoskeleton\tNA\n+Q9C075\tNX_Q9C075\tQ9C075\tK1C23_HUMAN\t25984\tNP_001269362.1; NP_056330.3; XP_005257257.1; XP_011522897.1\t27894339; 539847623; 158259921; 143811410; 530411877; 221043902; 12641919; 7023692; 18202746; 767994237\tNA\tGO:0005829; GO:0005882; GO:0005198; GO:0070268; GO:0031424\tNA\t606194\tHs.9029\tENSG00000108244; ENSG00000263309\tENST00000209718; ENST00000436344; ENST00000571258; ENST00000574480\tENSP00000209718; ENSP00000414056; ENSP00000460637; ENSP00000459021\t422\t48131\t6.09\t0\tPE1\t17\tCytoskeleton;Cytosol\tNA\n+Q04695\tNX_Q04695\tQ04695\tK1C17_HUMAN\t3872\tNP_000413.1\t34075; 148615520; 30379; 21754583; 14198021; 33991652; 119581157; 148615514; 148615518; 4557701; 48735384; 15080273; 148615516; 47939651; 547751; 1000379\tNA\tGO:0071944; GO:0005829; GO:0070062; GO:0005882; GO:0045111; GO:0042289; GO:0032395; GO:0005200; GO:0070268; GO:0008544; GO:0031069; GO:0045109; GO:0031424; GO:0030307; GO:0051798; GO:0045727; GO:0007165\tS30433\t148069; 167210; 184500\tHs.2785\tENSG00000128422\tENST00000311208\tENSP00000308452\t432\t48106\t4.97\t0\tPE1\t17\tCytoplasm\tPachyonychia congenita 2;Steatocystoma multiplex\n P08779\tNX_P08779\tP08779\tK1C16_HUMAN\t3868\tNP_005548.2\t23503075; 186685; 4321795; 24659602; 1000377; 1195531; 119581153; 4091879; 24430192; 158255142\tNA\tGO:0005856; GO:0005829; GO:0070062; GO:0005882; GO:0005634; GO:0005200; GO:0007568; GO:0008283; GO:0070268; GO:0007010; GO:0008544; GO:0061436; GO:0042633; GO:0006954; GO:0045087; GO:0045104; GO:0031424; GO:0030216; GO:0051546; GO:0002009; GO:0030336\tA33652; JC4313\t148067; 167200; 613000\tHs.655160\tENSG00000186832\tENST00000301653\tENSP00000301653\t473\t51268\t4.98\t0\tPE1\t17\tNA\tPachyonychia congenita 1;Keratoderma, palmoplantar, non-epidermolytic, focal 1\n P02538\tNX_P02538\tP02538\tK2C6A_HUMAN\t3853\tNP_005545.1\t34069; 46812692; 1346344; 5031839; 914833; 15559584\t5KI0:A\tGO:0005829; GO:0070062; GO:0045095; GO:0016020; GO:0005634; GO:0005200; GO:0061844; GO:0030154; GO:0070268; GO:0051801; GO:0050830; GO:0031424; GO:0002009; GO:0001899; GO:2000536; GO:0008284; GO:0042060\tA57398; I61769\t148041; 615726\tHs.700779\tENSG00000205420\tENST00000330722\tENSP00000369317\t564\t60045\t8.09\t0\tPE1\t12\tNA\tPachyonychia congenita 3\n P04259\tNX_P04259\tP04259\tK2C6B_HUMAN\t3854\tNP_005546.2\t1346345; 311396606; 386849; 908790; 908805; 238054404; 119703753; 21961227\tNA\tGO:0005829; GO:0070062; GO:0045095; GO:0005200; GO:0070268; GO:0007398; GO:0031424\tI61767; I61771\t148042; 615728\tHs.708950\tENSG00000185479\tENST00000252252\tENSP00000252252\t564\t60067\t8.09\t0\tPE1\t12\tNA\tPachyonychia congenita 4\n'
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 test-data/FKW_ID_Converter_Lacombe_et_al_2017_OK.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/FKW_ID_Converter_Lacombe_et_al_2017_OK.tsv Tue Dec 18 08:26:55 2018 -0500
b
b'@@ -0,0 +1,149 @@\n+V1\tneXtProt_ID\tUniProt.AC\tUniProt.ID\tGeneID\tRefSeq\tGI\tPDB\tGO\tPIR\tMIM\tUniGene\tEnsembl\tEnsembl_TRS\tEnsembl_PRO\n+\n+P61626\tNX_P61626\tP61626\tLYSC_HUMAN\t4069\tNP_000230.1\t3659963; 7546189; 11513929; 159046751; 157832582; 13399629; 12084272; 550545696; 157833671; 667484857; 9955039; 157833900; 157834290; 3402140; 9955034; 157834712; 1065034; 157834217; 22218809; 157831824; 157834219; 34811083; 157836837; 157835341; 157835054; 4930021; 30750167; 6729883; 157835322; 1065033; 157834715; 14278475; 11513935; 17942573; 157833905; 734458781; 159046750; 159046754; 157833673; 6730357; 550545697; 14278470; 7767015; 9955033; 157831913; 4557894; 12084274; 14278467; 157831912; 17942569; 17942570; 157831552; 14278476; 12084398; 5107557; 157831823; 38492671; 6729884; 157832584; 3659959; 22218808; 270346492; 13399627; 157831359; 157835056; 15825835; 159046753; 14278473; 9955036; 157834714; 219689184; 323462871; 50514025; 6980458; 159046752; 3402139; 9955035; 157834288; 5821956; 12084400; 4930015; 157835338; 6730358; 157834708; 4388847; 157832586; 157835344; 157835340; 157831910; 847820; 12084275; 667484859; 17942567; 157834216; 6729881; 12084397; 157834220; 157831908; 157834707; 353529987; 323462872; 9955030; 13399630; 157834716; 219689182; 6729882; 5821955; 17942572; 7767021; 48428995; 215794704; 13399625; 157834702; 14278474; 157833914; 12084396; 4930017; 157831825; 6729876; 14278471; 7767016; 157834706; 157835339; 159046755; 157831857; 9955031; 157831754; 157831571; 1827553; 6730356; 157833672; 4930014; 157831914; 307141; 17942566; 12084273; 253723297; 15825837; 157831554; 157832581; 9955029; 9256911; 157831553; 9955038; 157834705; 11513931; 5821957; 11514208; 6729879; 4930023; 6980888; 157834291; 12084403; 1827555; 9955327; 219689183; 157835057; 17942574; 157832585; 157834218; 15825836; 157829563; 13399626; 157834711; 24987350; 6729705; 157835053; 157832578; 157835342; 4930020; 157831820; 3659960; 11513937; 9955037; 157834289; 4930022; 157831822; 157833668; 12084409; 157835052; 9955028; 9955032; 157834709; 12084402; 15988350; 4930016; 17942571; 3402142; 17942568; 1335210; 157830185; 157835343; 157832587; 157834292; 157832579; 5107681; 11513927; 13399628; 157834704; 157831853; 157831921; 3659961; 12084399; 6729878; 157834215; 6729880; 157831551; 3402143; 12084401; 6980459; 5107556; 3659962; 157833921; 157834703; 157834710; 6729885; 157832583; 3659958; 157832580; 4388848; 157835055; 6729877; 159046756; 157831821; 9955027; 157829561; 15825838; 11513933; 14278472; 157834713\t133L:A; 134L:A; 1B5U:A; 1B5V:A; 1B5W:A; 1B5X:A; 1B5Y:A; 1B5Z:A; 1B5Z:B; 1B7L:A; 1B7M:A; 1B7N:A; 1B7O:A; 1B7P:A; 1B7Q:A; 1B7R:A; 1B7S:A; 1BB3:A; 1BB3:B; 1BB4:A; 1BB4:B; 1BB5:A; 1BB5:B; 1C43:A; 1C45:A; 1C46:A; 1C7P:A; 1CJ6:A; 1CJ7:A; 1CJ8:A; 1CJ9:A; 1CKC:A; 1CKD:A; 1CKF:A; 1CKG:A; 1CKG:B; 1CKH:A; 1D6P:A; 1D6Q:A; 1DI3:A; 1DI4:A; 1DI5:A; 1EQ4:A; 1EQ5:A; 1EQE:A; 1GAY:A; 1GAZ:A; 1GB0:A; 1GB2:A; 1GB3:A; 1GB5:A; 1GB6:A; 1GB7:A; 1GB8:A; 1GB9:A; 1GBO:A; 1GBW:A; 1GBX:A; 1GBY:A; 1GBZ:A; 1GDW:A; 1GDX:A; 1GE0:A; 1GE1:A; 1GE2:A; 1GE3:A; 1GE4:A; 1GEV:A; 1GEZ:A; 1GF0:A; 1GF3:A; 1GF4:A; 1GF5:A; 1GF6:A; 1GF7:A; 1GF8:A; 1GF9:A; 1GFA:A; 1GFE:A; 1GFG:A; 1GFH:A; 1GFJ:A; 1GFK:A; 1GFR:A; 1GFT:A; 1GFU:A; 1GFV:A; 1HNL:A; 1I1Z:A; 1I20:A; 1I22:A; 1I22:B; 1I22:C; 1I22:D; 1INU:A; 1IOC:A; 1IP1:A; 1IP2:A; 1IP3:A; 1IP3:B; 1IP4:A; 1IP5:A; 1IP6:A; 1IP7:A; 1IP7:B; 1IWT:A; 1IWU:A; 1IWV:A; 1IWW:A; 1IWX:A; 1IWY:A; 1IWZ:A; 1IX0:A; 1IY3:A; 1IY4:A; 1JKA:A; 1JKB:A; 1JKC:A; 1JKD:A; 1JSF:A; 1JWR:A; 1LAA:A; 1LHH:A; 1LHI:A; 1LHJ:A; 1LHK:A; 1LHL:A; 1LHM:A; 1LMT:A; 1LOZ:A; 1LYY:A; 1LZ1:A; 1LZ4:A; 1LZ5:A; 1LZ6:A; 1LZR:A; 1LZS:A; 1LZS:B; 1OP9:B; 1OUA:A; 1OUB:A; 1OUC:A; 1OUD:A; 1OUE:A; 1OUF:A; 1OUG:A; 1OUH:A; 1OUI:A; 1OUJ:A; 1QSW:A; 1QSW:B; 1QSW:C; 1QSW:D; 1RE2:A; 1REM:A; 1REX:A; 1REY:A; 1REZ:A; 1TAY:A; 1TBY:A; 1TCY:A; 1TDY:A; 1UBZ:A; 1W08:A; 1WQM:A; 1WQN:A; 1WQO:A; 1WQP:A; 1WQQ:A; 1WQR:A; 1YAM:A; 1YAN:A; 1YAO:A; 1YAP:A; 1YAQ:A; 207L:A; 208L:A; 2BQA:A; 2BQB:A; 2BQC:A; 2BQD:A; 2BQE:A; 2BQF:A; 2BQG:A; 2BQH:A; 2BQI:'..b'X_P13646\tP13646\tK1C13_HUMAN\t3860\tNP_002265.2; NP_705694.2\t131412228; 6016411; 269849755; 62897663; 3603253; 34033; 21750830; 30377; 131412225; 62897715\tNA\tGO:0005829; GO:0070062; GO:0045111; GO:0045095; GO:0005634; GO:0005198; GO:0071300; GO:0070268; GO:0007010; GO:0031424; GO:0009314; GO:0043587\tA37343; S06088\t148065; 615785\tHs.654550\tENSG00000171401\tENST00000246635; ENST00000336861\tENSP00000246635; ENSP00000336604\n+Q6KB66\tNX_Q6KB66\tQ6KB66\tK2C80_HUMAN\t144501\tNP_001074961.1; NP_872313.2\t119578641; 47846296; 125628632; 40807176; 166218808; 31873640; 125628636; 119578639\tNA\tGO:0005737; GO:0005829; GO:0005882; GO:0045111; GO:0045095; GO:0005198; GO:0070268; GO:0031424\tNA\t611161\tHs.140978\tENSG00000167767\tENST00000313234; ENST00000394815\tENSP00000369361; ENSP00000378292\n+Q8N1N4\tNX_Q8N1N4\tQ8N1N4\tK2C78_HUMAN\t196374\tNP_001287743.1; NP_775487.2\t664806051; 21755908; 89357932; 158255238; 119617056; 57997474; 166218809\tNA\tGO:0005829; GO:0070062; GO:0005615; GO:0045095; GO:0005198; GO:0070268; GO:0031424\tNA\t611159\tHs.665267\tENSG00000170423\tENST00000304620; ENST00000359499\tENSP00000306261; ENSP00000352479\n+P19013\tNX_P19013\tP19013\tK2C4_HUMAN\tNA\tNA\t34073; 82654947; 34077; 38014092; 16209201; 313159; 27769210\tNA\tGO:0009986; GO:0005829; GO:0005882; GO:0045111; GO:0045095; GO:0005634; GO:0005198; GO:0070268; GO:0007010; GO:0030855; GO:0031424; GO:0050680\tI37942\t123940; 193900\tHs.654610; Hs.731814\tENSG00000170477\tENST00000293774; ENST00000551956\tENSP00000293774; ENSP00000448220\n+P19012\tNX_P19012\tP19012\tK1C15_HUMAN\t3866\tNP_002266.2\t12803613; 125081; 24430190; 311033438; 193786870; 193787108; 30583361; 34071; 6729679\tNA\tGO:0005829; GO:0070062; GO:0005882; GO:0005634; GO:0097110; GO:0005200; GO:0070268; GO:0008544; GO:0031424\tS01069\t148030\tHs.654570\tENSG00000171346\tENST00000254043; ENST00000393976\tENSP00000254043; ENSP00000377546\n+Q9C075\tNX_Q9C075\tQ9C075\tK1C23_HUMAN\t25984\tNP_001269362.1; NP_056330.3; XP_005257257.1; XP_011522897.1\t27894339; 539847623; 158259921; 143811410; 530411877; 221043902; 12641919; 7023692; 18202746; 767994237\tNA\tGO:0005829; GO:0005882; GO:0005198; GO:0070268; GO:0031424\tNA\t606194\tHs.9029\tENSG00000108244; ENSG00000263309\tENST00000209718; ENST00000436344; ENST00000571258; ENST00000574480\tENSP00000209718; ENSP00000414056; ENSP00000460637; ENSP00000459021\n+Q04695\tNX_Q04695\tQ04695\tK1C17_HUMAN\t3872\tNP_000413.1\t34075; 148615520; 30379; 21754583; 14198021; 33991652; 119581157; 148615514; 148615518; 4557701; 48735384; 15080273; 148615516; 47939651; 547751; 1000379\tNA\tGO:0071944; GO:0005829; GO:0070062; GO:0005882; GO:0045111; GO:0042289; GO:0032395; GO:0005200; GO:0070268; GO:0008544; GO:0031069; GO:0045109; GO:0031424; GO:0030307; GO:0051798; GO:0045727; GO:0007165\tS30433\t148069; 167210; 184500\tHs.2785\tENSG00000128422\tENST00000311208\tENSP00000308452\n+P08779\tNX_P08779\tP08779\tK1C16_HUMAN\t3868\tNP_005548.2\t23503075; 186685; 4321795; 24659602; 1000377; 1195531; 119581153; 4091879; 24430192; 158255142\tNA\tGO:0005856; GO:0005829; GO:0070062; GO:0005882; GO:0005634; GO:0005200; GO:0007568; GO:0008283; GO:0070268; GO:0007010; GO:0008544; GO:0061436; GO:0042633; GO:0006954; GO:0045087; GO:0045104; GO:0031424; GO:0030216; GO:0051546; GO:0002009; GO:0030336\tA33652; JC4313\t148067; 167200; 613000\tHs.655160\tENSG00000186832\tENST00000301653\tENSP00000301653\n+P02538\tNX_P02538\tP02538\tK2C6A_HUMAN\t3853\tNP_005545.1\t34069; 46812692; 1346344; 5031839; 914833; 15559584\t5KI0:A\tGO:0005829; GO:0070062; GO:0045095; GO:0016020; GO:0005634; GO:0005200; GO:0061844; GO:0030154; GO:0070268; GO:0051801; GO:0050830; GO:0031424; GO:0002009; GO:0001899; GO:2000536; GO:0008284; GO:0042060\tA57398; I61769\t148041; 615726\tHs.700779\tENSG00000205420\tENST00000330722\tENSP00000369317\n+P04259\tNX_P04259\tP04259\tK2C6B_HUMAN\t3854\tNP_005546.2\t1346345; 311396606; 386849; 908790; 908805; 238054404; 119703753; 21961227\tNA\tGO:0005829; GO:0070062; GO:0045095; GO:0005200; GO:0070268; GO:0007398; GO:0031424\tI61767; I61771\t148042; 615728\tHs.708950\tENSG00000185479\tENST00000252252\tENSP00000252252\n'
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 test-data/FKW_ID_Converter_Lacombe_et_al_2017_OK.txt
--- a/test-data/FKW_ID_Converter_Lacombe_et_al_2017_OK.txt Fri Mar 23 10:37:36 2018 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,149 +0,0 @@\n-V1\tneXtProt_ID\tUniProt.AC\tUniProt.ID\tGeneID\tRefSeq\tGI\tPDB\tGO\tPIR\tMIM\tUniGene\tEnsembl\tEnsembl_TRS\tEnsembl_PRO\n-\n-P61626\tNX_P61626\tP61626\tLYSC_HUMAN\t4069\tNP_000230.1\t3659963; 7546189; 11513929; 159046751; 157832582; 13399629; 12084272; 550545696; 157833671; 667484857; 9955039; 157833900; 157834290; 3402140; 9955034; 157834712; 1065034; 157834217; 22218809; 157831824; 157834219; 34811083; 157836837; 157835341; 157835054; 4930021; 30750167; 6729883; 157835322; 1065033; 157834715; 14278475; 11513935; 17942573; 157833905; 734458781; 159046750; 159046754; 157833673; 6730357; 550545697; 14278470; 7767015; 9955033; 157831913; 4557894; 12084274; 14278467; 157831912; 17942569; 17942570; 157831552; 14278476; 12084398; 5107557; 157831823; 38492671; 6729884; 157832584; 3659959; 22218808; 270346492; 13399627; 157831359; 157835056; 15825835; 159046753; 14278473; 9955036; 157834714; 219689184; 323462871; 50514025; 6980458; 159046752; 3402139; 9955035; 157834288; 5821956; 12084400; 4930015; 157835338; 6730358; 157834708; 4388847; 157832586; 157835344; 157835340; 157831910; 847820; 12084275; 667484859; 17942567; 157834216; 6729881; 12084397; 157834220; 157831908; 157834707; 353529987; 323462872; 9955030; 13399630; 157834716; 219689182; 6729882; 5821955; 17942572; 7767021; 48428995; 215794704; 13399625; 157834702; 14278474; 157833914; 12084396; 4930017; 157831825; 6729876; 14278471; 7767016; 157834706; 157835339; 159046755; 157831857; 9955031; 157831754; 157831571; 1827553; 6730356; 157833672; 4930014; 157831914; 307141; 17942566; 12084273; 253723297; 15825837; 157831554; 157832581; 9955029; 9256911; 157831553; 9955038; 157834705; 11513931; 5821957; 11514208; 6729879; 4930023; 6980888; 157834291; 12084403; 1827555; 9955327; 219689183; 157835057; 17942574; 157832585; 157834218; 15825836; 157829563; 13399626; 157834711; 24987350; 6729705; 157835053; 157832578; 157835342; 4930020; 157831820; 3659960; 11513937; 9955037; 157834289; 4930022; 157831822; 157833668; 12084409; 157835052; 9955028; 9955032; 157834709; 12084402; 15988350; 4930016; 17942571; 3402142; 17942568; 1335210; 157830185; 157835343; 157832587; 157834292; 157832579; 5107681; 11513927; 13399628; 157834704; 157831853; 157831921; 3659961; 12084399; 6729878; 157834215; 6729880; 157831551; 3402143; 12084401; 6980459; 5107556; 3659962; 157833921; 157834703; 157834710; 6729885; 157832583; 3659958; 157832580; 4388848; 157835055; 6729877; 159046756; 157831821; 9955027; 157829561; 15825838; 11513933; 14278472; 157834713\t133L:A; 134L:A; 1B5U:A; 1B5V:A; 1B5W:A; 1B5X:A; 1B5Y:A; 1B5Z:A; 1B5Z:B; 1B7L:A; 1B7M:A; 1B7N:A; 1B7O:A; 1B7P:A; 1B7Q:A; 1B7R:A; 1B7S:A; 1BB3:A; 1BB3:B; 1BB4:A; 1BB4:B; 1BB5:A; 1BB5:B; 1C43:A; 1C45:A; 1C46:A; 1C7P:A; 1CJ6:A; 1CJ7:A; 1CJ8:A; 1CJ9:A; 1CKC:A; 1CKD:A; 1CKF:A; 1CKG:A; 1CKG:B; 1CKH:A; 1D6P:A; 1D6Q:A; 1DI3:A; 1DI4:A; 1DI5:A; 1EQ4:A; 1EQ5:A; 1EQE:A; 1GAY:A; 1GAZ:A; 1GB0:A; 1GB2:A; 1GB3:A; 1GB5:A; 1GB6:A; 1GB7:A; 1GB8:A; 1GB9:A; 1GBO:A; 1GBW:A; 1GBX:A; 1GBY:A; 1GBZ:A; 1GDW:A; 1GDX:A; 1GE0:A; 1GE1:A; 1GE2:A; 1GE3:A; 1GE4:A; 1GEV:A; 1GEZ:A; 1GF0:A; 1GF3:A; 1GF4:A; 1GF5:A; 1GF6:A; 1GF7:A; 1GF8:A; 1GF9:A; 1GFA:A; 1GFE:A; 1GFG:A; 1GFH:A; 1GFJ:A; 1GFK:A; 1GFR:A; 1GFT:A; 1GFU:A; 1GFV:A; 1HNL:A; 1I1Z:A; 1I20:A; 1I22:A; 1I22:B; 1I22:C; 1I22:D; 1INU:A; 1IOC:A; 1IP1:A; 1IP2:A; 1IP3:A; 1IP3:B; 1IP4:A; 1IP5:A; 1IP6:A; 1IP7:A; 1IP7:B; 1IWT:A; 1IWU:A; 1IWV:A; 1IWW:A; 1IWX:A; 1IWY:A; 1IWZ:A; 1IX0:A; 1IY3:A; 1IY4:A; 1JKA:A; 1JKB:A; 1JKC:A; 1JKD:A; 1JSF:A; 1JWR:A; 1LAA:A; 1LHH:A; 1LHI:A; 1LHJ:A; 1LHK:A; 1LHL:A; 1LHM:A; 1LMT:A; 1LOZ:A; 1LYY:A; 1LZ1:A; 1LZ4:A; 1LZ5:A; 1LZ6:A; 1LZR:A; 1LZS:A; 1LZS:B; 1OP9:B; 1OUA:A; 1OUB:A; 1OUC:A; 1OUD:A; 1OUE:A; 1OUF:A; 1OUG:A; 1OUH:A; 1OUI:A; 1OUJ:A; 1QSW:A; 1QSW:B; 1QSW:C; 1QSW:D; 1RE2:A; 1REM:A; 1REX:A; 1REY:A; 1REZ:A; 1TAY:A; 1TBY:A; 1TCY:A; 1TDY:A; 1UBZ:A; 1W08:A; 1WQM:A; 1WQN:A; 1WQO:A; 1WQP:A; 1WQQ:A; 1WQR:A; 1YAM:A; 1YAN:A; 1YAO:A; 1YAP:A; 1YAQ:A; 207L:A; 208L:A; 2BQA:A; 2BQB:A; 2BQC:A; 2BQD:A; 2BQE:A; 2BQF:A; 2BQG:A; 2BQH:A; 2BQI:'..b'X_P13646\tP13646\tK1C13_HUMAN\t3860\tNP_002265.2; NP_705694.2\t131412228; 6016411; 269849755; 62897663; 3603253; 34033; 21750830; 30377; 131412225; 62897715\tNA\tGO:0005829; GO:0070062; GO:0045111; GO:0045095; GO:0005634; GO:0005198; GO:0071300; GO:0070268; GO:0007010; GO:0031424; GO:0009314; GO:0043587\tA37343; S06088\t148065; 615785\tHs.654550\tENSG00000171401\tENST00000246635; ENST00000336861\tENSP00000246635; ENSP00000336604\n-Q6KB66\tNX_Q6KB66\tQ6KB66\tK2C80_HUMAN\t144501\tNP_001074961.1; NP_872313.2\t119578641; 47846296; 125628632; 40807176; 166218808; 31873640; 125628636; 119578639\tNA\tGO:0005737; GO:0005829; GO:0005882; GO:0045111; GO:0045095; GO:0005198; GO:0070268; GO:0031424\tNA\t611161\tHs.140978\tENSG00000167767\tENST00000313234; ENST00000394815\tENSP00000369361; ENSP00000378292\n-Q8N1N4\tNX_Q8N1N4\tQ8N1N4\tK2C78_HUMAN\t196374\tNP_001287743.1; NP_775487.2\t664806051; 21755908; 89357932; 158255238; 119617056; 57997474; 166218809\tNA\tGO:0005829; GO:0070062; GO:0005615; GO:0045095; GO:0005198; GO:0070268; GO:0031424\tNA\t611159\tHs.665267\tENSG00000170423\tENST00000304620; ENST00000359499\tENSP00000306261; ENSP00000352479\n-P19013\tNX_P19013\tP19013\tK2C4_HUMAN\tNA\tNA\t34073; 82654947; 34077; 38014092; 16209201; 313159; 27769210\tNA\tGO:0009986; GO:0005829; GO:0005882; GO:0045111; GO:0045095; GO:0005634; GO:0005198; GO:0070268; GO:0007010; GO:0030855; GO:0031424; GO:0050680\tI37942\t123940; 193900\tHs.654610; Hs.731814\tENSG00000170477\tENST00000293774; ENST00000551956\tENSP00000293774; ENSP00000448220\n-P19012\tNX_P19012\tP19012\tK1C15_HUMAN\t3866\tNP_002266.2\t12803613; 125081; 24430190; 311033438; 193786870; 193787108; 30583361; 34071; 6729679\tNA\tGO:0005829; GO:0070062; GO:0005882; GO:0005634; GO:0097110; GO:0005200; GO:0070268; GO:0008544; GO:0031424\tS01069\t148030\tHs.654570\tENSG00000171346\tENST00000254043; ENST00000393976\tENSP00000254043; ENSP00000377546\n-Q9C075\tNX_Q9C075\tQ9C075\tK1C23_HUMAN\t25984\tNP_001269362.1; NP_056330.3; XP_005257257.1; XP_011522897.1\t27894339; 539847623; 158259921; 143811410; 530411877; 221043902; 12641919; 7023692; 18202746; 767994237\tNA\tGO:0005829; GO:0005882; GO:0005198; GO:0070268; GO:0031424\tNA\t606194\tHs.9029\tENSG00000108244; ENSG00000263309\tENST00000209718; ENST00000436344; ENST00000571258; ENST00000574480\tENSP00000209718; ENSP00000414056; ENSP00000460637; ENSP00000459021\n-Q04695\tNX_Q04695\tQ04695\tK1C17_HUMAN\t3872\tNP_000413.1\t34075; 148615520; 30379; 21754583; 14198021; 33991652; 119581157; 148615514; 148615518; 4557701; 48735384; 15080273; 148615516; 47939651; 547751; 1000379\tNA\tGO:0071944; GO:0005829; GO:0070062; GO:0005882; GO:0045111; GO:0042289; GO:0032395; GO:0005200; GO:0070268; GO:0008544; GO:0031069; GO:0045109; GO:0031424; GO:0030307; GO:0051798; GO:0045727; GO:0007165\tS30433\t148069; 167210; 184500\tHs.2785\tENSG00000128422\tENST00000311208\tENSP00000308452\n-P08779\tNX_P08779\tP08779\tK1C16_HUMAN\t3868\tNP_005548.2\t23503075; 186685; 4321795; 24659602; 1000377; 1195531; 119581153; 4091879; 24430192; 158255142\tNA\tGO:0005856; GO:0005829; GO:0070062; GO:0005882; GO:0005634; GO:0005200; GO:0007568; GO:0008283; GO:0070268; GO:0007010; GO:0008544; GO:0061436; GO:0042633; GO:0006954; GO:0045087; GO:0045104; GO:0031424; GO:0030216; GO:0051546; GO:0002009; GO:0030336\tA33652; JC4313\t148067; 167200; 613000\tHs.655160\tENSG00000186832\tENST00000301653\tENSP00000301653\n-P02538\tNX_P02538\tP02538\tK2C6A_HUMAN\t3853\tNP_005545.1\t34069; 46812692; 1346344; 5031839; 914833; 15559584\t5KI0:A\tGO:0005829; GO:0070062; GO:0045095; GO:0016020; GO:0005634; GO:0005200; GO:0061844; GO:0030154; GO:0070268; GO:0051801; GO:0050830; GO:0031424; GO:0002009; GO:0001899; GO:2000536; GO:0008284; GO:0042060\tA57398; I61769\t148041; 615726\tHs.700779\tENSG00000205420\tENST00000330722\tENSP00000369317\n-P04259\tNX_P04259\tP04259\tK2C6B_HUMAN\t3854\tNP_005546.2\t1346345; 311396606; 386849; 908790; 908805; 238054404; 119703753; 21961227\tNA\tGO:0005829; GO:0070062; GO:0045095; GO:0005200; GO:0070268; GO:0007398; GO:0031424\tI61767; I61771\t148042; 615728\tHs.708950\tENSG00000185479\tENST00000252252\tENSP00000252252\n'
b
diff -r 2e53ba3b1697 -r 0b46a7aead62 tool-data/result_nextprot.txt
--- a/tool-data/result_nextprot.txt Fri Mar 23 10:37:36 2018 -0400
+++ b/tool-data/result_nextprot.txt Tue Dec 18 08:26:55 2018 -0500
b
b'@@ -1,11160 +1,91 @@\n NextprotID\tMW\tSeqLength\tIsoPoint\tChr\tSubcellLocations\tDiseases\tTMDomains\tProteinExistence\n-NX_A0A075B6H9\t12773\t119\t6.01\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6I0\t12814\t122\t4.33\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6I1\t12987\t120\t5.8\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6I4\t12395\t117\t7.85\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6I9\t12468\t117\t6.69\t22\tCell membrane;Secreted\tNA\t0\tPE3\n-NX_A0A075B6J1\t13277\t123\t4.75\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6J6\t12549\t115\t3.95\t22\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A075B6J9\t12412\t118\t4.66\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6K0\t12466\t115\t4.58\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6K2\t12387\t115\t5.34\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6K4\t12441\t115\t4.72\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6K6\t13330\t122\t5.39\t22\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A075B6P5\t12957\t120\t5.61\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A075B6Q5\t12891\t118\t7.69\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6R2\t12848\t117\t9.64\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6S2\t13143\t120\t6.53\t2\tCell membrane;Secreted\tNA\t0\tPE3\n-NX_A0A075B6S4\t12835\t117\t9.22\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A075B6S5\t12712\t117\t8.5\t2\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A075B6S6\t13215\t120\t7.79\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A075B759\t18197\t164\t9.43\t1\tCytoplasm\tNA\t0\tPE3\n-NX_A0A087WSX0\t13162\t123\t6.69\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A087WSY4\t13025\t118\t9.7\t14\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A087WSY6\t12534\t115\t5.14\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A087WSZ0\t12837\t117\t7.62\t2\tCell membrane;Secreted\tNA\t0\tPE1\n-NX_A0A087WTH1\t11832\t108\t7.61\t16\tMembrane\tNA\t2\tPE3\n-NX_A0A087WTH5\t15028\t132\t8.73\t21\tMembrane\tNA\t1\tPE3\n-NX_A0A087WUL8\t440408\t3843\t4.53\t1\tCytoplasm\tNA\t0\tPE5\n-NX_A0A087WVF3\t62187\t549\t9.2\t17\tCell membrane\tNA\t0\tPE2\n-NX_A0A087WW87\t13310\t121\t4.43\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A087WX78\t41674\t387\t8.87\t18\tNucleus\tNA\t0\tPE5\n-NX_A0A087WXM9\t40829\t373\t8.65\t5\tCentromere;Kinetochore\tNA\t0\tPE2\n-NX_A0A087WXS9\t62205\t549\t9.2\t17\tCell membrane\tNA\t0\tPE3\n-NX_A0A087X179\t62131\t549\t9.18\t17\tCell membrane\tNA\t0\tPE2\n-NX_A0A087X1C5\t57489\t515\t8.7\t22\tMembrane;Cytoplasm;Mitochondrion\tNA\t2\tPE5\n-NX_A0A087X1G2\t62171\t549\t9.23\t17\tCell membrane\tNA\t0\tPE3\n-NX_A0A096LP49\t114856\t1063\t9.76\t9\tNA\tNA\t0\tPE1\n-NX_A0A096LP55\t10752\t91\t4.39\t1\tMitochondrion inner membrane\tNA\t0\tPE3\n-NX_A0A096LPI5\t11989\t108\t8.8\t6\tNA\tNA\t0\tPE4\n-NX_A0A0A0MRZ7\t13297\t120\t4.9\t2\tCell membrane;Secreted\tNA\t0\tPE3\n-NX_A0A0A0MRZ8\t12625\t115\t5.15\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A0A0MRZ9\t13446\t124\t7.76\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0A0MS14\t13508\t117\t9.2\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0A0MS15\t13056\t119\t8.84\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0A0MT36\t12340\t114\t6.7\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A0A0MT76\t4776\t42\t9.53\t22\tSecreted;Cell membrane\tNA\t0\tPE4\n-NX_A0A0A0MT89\t1394\t13\t7.1\t2\tSecreted;Cell membrane\tNA\t0\tPE4\n-NX_A0A0B4J1U3\t12478\t117\t4.56\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1U7\t13481\t121\t9.3\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1V0\t12926\t119\t8.84\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1V1\t12840\t117\t8.49\t14\tCell membrane;Secreted\tNA\t0\tPE1\n-NX_A0A0B4J1V2\t13182\t119\t8.49\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1V6\t12858\t119\t9.3\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1X5\t12840\t117\t8.91\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1X8\t13077\t118\t5.28\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1Y8\t13024\t123\t6.7\t22\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1Y9\t13203\t119\t7.69\t14\tSecreted;Cell membrane\tNA\t0\tPE1\n-NX_A0A0B4J1Z2\t12989\t117\t9.1\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A0B4J2A2\t18156\t164\t9.32\t1\tCytoplasm\tNA\t0\tPE2\n-NX_A0A0B4J2D9\t12569\t117\t7.68\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A0B4J2F0\t6313\t54\t8.04\t15\tSecreted\tNA\t0\tPE1\n-NX_A0A0B4J2H0\t12660\t117\t8.64\t14\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A0C4DH24\t12430\t114\t6.7\t2\tSecreted;Cell membrane\tNA\t0\tPE3\n-NX_A0A0C4DH25\t12515\t116\t4.46\t2\tSecreted;Cell membrane'..b'3\t36596\t318\t8.13\t16\tCytoskeleton;Membrane;Cytosol;Nucleoplasm;Perinuclear region;Endoplasmic reticulum\tNA\t2\tPE1\n+NX_Q7L5N1\t36163\t327\t5.47\t7\tNucleus;Nucleoplasm;Nucleus;Cytoplasm\tNA\t0\tPE1\n+NX_Q7L5N7\t60208\t544\t6.14\t16\tLipid droplet;Golgi apparatus membrane;Endoplasmic reticulum membrane;Lipid droplet;Endoplasmic reticulum\tNA\t1\tPE1\n+NX_Q7L5Y1\t49786\t443\t6.03\t18\tMitochondrion\tNA\t0\tPE1\n+NX_Q7L5Y6\t63848\t550\t7.32\t15\tNucleoplasm;Cytoskeleton;Nucleus\tNA\t0\tPE1\n+NX_Q7L5Y9\t45287\t396\t8.95\t4\tNucleoplasm;Nucleus matrix;Cell membrane;Cytoskeleton\tNA\t0\tPE1\n+NX_Q7L622\t80504\t706\t7.9\t14\tCytoplasm;Nucleolus\tNA\t0\tPE1\n+NX_Q7L775\t70370\t607\t5.77\t3\tEndoplasmic reticulum\tNA\t0\tPE1\n+NX_Q7L7L0\t14121\t130\t11.05\t1\tNucleus;Chromosome\tNA\t0\tPE1\n+NX_Q7L7V1\t84419\t743\t4.88\t10\tNucleus;Mitochondrion\tNA\t0\tPE1\n+NX_Q7L7X3\t116070\t1001\t7.3\t17\tCytoplasm\tNA\t0\tPE1\n+NX_Q7L804\t58279\t512\t9.33\t10\tCytoplasmic vesicle;Nucleoplasm;Cell membrane;Recycling endosome membrane\tNA\t0\tPE1\n+NX_Q7L8A9\t40957\t365\t9.5\t14\tSecreted\tNA\t0\tPE1\n+NX_Q7L8C5\t46885\t426\t7.6\t11\tGolgi apparatus;Cytoplasmic vesicle;Membrane\tNA\t1\tPE1\n+NX_Q7L8J4\t43499\t393\t5.57\t1\tGolgi apparatus;Cytoplasmic vesicle;Nucleoplasm\tNA\t0\tPE1\n+NX_Q7L8L6\t86574\t764\t8.41\t20\tMitochondrion nucleoid\tNA\t0\tPE1\n+NX_Q7L8S5\t33300\t288\t6.29\tX\tNA\tNA\t0\tPE1\n+NX_Q7L8W6\t30307\t267\t5.24\t15\tNucleus;Nucleolus\tNA\t0\tPE1\n+NX_Q7L945\t52853\t461\t9.18\t19\tNucleolus;Nucleus;Nucleus\tNA\t0\tPE1\n+NX_Q7L985\t68066\t606\t8.44\t9\tMembrane\tNA\t1\tPE1\n+NX_Q7L9B9\t62403\t569\t8.64\t7\tNucleus speckle;Cytoplasmic vesicle;Cell membrane\tNA\t0\tPE1\n+NX_Q7L9L4\t25091\t216\t6.24\t4\tCytoplasm;Nucleus\tNA\t0\tPE1\n+NX_Q7LBC6\t191581\t1761\t6.78\t5\tNucleus;Nucleoplasm\tNA\t0\tPE1\n+NX_Q7LBE3\t86988\t791\t8.47\t1\tMembrane;Nucleus;Cell junction\tNA\t13\tPE1\n+NX_Q7LBR1\t22109\t199\t7.81\t18\tNucleus;Late endosome membrane;Midbody;Cytosol;Endosome\tNA\t0\tPE1\n+NX_Q7LC44\t45316\t396\t5.45\t8\tCytoskeleton;Synapse;Cytoplasmic vesicle;Cytoskeleton;Endosome;Acrosome;Postsynaptic density;Dendrite;Dendritic spine\tNA\t0\tPE1\n+NX_Q7LDG7\t69248\t609\t7.89\t11\tSynaptosome;Ruffle membrane;Cell membrane;Cytosol\tBleeding disorder, platelet-type 18\t0\tPE1\n+NX_Q7LDI9\t74079\t666\t9.11\t7\tCell membrane\tNA\t0\tPE1\n+NX_Q7LFL8\t32977\t322\t9.27\t5\tCytosol;Nucleoplasm;Nucleus;Cytoplasm\tNA\t0\tPE1\n+NX_Q7LFX5\t64926\t561\t8.56\t10\tCentrosome;Cytosol;Golgi apparatus membrane\tNA\t1\tPE1\n+NX_Q7LG56\t40737\t351\t4.89\t8\tNucleus;Nucleoplasm;Cytoplasm;Cytosol\tProgressive external ophthalmoplegia with mitochondrial DNA deletions, autosomal dominant, 5;Mitochondrial DNA depletion syndrome 8A;Mitochondrial DNA depletion syndrome 8B\t0\tPE1\n+NX_Q7LGA3\t41881\t356\t8.83\t1\tMitochondrion;Golgi apparatus membrane\tNA\t1\tPE1\n+NX_Q7LGC8\t54706\t479\t8.84\t10\tCytosol;Golgi apparatus;Golgi apparatus membrane\tSpondyloepiphyseal dysplasia with congenital joint dislocations\t1\tPE1\n+NX_Q7M4L6\t46768\t423\t6.01\t15\tNucleus\tNA\t0\tPE1\n+NX_Q7RTM1\t67353\t612\t8.71\t4\tExtracellular space;Membrane\tNA\t10\tPE2\n+NX_Q7RTN6\t48369\t431\t6.02\t17\tCytosol;Nucleoplasm;Cytoplasm;Nucleus\tNA\t0\tPE1\n+NX_Q7RTP0\t34562\t329\t8.7\t15\tCell membrane;Early endosome\tSpastic paraplegia 6, autosomal dominant\t9\tPE1\n+NX_Q7RTP6\t224295\t2002\t5.43\t22\tCytosol;Cytoplasm;Cell membrane;Nucleoplasm;Cell cortex;Cilium basal body;Spindle;Midbody;Nucleus;Cytoskeleton\tNA\t0\tPE1\n+NX_Q7RTR0\t113312\t991\t6.08\t19\tCytoplasm;Inflammasome\tNA\t0\tPE1\n+NX_Q7RTR2\t114658\t1065\t8.64\t16\tCytosol;Microtubule organizing center;Cytoplasm\tNA\t0\tPE1\n+NX_Q7RTR8\t36195\t314\t9.64\t12\tMembrane;Focal adhesion;Nucleoplasm;Cytoskeleton\tNA\t7\tPE2\n+NX_Q7RTS1\t20818\t189\t11.26\t7\tNucleoplasm;Nucleus;Golgi apparatus\tNA\t0\tPE1\n+NX_Q7RTS3\t34970\t328\t5.1\t10\tNucleus;Nucleoplasm;Cytoplasm\tPancreatic agenesis 2;Pancreatic and cerebellar agenesis\t0\tPE1\n+NX_Q7RTS5\t66296\t596\t8.96\t17\tMembrane\tNA\t12\tPE1\n+NX_Q7RTS6\t62236\t562\t7.04\t17\tMembrane\tNA\t10\tPE1\n+NX_Q8WZ42\t3816030\t34350\t6.02\t2\tCytoplasm;Nucleus   Early-onset myopathy with fatal cardiomyopathy;Cardiomyopathy, familial hypertrophic 9;Cardiomyopathy, dilated 1G;Tardive tibial muscular dystrophy;Hereditary myopathy with early respiratory failure;Limb-girdle muscular dystrophy\t2J\t0\tPE1\n'