Skip to content

Commit

Permalink
Integrate another bioMLmodel (biomd0000001076) (#1371)
Browse files Browse the repository at this point in the history
* Add tool BIOMD0000001076

* update tool desc

* update tool desc

* add version

* update

* update test

* remove print

* add creator

* update tool

* update doi

* Update tools/biomodelsML/biomodels_BIOMD0000001076.xml

Co-authored-by: Björn Grüning <bjoern@gruenings.eu>

* remove xlsx

* test bibtext to fix test

* revert to type=doi

* remove creator tag

* update profile

* update embedded script name

---------

Co-authored-by: Björn Grüning <bjoern@gruenings.eu>
  • Loading branch information
anuprulez and bgruening authored Jan 5, 2024
1 parent bc7f502 commit 96a70f2
Show file tree
Hide file tree
Showing 4 changed files with 1,296 additions and 0 deletions.
93 changes: 93 additions & 0 deletions tools/biomodelsML/biomodels_BIOMD0000001076.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<tool id="biomodels_BIOMD0000001076" name="Prediction of Breast Cancer (BC)" version="@VERSION@" profile="23.05">
<description>proteins involved in cancer immunotherapy using molecular descriptors and Multi Layer Perceptron (MLP) neural network</description>
<macros>
<token name="@VERSION@">1</token>
</macros>
<creator>
<organization name="EMBL's European Bioinformatics Institute (EMBL-EBI)" url="https://www.ebi.ac.uk/biomodels/" email="biomodels-net-support@lists.sf.net" />
<person name="Anup Kumar" email="kumara@informatik.uni-freiburg.de" />
</creator>
<requirements>
<container type="docker">docker.io/anupkumar/biomodels_biomd0000001076:@VERSION@</container>
</requirements>
<command><![CDATA[
cp /home/\$NB_USER/MLP_model3.onnx ./ &&
python '$biom_script_BIOMD0000001076'
]]>
</command>
<configfiles>
<configfile name="biom_script_BIOMD0000001076">
<![CDATA[
import os
import numpy
import onnxruntime as rt
import pandas as pd
#if $input_file.ext == "tabular":
data_test = pd.read_csv('$input_file', sep="\t")
#elif $input_file.ext == "csv":
data_test = pd.read_csv('$input_file', sep=",")
#end if
Xdatap = data_test.iloc[:,:-1].values
sess = rt.InferenceSession(os.getcwd() + "/MLP_model3.onnx")
input_name = sess.get_inputs()[0].name
label_name = sess.get_outputs()[0].name
pred_onx = sess.run([label_name], {input_name: Xdatap.astype(numpy.float32)})[0]
data_test["Predictions"] = pred_onx
data_test.to_csv('$output_file', sep="\t", index=None)
]]>
</configfile>
</configfiles>
<inputs>
<param name="input_file" type="data" label="Test data" format="tabular,csv" multiple="false" />
</inputs>
<outputs>
<data format="tabular" name="output_file" label="Predicted data"></data>
</outputs>
<tests>
<test>
<param name="input_file" value="test_data_BIOMD0000001076.tabular" ftype="tabular" />
<output name="output_file" file="pred_data_BIOMD0000001076.tabular">
<assert_contents>
<has_n_columns n="302" />
<has_n_lines n="401" />
</assert_contents>
</output>
</test>
<test>
<param name="input_file" value="test_data_BIOMD0000001076.csv" ftype="csv" />
<output name="output_file" file="pred_data_BIOMD0000001076.tabular">
<assert_contents>
<has_n_columns n="302" />
<has_n_lines n="401" />
</assert_contents>
</output>
</test>
</tests>
<help>
<![CDATA[
**What it does**
The tool makes prediction of breast cancer-related proteins: non-breast cancer related protein (0) or related to breast cancer protein (1). 300 features are used to train a Multi Layer Perceptron (artificial neural network) for such a prediction. The model is available via a Docker container. The original GitHub repository can be accessed at https://github.com/muntisa/neural-networks-for-breast-cancer-proteins.
**Description**
This study introduces a predictive classifier for breast cancer-related proteins, utilising a combination of protein sequence descriptors and machine learning techniques. The best-performing classifier is a Multi Layer Perceptron (artificial neural network) with 300 features, achieving an average Area Under the Receiver Operating Characteristics (AUROC) score of 0.984 through 3-fold cross-validation. Notably, the model identified top-ranked cancer immunotherapy proteins associated with breast cancer that should be studied for further biomarker discovery and therapeutic targeting. Please note that in this model, the output '0' means BC non-related protein and '1' means BC related protein.
**Input file**
Provide a tabular file (as tabular or csv) containing all the features as mentioned above.
**Output file**
Returns predicted data as a tabular file - the predictions are concatenated as a last column of the test data.
]]>
</help>
<citations>
<citation type="doi">10.1038/s41598-020-65584-y</citation>
</citations>
</tool>
Loading

0 comments on commit 96a70f2

Please sign in to comment.