Spaces:
Running
on
Zero
Running
on
Zero
feat: add logo
Browse files- README.md +2 -2
- app.py +26 -13
- assets/instanovo.svg +23 -0
- assets/sample_spectra.mgf +0 -0
- sample_spectrum.mgf +0 -33
- uv.lock +70 -25
README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
emoji: ππ§ͺ
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: green
|
|
@@ -10,7 +10,7 @@ pinned: true
|
|
| 10 |
license: apache-2.0
|
| 11 |
---
|
| 12 |
|
| 13 |
-
#
|
| 14 |
|
| 15 |
This Space provides a web interface for the [InstaNovo](https://github.com/instadeepai/InstaNovo) model for _de novo_ peptide sequencing from mass spectrometry data.
|
| 16 |
|
|
|
|
| 1 |
---
|
| 2 |
+
title: De Novo Peptide Sequencing With InstaNovo
|
| 3 |
emoji: ππ§ͺ
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: green
|
|
|
|
| 10 |
license: apache-2.0
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# _De Novo_ Peptide Sequencing With InstaNovo
|
| 14 |
|
| 15 |
This Space provides a web interface for the [InstaNovo](https://github.com/instadeepai/InstaNovo) model for _de novo_ peptide sequencing from mass spectrometry data.
|
| 16 |
|
app.py
CHANGED
|
@@ -9,7 +9,6 @@ from pathlib import Path
|
|
| 9 |
from omegaconf import OmegaConf, DictConfig
|
| 10 |
|
| 11 |
# --- InstaNovo Imports ---
|
| 12 |
-
# It's good practice to handle potential import issues
|
| 13 |
try:
|
| 14 |
from instanovo.transformer.model import InstaNovo
|
| 15 |
from instanovo.utils import SpectrumDataFrame, ResidueSet, Metrics
|
|
@@ -24,10 +23,7 @@ try:
|
|
| 24 |
from instanovo.constants import MASS_SCALE, MAX_MASS
|
| 25 |
from torch.utils.data import DataLoader
|
| 26 |
except ImportError as e:
|
| 27 |
-
|
| 28 |
-
print("Please ensure InstaNovo is installed correctly.")
|
| 29 |
-
# Optionally, raise the error or exit if InstaNovo is critical
|
| 30 |
-
# raise e
|
| 31 |
|
| 32 |
# --- Configuration ---
|
| 33 |
MODEL_ID = "instanovo-v1.1.0" # Use the desired pretrained model ID
|
|
@@ -44,6 +40,10 @@ KNAPSACK: Knapsack | None = None
|
|
| 44 |
MODEL_CONFIG: DictConfig | None = None
|
| 45 |
RESIDUE_SET: ResidueSet | None = None
|
| 46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
def load_model_and_knapsack():
|
| 48 |
"""Loads the InstaNovo model and generates/loads the knapsack."""
|
| 49 |
global MODEL, KNAPSACK, MODEL_CONFIG, RESIDUE_SET
|
|
@@ -63,7 +63,6 @@ def load_model_and_knapsack():
|
|
| 63 |
raise gr.Error(f"Failed to load InstaNovo model: {MODEL_ID}. Error: {e}")
|
| 64 |
|
| 65 |
# --- Knapsack Handling ---
|
| 66 |
-
KNAPSACK_DIR.mkdir(parents=True, exist_ok=True)
|
| 67 |
knapsack_exists = (
|
| 68 |
(KNAPSACK_DIR / "parameters.pkl").exists() and
|
| 69 |
(KNAPSACK_DIR / "masses.npy").exists() and
|
|
@@ -116,7 +115,7 @@ def load_model_and_knapsack():
|
|
| 116 |
print("Knapsack saved.")
|
| 117 |
except Exception as e:
|
| 118 |
print(f"Error generating or saving knapsack: {e}")
|
| 119 |
-
gr.Warning("Failed to generate Knapsack. Knapsack Beam Search will not be available.")
|
| 120 |
KNAPSACK = None # Ensure it's None if generation failed
|
| 121 |
|
| 122 |
# Load the model and knapsack when the script starts
|
|
@@ -405,12 +404,25 @@ css = """
|
|
| 405 |
.gradio-container { font-family: sans-serif; }
|
| 406 |
.gr-button { color: white; border-color: black; background: black; }
|
| 407 |
footer { display: none !important; }
|
|
|
|
|
|
|
| 408 |
"""
|
| 409 |
|
| 410 |
with gr.Blocks(css=css, theme=gr.themes.Default(primary_hue="blue", secondary_hue="blue")) as demo:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 411 |
gr.Markdown(
|
| 412 |
"""
|
| 413 |
-
# π
|
| 414 |
Upload your mass spectrometry data file (.mgf, .mzml, or .mzxml) and get peptide sequence predictions using InstaNovo.
|
| 415 |
Choose between fast Greedy Search or more accurate but slower Knapsack Beam Search.
|
| 416 |
"""
|
|
@@ -422,13 +434,13 @@ with gr.Blocks(css=css, theme=gr.themes.Default(primary_hue="blue", secondary_hu
|
|
| 422 |
file_types=[".mgf", ".mzml", ".mzxml"]
|
| 423 |
)
|
| 424 |
decoding_method = gr.Radio(
|
| 425 |
-
["Greedy Search (Fast)", "Knapsack Beam Search (More accurate, but slower)"],
|
| 426 |
label="Decoding Method",
|
| 427 |
-
value="Greedy Search (Fast)" # Default to fast method
|
| 428 |
)
|
| 429 |
submit_btn = gr.Button("Predict Sequences", variant="primary")
|
| 430 |
with gr.Column(scale=2):
|
| 431 |
-
output_df = gr.DataFrame(label="Prediction Results", wrap=True)
|
| 432 |
output_file = gr.File(label="Download Full Results (CSV)")
|
| 433 |
|
| 434 |
submit_btn.click(
|
|
@@ -438,7 +450,8 @@ with gr.Blocks(css=css, theme=gr.themes.Default(primary_hue="blue", secondary_hu
|
|
| 438 |
)
|
| 439 |
|
| 440 |
gr.Examples(
|
| 441 |
-
[["
|
|
|
|
| 442 |
inputs=[input_file, decoding_method],
|
| 443 |
outputs=[output_df, output_file],
|
| 444 |
fn=predict_peptides,
|
|
@@ -451,7 +464,7 @@ with gr.Blocks(css=css, theme=gr.themes.Default(primary_hue="blue", secondary_hu
|
|
| 451 |
**Notes:**
|
| 452 |
* Predictions are based on the [InstaNovo](https://github.com/instadeepai/InstaNovo) model ({MODEL_ID}).
|
| 453 |
* Knapsack Beam Search uses pre-calculated mass constraints and yields better results but takes longer.
|
| 454 |
-
*
|
| 455 |
* Ensure your input file format is correctly specified. Large files may take time to process.
|
| 456 |
""".format(MODEL_ID=MODEL_ID)
|
| 457 |
)
|
|
|
|
| 9 |
from omegaconf import OmegaConf, DictConfig
|
| 10 |
|
| 11 |
# --- InstaNovo Imports ---
|
|
|
|
| 12 |
try:
|
| 13 |
from instanovo.transformer.model import InstaNovo
|
| 14 |
from instanovo.utils import SpectrumDataFrame, ResidueSet, Metrics
|
|
|
|
| 23 |
from instanovo.constants import MASS_SCALE, MAX_MASS
|
| 24 |
from torch.utils.data import DataLoader
|
| 25 |
except ImportError as e:
|
| 26 |
+
raise ImportError("Failed to import InstaNovo components: {e}")
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
# --- Configuration ---
|
| 29 |
MODEL_ID = "instanovo-v1.1.0" # Use the desired pretrained model ID
|
|
|
|
| 40 |
MODEL_CONFIG: DictConfig | None = None
|
| 41 |
RESIDUE_SET: ResidueSet | None = None
|
| 42 |
|
| 43 |
+
# Assets
|
| 44 |
+
gr.set_static_paths(paths=[Path.cwd().absolute()/"assets"])
|
| 45 |
+
|
| 46 |
+
|
| 47 |
def load_model_and_knapsack():
|
| 48 |
"""Loads the InstaNovo model and generates/loads the knapsack."""
|
| 49 |
global MODEL, KNAPSACK, MODEL_CONFIG, RESIDUE_SET
|
|
|
|
| 63 |
raise gr.Error(f"Failed to load InstaNovo model: {MODEL_ID}. Error: {e}")
|
| 64 |
|
| 65 |
# --- Knapsack Handling ---
|
|
|
|
| 66 |
knapsack_exists = (
|
| 67 |
(KNAPSACK_DIR / "parameters.pkl").exists() and
|
| 68 |
(KNAPSACK_DIR / "masses.npy").exists() and
|
|
|
|
| 115 |
print("Knapsack saved.")
|
| 116 |
except Exception as e:
|
| 117 |
print(f"Error generating or saving knapsack: {e}")
|
| 118 |
+
gr.Warning("Failed to generate Knapsack. Knapsack Beam Search will not be available. {e}")
|
| 119 |
KNAPSACK = None # Ensure it's None if generation failed
|
| 120 |
|
| 121 |
# Load the model and knapsack when the script starts
|
|
|
|
| 404 |
.gradio-container { font-family: sans-serif; }
|
| 405 |
.gr-button { color: white; border-color: black; background: black; }
|
| 406 |
footer { display: none !important; }
|
| 407 |
+
/* Optional: Add some margin below the logo */
|
| 408 |
+
.logo-container img { margin-bottom: 1rem; }
|
| 409 |
"""
|
| 410 |
|
| 411 |
with gr.Blocks(css=css, theme=gr.themes.Default(primary_hue="blue", secondary_hue="blue")) as demo:
|
| 412 |
+
# --- Logo Display ---
|
| 413 |
+
gr.Markdown(
|
| 414 |
+
"""
|
| 415 |
+
<div style="text-align: center;" class="logo-container">
|
| 416 |
+
<img src='/gradio_api/file=assets/instanovo.svg' alt="InstaNovo Logo" width="300" style="display: block; margin: 0 auto;">
|
| 417 |
+
</div>
|
| 418 |
+
""",
|
| 419 |
+
elem_classes="logo-container" # Optional class for CSS targeting
|
| 420 |
+
)
|
| 421 |
+
|
| 422 |
+
# --- App Content ---
|
| 423 |
gr.Markdown(
|
| 424 |
"""
|
| 425 |
+
# π _De Novo_ Peptide Sequencing with InstaNovo
|
| 426 |
Upload your mass spectrometry data file (.mgf, .mzml, or .mzxml) and get peptide sequence predictions using InstaNovo.
|
| 427 |
Choose between fast Greedy Search or more accurate but slower Knapsack Beam Search.
|
| 428 |
"""
|
|
|
|
| 434 |
file_types=[".mgf", ".mzml", ".mzxml"]
|
| 435 |
)
|
| 436 |
decoding_method = gr.Radio(
|
| 437 |
+
["Greedy Search (Fast, resonably accurate)", "Knapsack Beam Search (More accurate, but slower)"],
|
| 438 |
label="Decoding Method",
|
| 439 |
+
value="Greedy Search (Fast, resonably accurate)" # Default to fast method
|
| 440 |
)
|
| 441 |
submit_btn = gr.Button("Predict Sequences", variant="primary")
|
| 442 |
with gr.Column(scale=2):
|
| 443 |
+
output_df = gr.DataFrame(label="Prediction Results", headers=["scan_number", "precursor_mz", "precursor_charge", "prediction", "log_probability", "delta_mass_ppm"], wrap=True)
|
| 444 |
output_file = gr.File(label="Download Full Results (CSV)")
|
| 445 |
|
| 446 |
submit_btn.click(
|
|
|
|
| 450 |
)
|
| 451 |
|
| 452 |
gr.Examples(
|
| 453 |
+
[["assets/sample_spectra.mgf", "Greedy Search (Fast, resonably accurate)" ],
|
| 454 |
+
["assets/sample_spectra.mgf", "Knapsack Beam Search (More accurate, but slower)" ]],
|
| 455 |
inputs=[input_file, decoding_method],
|
| 456 |
outputs=[output_df, output_file],
|
| 457 |
fn=predict_peptides,
|
|
|
|
| 464 |
**Notes:**
|
| 465 |
* Predictions are based on the [InstaNovo](https://github.com/instadeepai/InstaNovo) model ({MODEL_ID}).
|
| 466 |
* Knapsack Beam Search uses pre-calculated mass constraints and yields better results but takes longer.
|
| 467 |
+
* `delta_mass_ppm` shows the lowest absolute precursor mass error (in ppm) across potential isotopes (0-1 neutron).
|
| 468 |
* Ensure your input file format is correctly specified. Large files may take time to process.
|
| 469 |
""".format(MODEL_ID=MODEL_ID)
|
| 470 |
)
|
assets/instanovo.svg
ADDED
|
|
assets/sample_spectra.mgf
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
sample_spectrum.mgf
DELETED
|
@@ -1,33 +0,0 @@
|
|
| 1 |
-
BEGIN IONS
|
| 2 |
-
TITLE=0
|
| 3 |
-
PEPMASS=451.25348
|
| 4 |
-
CHARGE=2+
|
| 5 |
-
SCANS=F1:2478
|
| 6 |
-
RTINSECONDS=824.574
|
| 7 |
-
SEQ=IAHYNKR
|
| 8 |
-
63.994834899902344 0.0611930787563324
|
| 9 |
-
70.06543731689453 0.06860413402318954
|
| 10 |
-
84.081298828125 0.22455614805221558
|
| 11 |
-
85.08439636230469 0.06763620674610138
|
| 12 |
-
86.09666442871094 0.22344912588596344
|
| 13 |
-
110.07109069824219 0.3034861385822296
|
| 14 |
-
129.1020050048828 0.0932231917977333
|
| 15 |
-
138.06597900390625 0.07667151838541031
|
| 16 |
-
157.13291931152344 0.14716865122318268
|
| 17 |
-
175.1185302734375 0.19198034703731537
|
| 18 |
-
185.1283721923828 0.09717456996440887
|
| 19 |
-
209.10263061523438 0.13139843940734863
|
| 20 |
-
273.1337890625 0.09324286878108978
|
| 21 |
-
301.1282958984375 0.08515828102827072
|
| 22 |
-
303.21221923828125 0.07235292345285416
|
| 23 |
-
304.17529296875 0.07120858132839203
|
| 24 |
-
322.1859130859375 0.15834060311317444
|
| 25 |
-
350.6787414550781 0.07397215068340302
|
| 26 |
-
417.2552185058594 0.14982180297374725
|
| 27 |
-
580.3185424804688 0.31572264432907104
|
| 28 |
-
630.36572265625 0.06255878508090973
|
| 29 |
-
717.376708984375 0.5990896821022034
|
| 30 |
-
753.3748779296875 0.09976936876773834
|
| 31 |
-
788.4207763671875 0.35858696699142456
|
| 32 |
-
866.4544677734375 0.12016354501247406
|
| 33 |
-
END IONS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uv.lock
CHANGED
|
@@ -801,35 +801,67 @@ wheels = [
|
|
| 801 |
|
| 802 |
[[package]]
|
| 803 |
name = "instanovo"
|
| 804 |
-
version = "1.
|
| 805 |
-
source = {
|
| 806 |
dependencies = [
|
| 807 |
-
{ name = "click" },
|
| 808 |
{ name = "datasets" },
|
|
|
|
| 809 |
{ name = "hydra-core" },
|
| 810 |
{ name = "jaxtyping" },
|
| 811 |
{ name = "jiwer" },
|
|
|
|
| 812 |
{ name = "matchms" },
|
| 813 |
{ name = "neptune" },
|
| 814 |
{ name = "numpy" },
|
| 815 |
{ name = "omegaconf" },
|
| 816 |
{ name = "pandas" },
|
| 817 |
{ name = "polars" },
|
| 818 |
-
{ name = "
|
| 819 |
{ name = "python-dotenv" },
|
| 820 |
-
{ name = "
|
|
|
|
| 821 |
{ name = "s3fs" },
|
| 822 |
{ name = "scikit-learn" },
|
| 823 |
{ name = "spectrum-utils" },
|
| 824 |
{ name = "tensorboard" },
|
| 825 |
-
{ name = "torch" },
|
| 826 |
{ name = "tqdm" },
|
|
|
|
|
|
|
| 827 |
]
|
| 828 |
-
sdist = { url = "https://files.pythonhosted.org/packages/12/a5/e97bec7c26bdd165f23108cb6c048ff50e75c3eced8b08b052c5e0d7ac25/instanovo-1.0.0.tar.gz", hash = "sha256:fd9cfc377d9f8da5272f96b2eb4c14c08b579d7a65466aa402601ec6c4b42672", size = 70720 }
|
| 829 |
wheels = [
|
| 830 |
-
{
|
| 831 |
]
|
| 832 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 833 |
[[package]]
|
| 834 |
name = "instanovo-gradio"
|
| 835 |
version = "0.1.0"
|
|
@@ -842,7 +874,7 @@ dependencies = [
|
|
| 842 |
[package.metadata]
|
| 843 |
requires-dist = [
|
| 844 |
{ name = "gradio", specifier = ">=5.23.1" },
|
| 845 |
-
{ name = "instanovo",
|
| 846 |
]
|
| 847 |
|
| 848 |
[[package]]
|
|
@@ -1029,6 +1061,26 @@ wheels = [
|
|
| 1029 |
{ url = "https://files.pythonhosted.org/packages/2d/00/d90b10b962b4277f5e64a78b6609968859ff86889f5b898c1a778c06ec00/lark-1.2.2-py3-none-any.whl", hash = "sha256:c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c", size = 111036 },
|
| 1030 |
]
|
| 1031 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1032 |
[[package]]
|
| 1033 |
name = "lightning-utilities"
|
| 1034 |
version = "0.14.2"
|
|
@@ -1876,22 +1928,6 @@ wheels = [
|
|
| 1876 |
{ url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997 },
|
| 1877 |
]
|
| 1878 |
|
| 1879 |
-
[[package]]
|
| 1880 |
-
name = "pyopenms"
|
| 1881 |
-
version = "3.3.0"
|
| 1882 |
-
source = { registry = "https://pypi.org/simple" }
|
| 1883 |
-
dependencies = [
|
| 1884 |
-
{ name = "matplotlib" },
|
| 1885 |
-
{ name = "numpy" },
|
| 1886 |
-
{ name = "pandas" },
|
| 1887 |
-
]
|
| 1888 |
-
wheels = [
|
| 1889 |
-
{ url = "https://files.pythonhosted.org/packages/f5/df/ae6655221fa6b53850cbacae9f6a1d03ee67dba855f8ecb1c5faa01dfec9/pyopenms-3.3.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:da7284294fa850b45c206b9337d39c3f9d01b9bfa013665ec0dc55da9513e49c", size = 56065326 },
|
| 1890 |
-
{ url = "https://files.pythonhosted.org/packages/14/a1/f0685bd47e00a9ea27056335b94516d4d8451ac5151fb05c0d10fcc3c627/pyopenms-3.3.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:c3774b759975064d764239f2e1dbb59810a66124667bb39451e0602d13120fc7", size = 50494234 },
|
| 1891 |
-
{ url = "https://files.pythonhosted.org/packages/43/40/9c5dc2af36707a7f853b1142af4992e8e9050e1926397a25ec7ba36521ce/pyopenms-3.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:582b585691c0fcfe8ac519849b01c5be861f66059b3c6a6c830cc14d15f20c98", size = 57231043 },
|
| 1892 |
-
{ url = "https://files.pythonhosted.org/packages/d6/5b/363202bb04962d5aa7ea48a8856692eeebe692e578d481e1ad9de7f476cc/pyopenms-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:ff05ae5be93235a8f1eebef02c7e27bfc215c30b80f8c4b27d5a159ffe8f5f22", size = 29539839 },
|
| 1893 |
-
]
|
| 1894 |
-
|
| 1895 |
[[package]]
|
| 1896 |
name = "pyparsing"
|
| 1897 |
version = "3.2.3"
|
|
@@ -2579,6 +2615,15 @@ wheels = [
|
|
| 2579 |
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
| 2580 |
]
|
| 2581 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2582 |
[[package]]
|
| 2583 |
name = "triton"
|
| 2584 |
version = "3.2.0"
|
|
|
|
| 801 |
|
| 802 |
[[package]]
|
| 803 |
name = "instanovo"
|
| 804 |
+
version = "1.1.0"
|
| 805 |
+
source = { path = "../dtu-denovo-sequencing/dist/instanovo-1.1.0-py3-none-any.whl" }
|
| 806 |
dependencies = [
|
|
|
|
| 807 |
{ name = "datasets" },
|
| 808 |
+
{ name = "gitpython" },
|
| 809 |
{ name = "hydra-core" },
|
| 810 |
{ name = "jaxtyping" },
|
| 811 |
{ name = "jiwer" },
|
| 812 |
+
{ name = "lightning" },
|
| 813 |
{ name = "matchms" },
|
| 814 |
{ name = "neptune" },
|
| 815 |
{ name = "numpy" },
|
| 816 |
{ name = "omegaconf" },
|
| 817 |
{ name = "pandas" },
|
| 818 |
{ name = "polars" },
|
| 819 |
+
{ name = "pyteomics" },
|
| 820 |
{ name = "python-dotenv" },
|
| 821 |
+
{ name = "pyyaml" },
|
| 822 |
+
{ name = "requests" },
|
| 823 |
{ name = "s3fs" },
|
| 824 |
{ name = "scikit-learn" },
|
| 825 |
{ name = "spectrum-utils" },
|
| 826 |
{ name = "tensorboard" },
|
|
|
|
| 827 |
{ name = "tqdm" },
|
| 828 |
+
{ name = "transfusion-asr" },
|
| 829 |
+
{ name = "typer" },
|
| 830 |
]
|
|
|
|
| 831 |
wheels = [
|
| 832 |
+
{ filename = "instanovo-1.1.0-py3-none-any.whl", hash = "sha256:388ad39f7d458e790e44a9b5655312664e74cee468ce7268fb52740063af557b" },
|
| 833 |
]
|
| 834 |
|
| 835 |
+
[package.metadata]
|
| 836 |
+
requires-dist = [
|
| 837 |
+
{ name = "datasets", specifier = ">=3.1.0" },
|
| 838 |
+
{ name = "gitpython", specifier = ">=3.1.44" },
|
| 839 |
+
{ name = "hydra-core", specifier = ">=1.3.2" },
|
| 840 |
+
{ name = "jaxtyping", specifier = ">=0.2.34" },
|
| 841 |
+
{ name = "jiwer", specifier = ">=3.0.5" },
|
| 842 |
+
{ name = "lightning", specifier = ">=2.5.1" },
|
| 843 |
+
{ name = "matchms", specifier = ">=0.28.1" },
|
| 844 |
+
{ name = "neptune", specifier = ">=1.13.0" },
|
| 845 |
+
{ name = "numpy", specifier = ">=2.0.2" },
|
| 846 |
+
{ name = "omegaconf", specifier = ">=2.3.0" },
|
| 847 |
+
{ name = "pandas", specifier = ">=2.2.3" },
|
| 848 |
+
{ name = "polars", specifier = ">=1.12.0" },
|
| 849 |
+
{ name = "pyteomics", specifier = ">=4.7.5" },
|
| 850 |
+
{ name = "python-dotenv", specifier = ">=1.0.1" },
|
| 851 |
+
{ name = "pyyaml", specifier = ">=6.0.2" },
|
| 852 |
+
{ name = "requests", specifier = ">=2.32.3" },
|
| 853 |
+
{ name = "s3fs", specifier = ">=2024.9.0" },
|
| 854 |
+
{ name = "scikit-learn", specifier = ">=1.5.2" },
|
| 855 |
+
{ name = "spectrum-utils", specifier = ">=0.4.2" },
|
| 856 |
+
{ name = "tensorboard", specifier = ">=2.18.0" },
|
| 857 |
+
{ name = "torch", marker = "extra == 'cpu'", specifier = ">=2.4.1,<2.5" },
|
| 858 |
+
{ name = "torch", marker = "extra == 'cu124'", specifier = ">=2.4.1,<2.5" },
|
| 859 |
+
{ name = "tqdm", specifier = ">=4.67.0" },
|
| 860 |
+
{ name = "transfusion-asr", specifier = ">=0.1.0" },
|
| 861 |
+
{ name = "typer", specifier = ">=0.15.1" },
|
| 862 |
+
]
|
| 863 |
+
provides-extras = ["cpu", "cu124"]
|
| 864 |
+
|
| 865 |
[[package]]
|
| 866 |
name = "instanovo-gradio"
|
| 867 |
version = "0.1.0"
|
|
|
|
| 874 |
[package.metadata]
|
| 875 |
requires-dist = [
|
| 876 |
{ name = "gradio", specifier = ">=5.23.1" },
|
| 877 |
+
{ name = "instanovo", path = "../dtu-denovo-sequencing/dist/instanovo-1.1.0-py3-none-any.whl" },
|
| 878 |
]
|
| 879 |
|
| 880 |
[[package]]
|
|
|
|
| 1061 |
{ url = "https://files.pythonhosted.org/packages/2d/00/d90b10b962b4277f5e64a78b6609968859ff86889f5b898c1a778c06ec00/lark-1.2.2-py3-none-any.whl", hash = "sha256:c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c", size = 111036 },
|
| 1062 |
]
|
| 1063 |
|
| 1064 |
+
[[package]]
|
| 1065 |
+
name = "lightning"
|
| 1066 |
+
version = "2.5.1"
|
| 1067 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1068 |
+
dependencies = [
|
| 1069 |
+
{ name = "fsspec", extra = ["http"] },
|
| 1070 |
+
{ name = "lightning-utilities" },
|
| 1071 |
+
{ name = "packaging" },
|
| 1072 |
+
{ name = "pytorch-lightning" },
|
| 1073 |
+
{ name = "pyyaml" },
|
| 1074 |
+
{ name = "torch" },
|
| 1075 |
+
{ name = "torchmetrics" },
|
| 1076 |
+
{ name = "tqdm" },
|
| 1077 |
+
{ name = "typing-extensions" },
|
| 1078 |
+
]
|
| 1079 |
+
sdist = { url = "https://files.pythonhosted.org/packages/39/53/21a834e03317d04cc3db7307d4c19af94c0db43b9001e8fabb8d150c5e69/lightning-2.5.1.tar.gz", hash = "sha256:aca88f8abf3fc38d8b40c1f82ce481f4379c2b181a6eeeb9217db0aba8e40736", size = 630918 }
|
| 1080 |
+
wheels = [
|
| 1081 |
+
{ url = "https://files.pythonhosted.org/packages/80/eb/45f6629b92cb4ed38854d5b76f9f668ff58404a4b9ec1abefa98502afd98/lightning-2.5.1-py3-none-any.whl", hash = "sha256:512cbf9e80859f331b329536b2e2f90776e6f8a399048745bb4dabacc36e2850", size = 818892 },
|
| 1082 |
+
]
|
| 1083 |
+
|
| 1084 |
[[package]]
|
| 1085 |
name = "lightning-utilities"
|
| 1086 |
version = "0.14.2"
|
|
|
|
| 1928 |
{ url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997 },
|
| 1929 |
]
|
| 1930 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1931 |
[[package]]
|
| 1932 |
name = "pyparsing"
|
| 1933 |
version = "3.2.3"
|
|
|
|
| 2615 |
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
| 2616 |
]
|
| 2617 |
|
| 2618 |
+
[[package]]
|
| 2619 |
+
name = "transfusion-asr"
|
| 2620 |
+
version = "0.1.0"
|
| 2621 |
+
source = { registry = "https://pypi.org/simple" }
|
| 2622 |
+
sdist = { url = "https://files.pythonhosted.org/packages/0c/61/8b241f67846260f6d24e2f6c10f5a380cc7ede4f0e7619280e18215367c6/transfusion-asr-0.1.0.tar.gz", hash = "sha256:f9026f5450da4ef14be246dc208deefdb857da525092ab182e48c0b8d0a583c5", size = 52935 }
|
| 2623 |
+
wheels = [
|
| 2624 |
+
{ url = "https://files.pythonhosted.org/packages/b8/59/c64b155873375427662a6fbdec13833100e79d1c48ac1c258f5e7e922b51/transfusion_asr-0.1.0-py3-none-any.whl", hash = "sha256:ba7cb988feeb1670335f42e8accc2ca77a1508cbd5cfa5e86eabe35d7be0f3d2", size = 54713 },
|
| 2625 |
+
]
|
| 2626 |
+
|
| 2627 |
[[package]]
|
| 2628 |
name = "triton"
|
| 2629 |
version = "3.2.0"
|