Repository: Noble-Lab/casanovo (language: python)

Issue:
Allow specifying different model weights from GitHub Assets
Use the `--model` parameter to specify a name of the model weights file from the GitHub Assets.


Discussion / hints:

Fix patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1824cc1f..9bd936a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,11 +8,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 
 ### Added
 
-- During training, model checkpoints will now be saved at the end of each training epoch in addition to the checkpoints saved at the end of every validation run.
+- During training, model checkpoints will be saved at the end of each training epoch in addition to the checkpoints saved at the end of every validation run.
+- Besides as a local file, model weights can be specified from a URL. Upon initial download, the weights file is cached for future re-use.
 
 ### Fixed
 
-- Precursor charges are now exported as integers instead of floats in the mzTab output file, in compliance with the mzTab specification.
+- Precursor charges are exported as integers instead of floats in the mzTab output file, in compliance with the mzTab specification.
 
 ## [4.2.1] - 2024-06-25
 
diff --git a/casanovo/casanovo.py b/casanovo/casanovo.py
index d93b748c..cd2274a0 100644
--- a/casanovo/casanovo.py
+++ b/casanovo/casanovo.py
@@ -2,12 +2,14 @@
 
 import datetime
 import functools
+import hashlib
 import logging
 import os
 import re
 import shutil
 import sys
 import time
+import urllib.parse
 import warnings
 from pathlib import Path
 from typing import Optional, Tuple
@@ -60,10 +62,9 @@ def __init__(self, *args, **kwargs) -> None:
             click.Option(
                 ("-m", "--model"),
                 help="""
-                The model weights (.ckpt file). If not provided, Casanovo
-                will try to download the latest release.
+                Either the model weights (.ckpt file) or a URL pointing to the model weights
+                file. If not provided, Casanovo will try to download the latest release automatically.
                 """,
-                type=click.Path(exists=True, dir_okay=False),
             ),
             click.Option(
                 ("-o", "--output"),
@@ -365,22 +366,34 @@ def setup_model(
     seed_everything(seed=config["random_seed"], workers=True)
 
     # Download model weights if these were not specified (except when training).
-    if model is None and not is_train:
-        try:
-            model = _get_model_weights()
-        except github.RateLimitExceededException:
-            logger.error(
-                "GitHub API rate limit exceeded while trying to download the "
-                "model weights. Please download compatible model weights "
-                "manually from the official Casanovo code website "
-                "(https://github.com/Noble-Lab/casanovo) and specify these "
-                "explicitly using the `--model` parameter when running "
-                "Casanovo."
+    cache_dir = Path(appdirs.user_cache_dir("casanovo", False, opinion=False))
+    if model is None:
+        if not is_train:
+            try:
+                model = _get_model_weights(cache_dir)
+            except github.RateLimitExceededException:
+                logger.error(
+                    "GitHub API rate limit exceeded while trying to download the "
+                    "model weights. Please download compatible model weights "
+                    "manually from the official Casanovo code website "
+                    "(https://github.com/Noble-Lab/casanovo) and specify these "
+                    "explicitly using the `--model` parameter when running "
+                    "Casanovo."
+                )
+                raise PermissionError(
+                    "GitHub API rate limit exceeded while trying to download the "
+                    "model weights"
+                ) from None
+    else:
+        if _is_valid_url(model):
+            model = _get_weights_from_url(model, cache_dir)
+        elif not Path(model).is_file():
+            error_msg = (
+                f"{model} is not a valid URL or checkpoint file path, "
+                "--model argument must be a URL or checkpoint file path"
             )
-            raise PermissionError(
-                "GitHub API rate limit exceeded while trying to download the "
-                "model weights"
-            ) from None
+            logger.error(error_msg)
+            raise ValueError(error_msg)
 
     # Log the active configuration.
     logger.info("Casanovo version %s", str(__version__))
@@ -393,7 +406,7 @@ def setup_model(
     return config, model
 
 
-def _get_model_weights() -> str:
+def _get_model_weights(cache_dir: Path) -> str:
     """
     Use cached model weights or download them from GitHub.
 
@@ -407,12 +420,16 @@ def _get_model_weights() -> str:
     Note that the GitHub API is limited to 60 requests from the same IP per
     hour.
 
+    Parameters
+    ----------
+    cache_dir : Path
+        model weights cache directory path
+
     Returns
     -------
     str
         The name of the model weights file.
     """
-    cache_dir = appdirs.user_cache_dir("casanovo", False, opinion=False)
     os.makedirs(cache_dir, exist_ok=True)
     version = utils.split_version(__version__)
     version_match: Tuple[Optional[str], Optional[str], int] = None, None, 0
@@ -436,7 +453,7 @@ def _get_model_weights() -> str:
             "Model weights file %s retrieved from local cache",
             version_match[0],
         )
-        return version_match[0]
+        return Path(version_match[0])
     # Otherwise try to find compatible model weights on GitHub.
     else:
         repo = github.Github().get_repo("Noble-Lab/casanovo")
@@ -469,19 +486,9 @@ def _get_model_weights() -> str:
         # Download the model weights if a matching release was found.
         if version_match[2] > 0:
             filename, url, _ = version_match
-            logger.info(
-                "Downloading model weights file %s from %s", filename, url
-            )
-            r = requests.get(url, stream=True, allow_redirects=True)
-            r.raise_for_status()
-            file_size = int(r.headers.get("Content-Length", 0))
-            desc = "(Unknown total file size)" if file_size == 0 else ""
-            r.raw.read = functools.partial(r.raw.read, decode_content=True)
-            with tqdm.tqdm.wrapattr(
-                r.raw, "read", total=file_size, desc=desc
-            ) as r_raw, open(filename, "wb") as f:
-                shutil.copyfileobj(r_raw, f)
-            return filename
+            cache_file_path = cache_dir / filename
+            _download_weights(url, cache_file_path)
+            return cache_file_path
         else:
             logger.error(
                 "No matching model weights for release v%s found, please "
@@ -496,5 +503,130 @@ def _get_model_weights() -> str:
             )
 
 
+def _get_weights_from_url(
+    file_url: str,
+    cache_dir: Path,
+    force_download: Optional[bool] = False,
+) -> Path:
+    """
+    Resolve weight file from URL
+
+    Attempt to download weight file from URL if weights are not already
+    cached - otherwise use cached weights. Downloaded weight files will be
+    cached.
+
+    Parameters
+    ----------
+    file_url : str
+        URL pointing to model weights file.
+    cache_dir : Path
+        Model weights cache directory path.
+    force_download : Optional[bool], default=False
+        If True, forces a new download of the weight file even if it exists in
+        the cache.
+
+    Returns
+    -------
+    Path
+        Path to the cached weights file.
+    """
+    if not _is_valid_url(file_url):
+        raise ValueError("file_url must point to a valid URL")
+
+    os.makedirs(cache_dir, exist_ok=True)
+    cache_file_name = Path(urllib.parse.urlparse(file_url).path).name
+    url_hash = hashlib.shake_256(file_url.encode("utf-8")).hexdigest(5)
+    cache_file_dir = cache_dir / url_hash
+    cache_file_path = cache_file_dir / cache_file_name
+
+    if cache_file_path.is_file() and not force_download:
+        cache_time = cache_file_path.stat()
+        url_last_modified = 0
+
+        try:
+            file_response = requests.head(file_url)
+            if file_response.ok:
+                if "Last-Modified" in file_response.headers:
+                    url_last_modified = datetime.datetime.strptime(
+                        file_response.headers["Last-Modified"],
+                        "%a, %d %b %Y %H:%M:%S %Z",
+                    ).timestamp()
+            else:
+                logger.warning(
+                    "Attempted HEAD request to %s yielded non-ok status code - using cached file",
+                    file_url,
+                )
+        except (
+            requests.ConnectionError,
+            requests.Timeout,
+            requests.TooManyRedirects,
+        ):
+            logger.warning(
+                "Failed to reach %s to get remote last modified time - using cached file",
+                file_url,
+            )
+
+        if cache_time.st_mtime > url_last_modified:
+            logger.info(
+                "Model weights %s retrieved from local cache", file_url
+            )
+            return cache_file_path
+
+    _download_weights(file_url, cache_file_path)
+    return cache_file_path
+
+
+def _download_weights(file_url: str, download_path: Path) -> None:
+    """
+    Download weights file from URL
+
+    Download the model weights file from the specified URL and save it to the
+    given path. Ensures the download directory exists, and uses a progress
+    bar to indicate download status.
+
+    Parameters
+    ----------
+    file_url : str
+        URL pointing to the model weights file.
+    download_path : Path
+        Path where the downloaded weights file will be saved.
+    """
+    download_file_dir = download_path.parent
+    os.makedirs(download_file_dir, exist_ok=True)
+    response = requests.get(file_url, stream=True, allow_redirects=True)
+    response.raise_for_status()
+    file_size = int(response.headers.get("Content-Length", 0))
+    desc = "(Unknown total file size)" if file_size == 0 else ""
+    response.raw.read = functools.partial(
+        response.raw.read, decode_content=True
+    )
+
+    with tqdm.tqdm.wrapattr(
+        response.raw, "read", total=file_size, desc=desc
+    ) as r_raw, open(download_path, "wb") as file:
+        shutil.copyfileobj(r_raw, file)
+
+
+def _is_valid_url(file_url: str) -> bool:
+    """
+    Determine whether file URL is a valid URL
+
+    Parameters
+    ----------
+    file_url : str
+        url to verify
+
+    Return
+    ------
+    is_url : bool
+        whether file_url is a valid url
+    """
+    try:
+        result = urllib.parse.urlparse(file_url)
+        return all([result.scheme, result.netloc])
+    except ValueError:
+        return False
+
+
 if __name__ == "__main__":
     main()
diff --git a/docs/file_formats.md b/docs/file_formats.md
index 7cde8c7a..b01e4c02 100644
--- a/docs/file_formats.md
+++ b/docs/file_formats.md
@@ -2,6 +2,8 @@
 
 ## Input file formats for Casanovo
 
+### MS/MS spectra
+
 When you're ready to use Casanovo for *de novo* peptide sequencing, you can input your MS/MS spectra in one of the following formats:
 
 - **[mzML](https://doi.org/10.1074/mcp.R110.000133)**: XML-based mass spectrometry community standard file format developed by the Proteomics Standards Initiative (PSI).
@@ -11,6 +13,19 @@ When you're ready to use Casanovo for *de novo* peptide sequencing, you can inpu
 All three of the above file formats can be used as input to Casanovo for *de novo* peptide sequencing.
 As the official PSI standard format containing the complete information from a mass spectrometry run, mzML should typically be preferred.
 
+### Model weights
+
+In addition to MS/MS spectra, Casanovo also optionally accepts a model weights (.ckpt extension) input file when running in training, sequencing, or evaluating mode.
+These weights define the functionality of the Casanovo neural network.
+
+If no input weights file is provided, Casanovo will automatically use the most recent compatible weights from the [official Casanovo GitHub repository](https://github.com/Noble-Lab/casanovo), which will be downloaded and cached locally if they are not already.
+Model weights are retrieved by matching Casanovo release version, which is of the form (major, minor, patch).
+If no model weights for an identical release are available, alternative releases with matching (i) major and minor, or (ii) major versions will be used.
+
+Alternatively, you can input custom model weights in the form of a local file system path or a URL pointing to a compatible Casanovo model weights file.
+If a URL is provided, the upstream weights file will be downloaded and cached locally for later use.
+See the [command line interface documentation](cli.rst) for more details.
+
 ## Output: Understanding the mzTab format
 
 After Casanovo processes your input file(s), it provides the sequencing results in an **[mzTab]((https://doi.org/10.1074/mcp.O113.036681))** file.
diff --git a/docs/images/evaluate-help.svg b/docs/images/evaluate-help.svg
index 2f770e2e..bd8b258f 100644
--- a/docs/images/evaluate-help.svg
+++ b/docs/images/evaluate-help.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 994 684.4" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 994 733.1999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -19,148 +19,156 @@
         font-weight: 700;
     }
 
-    .terminal-2215953096-matrix {
+    .terminal-2357208983-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-2215953096-title {
+    .terminal-2357208983-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-2215953096-r1 { fill: #c5c8c6 }
-.terminal-2215953096-r2 { fill: #d0b344 }
-.terminal-2215953096-r3 { fill: #c5c8c6;font-weight: bold }
-.terminal-2215953096-r4 { fill: #68a0b3;font-weight: bold }
-.terminal-2215953096-r5 { fill: #868887 }
-.terminal-2215953096-r6 { fill: #cc555a }
-.terminal-2215953096-r7 { fill: #d0b344;font-weight: bold }
-.terminal-2215953096-r8 { fill: #8a4346 }
-.terminal-2215953096-r9 { fill: #98a84b;font-weight: bold }
-.terminal-2215953096-r10 { fill: #8d7b39;font-weight: bold }
+    .terminal-2357208983-r1 { fill: #c5c8c6 }
+.terminal-2357208983-r2 { fill: #d0b344 }
+.terminal-2357208983-r3 { fill: #c5c8c6;font-weight: bold }
+.terminal-2357208983-r4 { fill: #68a0b3;font-weight: bold }
+.terminal-2357208983-r5 { fill: #868887 }
+.terminal-2357208983-r6 { fill: #cc555a }
+.terminal-2357208983-r7 { fill: #d0b344;font-weight: bold }
+.terminal-2357208983-r8 { fill: #8a4346 }
+.terminal-2357208983-r9 { fill: #98a84b;font-weight: bold }
+.terminal-2357208983-r10 { fill: #8d7b39;font-weight: bold }
     </style>
 
     <defs>
-    <clipPath id="terminal-2215953096-clip-terminal">
-      <rect x="0" y="0" width="975.0" height="633.4" />
+    <clipPath id="terminal-2357208983-clip-terminal">
+      <rect x="0" y="0" width="975.0" height="682.1999999999999" />
     </clipPath>
-    <clipPath id="terminal-2215953096-line-0">
+    <clipPath id="terminal-2357208983-line-0">
     <rect x="0" y="1.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-1">
+<clipPath id="terminal-2357208983-line-1">
     <rect x="0" y="25.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-2">
+<clipPath id="terminal-2357208983-line-2">
     <rect x="0" y="50.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-3">
+<clipPath id="terminal-2357208983-line-3">
     <rect x="0" y="74.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-4">
+<clipPath id="terminal-2357208983-line-4">
     <rect x="0" y="99.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-5">
+<clipPath id="terminal-2357208983-line-5">
     <rect x="0" y="123.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-6">
+<clipPath id="terminal-2357208983-line-6">
     <rect x="0" y="147.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-7">
+<clipPath id="terminal-2357208983-line-7">
     <rect x="0" y="172.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-8">
+<clipPath id="terminal-2357208983-line-8">
     <rect x="0" y="196.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-9">
+<clipPath id="terminal-2357208983-line-9">
     <rect x="0" y="221.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-10">
+<clipPath id="terminal-2357208983-line-10">
     <rect x="0" y="245.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-11">
+<clipPath id="terminal-2357208983-line-11">
     <rect x="0" y="269.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-12">
+<clipPath id="terminal-2357208983-line-12">
     <rect x="0" y="294.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-13">
+<clipPath id="terminal-2357208983-line-13">
     <rect x="0" y="318.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-14">
+<clipPath id="terminal-2357208983-line-14">
     <rect x="0" y="343.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-15">
+<clipPath id="terminal-2357208983-line-15">
     <rect x="0" y="367.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-16">
+<clipPath id="terminal-2357208983-line-16">
     <rect x="0" y="391.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-17">
+<clipPath id="terminal-2357208983-line-17">
     <rect x="0" y="416.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-18">
+<clipPath id="terminal-2357208983-line-18">
     <rect x="0" y="440.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-19">
+<clipPath id="terminal-2357208983-line-19">
     <rect x="0" y="465.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-20">
+<clipPath id="terminal-2357208983-line-20">
     <rect x="0" y="489.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-21">
+<clipPath id="terminal-2357208983-line-21">
     <rect x="0" y="513.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-22">
+<clipPath id="terminal-2357208983-line-22">
     <rect x="0" y="538.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-23">
+<clipPath id="terminal-2357208983-line-23">
     <rect x="0" y="562.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2215953096-line-24">
+<clipPath id="terminal-2357208983-line-24">
     <rect x="0" y="587.1" width="976" height="24.65"/>
             </clipPath>
+<clipPath id="terminal-2357208983-line-25">
+    <rect x="0" y="611.5" width="976" height="24.65"/>
+            </clipPath>
+<clipPath id="terminal-2357208983-line-26">
+    <rect x="0" y="635.9" width="976" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="682.4" rx="8"/>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="731.2" rx="8"/>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-2215953096-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-2357208983-clip-terminal)">
     
-    <g class="terminal-2215953096-matrix">
-    <text class="terminal-2215953096-r1" x="0" y="20" textLength="317.2" clip-path="url(#terminal-2215953096-line-0)">$&#160;casanovo&#160;evaluate&#160;--help</text><text class="terminal-2215953096-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2215953096-line-0)">
-</text><text class="terminal-2215953096-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-1)">
-</text><text class="terminal-2215953096-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-2215953096-line-2)">Usage:</text><text class="terminal-2215953096-r3" x="97.6" y="68.8" textLength="207.4" clip-path="url(#terminal-2215953096-line-2)">casanovo&#160;evaluate</text><text class="terminal-2215953096-r1" x="305" y="68.8" textLength="24.4" clip-path="url(#terminal-2215953096-line-2)">&#160;[</text><text class="terminal-2215953096-r4" x="329.4" y="68.8" textLength="85.4" clip-path="url(#terminal-2215953096-line-2)">OPTIONS</text><text class="terminal-2215953096-r1" x="414.8" y="68.8" textLength="24.4" clip-path="url(#terminal-2215953096-line-2)">]&#160;</text><text class="terminal-2215953096-r4" x="439.2" y="68.8" textLength="231.8" clip-path="url(#terminal-2215953096-line-2)">ANNOTATED_PEAK_PATH</text><text class="terminal-2215953096-r1" x="671" y="68.8" textLength="305" clip-path="url(#terminal-2215953096-line-2)">...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-2)">
-</text><text class="terminal-2215953096-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-3)">
-</text><text class="terminal-2215953096-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-2215953096-line-4)">&#160;Evaluate&#160;de&#160;novo&#160;peptide&#160;sequencing&#160;performance.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-4)">
-</text><text class="terminal-2215953096-r1" x="0" y="142" textLength="976" clip-path="url(#terminal-2215953096-line-5)">&#160;ANNOTATED_PEAK_PATH&#160;must&#160;be&#160;one&#160;or&#160;more&#160;annoated&#160;MGF&#160;files,&#160;such&#160;as&#160;those&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2215953096-line-5)">
-</text><text class="terminal-2215953096-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-2215953096-line-6)">&#160;provided&#160;by&#160;MassIVE-KB.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-6)">
-</text><text class="terminal-2215953096-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-7)">
-</text><text class="terminal-2215953096-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-2215953096-line-8)">╭─</text><text class="terminal-2215953096-r5" x="24.4" y="215.2" textLength="134.2" clip-path="url(#terminal-2215953096-line-8)">&#160;Arguments&#160;</text><text class="terminal-2215953096-r5" x="158.6" y="215.2" textLength="793" clip-path="url(#terminal-2215953096-line-8)">─────────────────────────────────────────────────────────────────</text><text class="terminal-2215953096-r5" x="951.6" y="215.2" textLength="24.4" clip-path="url(#terminal-2215953096-line-8)">─╮</text><text class="terminal-2215953096-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-8)">
-</text><text class="terminal-2215953096-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-9)">│</text><text class="terminal-2215953096-r6" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-9)">*</text><text class="terminal-2215953096-r1" x="36.6" y="239.6" textLength="305" clip-path="url(#terminal-2215953096-line-9)">&#160;&#160;ANNOTATED_PEAK_PATH&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r7" x="341.6" y="239.6" textLength="48.8" clip-path="url(#terminal-2215953096-line-9)">FILE</text><text class="terminal-2215953096-r8" x="414.8" y="239.6" textLength="122" clip-path="url(#terminal-2215953096-line-9)">[required]</text><text class="terminal-2215953096-r5" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-9)">│</text><text class="terminal-2215953096-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-9)">
-</text><text class="terminal-2215953096-r5" x="0" y="264" textLength="976" clip-path="url(#terminal-2215953096-line-10)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2215953096-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2215953096-line-10)">
-</text><text class="terminal-2215953096-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-2215953096-line-11)">╭─</text><text class="terminal-2215953096-r5" x="24.4" y="288.4" textLength="109.8" clip-path="url(#terminal-2215953096-line-11)">&#160;Options&#160;</text><text class="terminal-2215953096-r5" x="134.2" y="288.4" textLength="817.4" clip-path="url(#terminal-2215953096-line-11)">───────────────────────────────────────────────────────────────────</text><text class="terminal-2215953096-r5" x="951.6" y="288.4" textLength="24.4" clip-path="url(#terminal-2215953096-line-11)">─╮</text><text class="terminal-2215953096-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-11)">
-</text><text class="terminal-2215953096-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-12)">│</text><text class="terminal-2215953096-r4" x="24.4" y="312.8" textLength="85.4" clip-path="url(#terminal-2215953096-line-12)">--model</text><text class="terminal-2215953096-r9" x="183" y="312.8" textLength="24.4" clip-path="url(#terminal-2215953096-line-12)">-m</text><text class="terminal-2215953096-r7" x="231.8" y="312.8" textLength="317.2" clip-path="url(#terminal-2215953096-line-12)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="549" y="312.8" textLength="414.8" clip-path="url(#terminal-2215953096-line-12)">&#160;&#160;The&#160;model&#160;weights&#160;(.ckpt&#160;file).&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-12)">│</text><text class="terminal-2215953096-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-12)">
-</text><text class="terminal-2215953096-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-13)">│</text><text class="terminal-2215953096-r1" x="12.2" y="337.2" textLength="951.6" clip-path="url(#terminal-2215953096-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;not&#160;provided,&#160;Casanovo&#160;will&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-13)">│</text><text class="terminal-2215953096-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-13)">
-</text><text class="terminal-2215953096-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-14)">│</text><text class="terminal-2215953096-r1" x="12.2" y="361.6" textLength="951.6" clip-path="url(#terminal-2215953096-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;to&#160;download&#160;the&#160;latest&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-14)">│</text><text class="terminal-2215953096-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-14)">
-</text><text class="terminal-2215953096-r5" x="0" y="386" textLength="12.2" clip-path="url(#terminal-2215953096-line-15)">│</text><text class="terminal-2215953096-r1" x="12.2" y="386" textLength="951.6" clip-path="url(#terminal-2215953096-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;release.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-2215953096-line-15)">│</text><text class="terminal-2215953096-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2215953096-line-15)">
-</text><text class="terminal-2215953096-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-16)">│</text><text class="terminal-2215953096-r4" x="24.4" y="410.4" textLength="97.6" clip-path="url(#terminal-2215953096-line-16)">--output</text><text class="terminal-2215953096-r9" x="183" y="410.4" textLength="24.4" clip-path="url(#terminal-2215953096-line-16)">-o</text><text class="terminal-2215953096-r7" x="231.8" y="410.4" textLength="317.2" clip-path="url(#terminal-2215953096-line-16)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="549" y="410.4" textLength="414.8" clip-path="url(#terminal-2215953096-line-16)">&#160;&#160;The&#160;mzTab&#160;file&#160;to&#160;which&#160;results&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-16)">│</text><text class="terminal-2215953096-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-16)">
-</text><text class="terminal-2215953096-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-17)">│</text><text class="terminal-2215953096-r1" x="12.2" y="434.8" textLength="951.6" clip-path="url(#terminal-2215953096-line-17)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;be&#160;written.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-17)">│</text><text class="terminal-2215953096-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-17)">
-</text><text class="terminal-2215953096-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-18)">│</text><text class="terminal-2215953096-r4" x="24.4" y="459.2" textLength="97.6" clip-path="url(#terminal-2215953096-line-18)">--config</text><text class="terminal-2215953096-r9" x="183" y="459.2" textLength="24.4" clip-path="url(#terminal-2215953096-line-18)">-c</text><text class="terminal-2215953096-r7" x="231.8" y="459.2" textLength="317.2" clip-path="url(#terminal-2215953096-line-18)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r1" x="549" y="459.2" textLength="414.8" clip-path="url(#terminal-2215953096-line-18)">&#160;&#160;The&#160;YAML&#160;configuration&#160;file&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-18)">│</text><text class="terminal-2215953096-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-18)">
-</text><text class="terminal-2215953096-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-19)">│</text><text class="terminal-2215953096-r1" x="12.2" y="483.6" textLength="951.6" clip-path="url(#terminal-2215953096-line-19)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;overriding&#160;the&#160;default&#160;options.&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-19)">│</text><text class="terminal-2215953096-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-19)">
-</text><text class="terminal-2215953096-r5" x="0" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">│</text><text class="terminal-2215953096-r4" x="24.4" y="508" textLength="134.2" clip-path="url(#terminal-2215953096-line-20)">--verbosity</text><text class="terminal-2215953096-r9" x="183" y="508" textLength="24.4" clip-path="url(#terminal-2215953096-line-20)">-v</text><text class="terminal-2215953096-r10" x="231.8" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">[</text><text class="terminal-2215953096-r7" x="244" y="508" textLength="61" clip-path="url(#terminal-2215953096-line-20)">debug</text><text class="terminal-2215953096-r10" x="305" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">|</text><text class="terminal-2215953096-r7" x="317.2" y="508" textLength="48.8" clip-path="url(#terminal-2215953096-line-20)">info</text><text class="terminal-2215953096-r10" x="366" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">|</text><text class="terminal-2215953096-r7" x="378.2" y="508" textLength="85.4" clip-path="url(#terminal-2215953096-line-20)">warning</text><text class="terminal-2215953096-r10" x="463.6" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">|</text><text class="terminal-2215953096-r7" x="475.8" y="508" textLength="61" clip-path="url(#terminal-2215953096-line-20)">error</text><text class="terminal-2215953096-r10" x="536.8" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">]</text><text class="terminal-2215953096-r1" x="549" y="508" textLength="414.8" clip-path="url(#terminal-2215953096-line-20)">&#160;&#160;Set&#160;the&#160;verbosity&#160;of&#160;console&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">│</text><text class="terminal-2215953096-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2215953096-line-20)">
-</text><text class="terminal-2215953096-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-21)">│</text><text class="terminal-2215953096-r1" x="12.2" y="532.4" textLength="951.6" clip-path="url(#terminal-2215953096-line-21)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;logging&#160;messages.&#160;Log&#160;files&#160;are&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-21)">│</text><text class="terminal-2215953096-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2215953096-line-21)">
-</text><text class="terminal-2215953096-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-22)">│</text><text class="terminal-2215953096-r1" x="12.2" y="556.8" textLength="951.6" clip-path="url(#terminal-2215953096-line-22)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always&#160;set&#160;to&#160;&#x27;debug&#x27;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-22)">│</text><text class="terminal-2215953096-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2215953096-line-22)">
-</text><text class="terminal-2215953096-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-23)">│</text><text class="terminal-2215953096-r4" x="24.4" y="581.2" textLength="73.2" clip-path="url(#terminal-2215953096-line-23)">--help</text><text class="terminal-2215953096-r9" x="183" y="581.2" textLength="24.4" clip-path="url(#terminal-2215953096-line-23)">-h</text><text class="terminal-2215953096-r1" x="549" y="581.2" textLength="414.8" clip-path="url(#terminal-2215953096-line-23)">&#160;&#160;Show&#160;this&#160;message&#160;and&#160;exit.&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2215953096-r5" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-23)">│</text><text class="terminal-2215953096-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2215953096-line-23)">
-</text><text class="terminal-2215953096-r5" x="0" y="605.6" textLength="976" clip-path="url(#terminal-2215953096-line-24)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2215953096-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2215953096-line-24)">
-</text><text class="terminal-2215953096-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2215953096-line-25)">
+    <g class="terminal-2357208983-matrix">
+    <text class="terminal-2357208983-r1" x="0" y="20" textLength="317.2" clip-path="url(#terminal-2357208983-line-0)">$&#160;casanovo&#160;evaluate&#160;--help</text><text class="terminal-2357208983-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2357208983-line-0)">
+</text><text class="terminal-2357208983-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-1)">
+</text><text class="terminal-2357208983-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-2357208983-line-2)">Usage:</text><text class="terminal-2357208983-r3" x="97.6" y="68.8" textLength="207.4" clip-path="url(#terminal-2357208983-line-2)">casanovo&#160;evaluate</text><text class="terminal-2357208983-r1" x="305" y="68.8" textLength="24.4" clip-path="url(#terminal-2357208983-line-2)">&#160;[</text><text class="terminal-2357208983-r4" x="329.4" y="68.8" textLength="85.4" clip-path="url(#terminal-2357208983-line-2)">OPTIONS</text><text class="terminal-2357208983-r1" x="414.8" y="68.8" textLength="24.4" clip-path="url(#terminal-2357208983-line-2)">]&#160;</text><text class="terminal-2357208983-r4" x="439.2" y="68.8" textLength="231.8" clip-path="url(#terminal-2357208983-line-2)">ANNOTATED_PEAK_PATH</text><text class="terminal-2357208983-r1" x="671" y="68.8" textLength="305" clip-path="url(#terminal-2357208983-line-2)">...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-2)">
+</text><text class="terminal-2357208983-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-3)">
+</text><text class="terminal-2357208983-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-2357208983-line-4)">&#160;Evaluate&#160;de&#160;novo&#160;peptide&#160;sequencing&#160;performance.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-4)">
+</text><text class="terminal-2357208983-r1" x="0" y="142" textLength="976" clip-path="url(#terminal-2357208983-line-5)">&#160;ANNOTATED_PEAK_PATH&#160;must&#160;be&#160;one&#160;or&#160;more&#160;annoated&#160;MGF&#160;files,&#160;such&#160;as&#160;those&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2357208983-line-5)">
+</text><text class="terminal-2357208983-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-2357208983-line-6)">&#160;provided&#160;by&#160;MassIVE-KB.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-6)">
+</text><text class="terminal-2357208983-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-7)">
+</text><text class="terminal-2357208983-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-2357208983-line-8)">╭─</text><text class="terminal-2357208983-r5" x="24.4" y="215.2" textLength="134.2" clip-path="url(#terminal-2357208983-line-8)">&#160;Arguments&#160;</text><text class="terminal-2357208983-r5" x="158.6" y="215.2" textLength="793" clip-path="url(#terminal-2357208983-line-8)">─────────────────────────────────────────────────────────────────</text><text class="terminal-2357208983-r5" x="951.6" y="215.2" textLength="24.4" clip-path="url(#terminal-2357208983-line-8)">─╮</text><text class="terminal-2357208983-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-8)">
+</text><text class="terminal-2357208983-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-9)">│</text><text class="terminal-2357208983-r6" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-9)">*</text><text class="terminal-2357208983-r1" x="36.6" y="239.6" textLength="305" clip-path="url(#terminal-2357208983-line-9)">&#160;&#160;ANNOTATED_PEAK_PATH&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r7" x="341.6" y="239.6" textLength="48.8" clip-path="url(#terminal-2357208983-line-9)">FILE</text><text class="terminal-2357208983-r8" x="414.8" y="239.6" textLength="122" clip-path="url(#terminal-2357208983-line-9)">[required]</text><text class="terminal-2357208983-r5" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-9)">│</text><text class="terminal-2357208983-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-9)">
+</text><text class="terminal-2357208983-r5" x="0" y="264" textLength="976" clip-path="url(#terminal-2357208983-line-10)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2357208983-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2357208983-line-10)">
+</text><text class="terminal-2357208983-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-2357208983-line-11)">╭─</text><text class="terminal-2357208983-r5" x="24.4" y="288.4" textLength="109.8" clip-path="url(#terminal-2357208983-line-11)">&#160;Options&#160;</text><text class="terminal-2357208983-r5" x="134.2" y="288.4" textLength="817.4" clip-path="url(#terminal-2357208983-line-11)">───────────────────────────────────────────────────────────────────</text><text class="terminal-2357208983-r5" x="951.6" y="288.4" textLength="24.4" clip-path="url(#terminal-2357208983-line-11)">─╮</text><text class="terminal-2357208983-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-11)">
+</text><text class="terminal-2357208983-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-12)">│</text><text class="terminal-2357208983-r4" x="24.4" y="312.8" textLength="85.4" clip-path="url(#terminal-2357208983-line-12)">--model</text><text class="terminal-2357208983-r9" x="183" y="312.8" textLength="24.4" clip-path="url(#terminal-2357208983-line-12)">-m</text><text class="terminal-2357208983-r7" x="231.8" y="312.8" textLength="317.2" clip-path="url(#terminal-2357208983-line-12)">TEXT&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="549" y="312.8" textLength="414.8" clip-path="url(#terminal-2357208983-line-12)">&#160;&#160;Either&#160;the&#160;model&#160;weights&#160;(.ckpt&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-12)">│</text><text class="terminal-2357208983-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-12)">
+</text><text class="terminal-2357208983-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-13)">│</text><text class="terminal-2357208983-r1" x="12.2" y="337.2" textLength="951.6" clip-path="url(#terminal-2357208983-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;file)&#160;or&#160;a&#160;URL&#160;pointing&#160;to&#160;the&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-13)">│</text><text class="terminal-2357208983-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-13)">
+</text><text class="terminal-2357208983-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-14)">│</text><text class="terminal-2357208983-r1" x="12.2" y="361.6" textLength="951.6" clip-path="url(#terminal-2357208983-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;model&#160;weights&#160;file.&#160;If&#160;not&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-14)">│</text><text class="terminal-2357208983-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-14)">
+</text><text class="terminal-2357208983-r5" x="0" y="386" textLength="12.2" clip-path="url(#terminal-2357208983-line-15)">│</text><text class="terminal-2357208983-r1" x="12.2" y="386" textLength="951.6" clip-path="url(#terminal-2357208983-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;provided,&#160;Casanovo&#160;will&#160;try&#160;to&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-2357208983-line-15)">│</text><text class="terminal-2357208983-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2357208983-line-15)">
+</text><text class="terminal-2357208983-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-16)">│</text><text class="terminal-2357208983-r1" x="12.2" y="410.4" textLength="951.6" clip-path="url(#terminal-2357208983-line-16)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;download&#160;the&#160;latest&#160;release&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-16)">│</text><text class="terminal-2357208983-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-16)">
+</text><text class="terminal-2357208983-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-17)">│</text><text class="terminal-2357208983-r1" x="12.2" y="434.8" textLength="951.6" clip-path="url(#terminal-2357208983-line-17)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;automatically.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-17)">│</text><text class="terminal-2357208983-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-17)">
+</text><text class="terminal-2357208983-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-18)">│</text><text class="terminal-2357208983-r4" x="24.4" y="459.2" textLength="97.6" clip-path="url(#terminal-2357208983-line-18)">--output</text><text class="terminal-2357208983-r9" x="183" y="459.2" textLength="24.4" clip-path="url(#terminal-2357208983-line-18)">-o</text><text class="terminal-2357208983-r7" x="231.8" y="459.2" textLength="317.2" clip-path="url(#terminal-2357208983-line-18)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="549" y="459.2" textLength="414.8" clip-path="url(#terminal-2357208983-line-18)">&#160;&#160;The&#160;mzTab&#160;file&#160;to&#160;which&#160;results&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-18)">│</text><text class="terminal-2357208983-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-18)">
+</text><text class="terminal-2357208983-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-19)">│</text><text class="terminal-2357208983-r1" x="12.2" y="483.6" textLength="951.6" clip-path="url(#terminal-2357208983-line-19)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;be&#160;written.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-19)">│</text><text class="terminal-2357208983-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-19)">
+</text><text class="terminal-2357208983-r5" x="0" y="508" textLength="12.2" clip-path="url(#terminal-2357208983-line-20)">│</text><text class="terminal-2357208983-r4" x="24.4" y="508" textLength="97.6" clip-path="url(#terminal-2357208983-line-20)">--config</text><text class="terminal-2357208983-r9" x="183" y="508" textLength="24.4" clip-path="url(#terminal-2357208983-line-20)">-c</text><text class="terminal-2357208983-r7" x="231.8" y="508" textLength="317.2" clip-path="url(#terminal-2357208983-line-20)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r1" x="549" y="508" textLength="414.8" clip-path="url(#terminal-2357208983-line-20)">&#160;&#160;The&#160;YAML&#160;configuration&#160;file&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-2357208983-line-20)">│</text><text class="terminal-2357208983-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2357208983-line-20)">
+</text><text class="terminal-2357208983-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-21)">│</text><text class="terminal-2357208983-r1" x="12.2" y="532.4" textLength="951.6" clip-path="url(#terminal-2357208983-line-21)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;overriding&#160;the&#160;default&#160;options.&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-21)">│</text><text class="terminal-2357208983-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-21)">
+</text><text class="terminal-2357208983-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">│</text><text class="terminal-2357208983-r4" x="24.4" y="556.8" textLength="134.2" clip-path="url(#terminal-2357208983-line-22)">--verbosity</text><text class="terminal-2357208983-r9" x="183" y="556.8" textLength="24.4" clip-path="url(#terminal-2357208983-line-22)">-v</text><text class="terminal-2357208983-r10" x="231.8" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">[</text><text class="terminal-2357208983-r7" x="244" y="556.8" textLength="61" clip-path="url(#terminal-2357208983-line-22)">debug</text><text class="terminal-2357208983-r10" x="305" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">|</text><text class="terminal-2357208983-r7" x="317.2" y="556.8" textLength="48.8" clip-path="url(#terminal-2357208983-line-22)">info</text><text class="terminal-2357208983-r10" x="366" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">|</text><text class="terminal-2357208983-r7" x="378.2" y="556.8" textLength="85.4" clip-path="url(#terminal-2357208983-line-22)">warning</text><text class="terminal-2357208983-r10" x="463.6" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">|</text><text class="terminal-2357208983-r7" x="475.8" y="556.8" textLength="61" clip-path="url(#terminal-2357208983-line-22)">error</text><text class="terminal-2357208983-r10" x="536.8" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">]</text><text class="terminal-2357208983-r1" x="549" y="556.8" textLength="414.8" clip-path="url(#terminal-2357208983-line-22)">&#160;&#160;Set&#160;the&#160;verbosity&#160;of&#160;console&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">│</text><text class="terminal-2357208983-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-22)">
+</text><text class="terminal-2357208983-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-23)">│</text><text class="terminal-2357208983-r1" x="12.2" y="581.2" textLength="951.6" clip-path="url(#terminal-2357208983-line-23)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;logging&#160;messages.&#160;Log&#160;files&#160;are&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-23)">│</text><text class="terminal-2357208983-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2357208983-line-23)">
+</text><text class="terminal-2357208983-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-24)">│</text><text class="terminal-2357208983-r1" x="12.2" y="605.6" textLength="951.6" clip-path="url(#terminal-2357208983-line-24)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always&#160;set&#160;to&#160;&#x27;debug&#x27;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="605.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-24)">│</text><text class="terminal-2357208983-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2357208983-line-24)">
+</text><text class="terminal-2357208983-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-2357208983-line-25)">│</text><text class="terminal-2357208983-r4" x="24.4" y="630" textLength="73.2" clip-path="url(#terminal-2357208983-line-25)">--help</text><text class="terminal-2357208983-r9" x="183" y="630" textLength="24.4" clip-path="url(#terminal-2357208983-line-25)">-h</text><text class="terminal-2357208983-r1" x="549" y="630" textLength="414.8" clip-path="url(#terminal-2357208983-line-25)">&#160;&#160;Show&#160;this&#160;message&#160;and&#160;exit.&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2357208983-r5" x="963.8" y="630" textLength="12.2" clip-path="url(#terminal-2357208983-line-25)">│</text><text class="terminal-2357208983-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2357208983-line-25)">
+</text><text class="terminal-2357208983-r5" x="0" y="654.4" textLength="976" clip-path="url(#terminal-2357208983-line-26)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2357208983-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-2357208983-line-26)">
+</text><text class="terminal-2357208983-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-2357208983-line-27)">
 </text>
     </g>
     </g>
diff --git a/docs/images/help.svg b/docs/images/help.svg
index 80d63c7e..baf2e237 100644
--- a/docs/images/help.svg
+++ b/docs/images/help.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 994 904.0" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 994 74.4" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -19,181 +19,40 @@
         font-weight: 700;
     }
 
-    .terminal-2130014152-matrix {
+    .terminal-577310064-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-2130014152-title {
+    .terminal-577310064-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-2130014152-r1 { fill: #c5c8c6 }
-.terminal-2130014152-r2 { fill: #d0b344 }
-.terminal-2130014152-r3 { fill: #c5c8c6;font-weight: bold }
-.terminal-2130014152-r4 { fill: #68a0b3;font-weight: bold }
-.terminal-2130014152-r5 { fill: #d0b344;font-weight: bold }
-.terminal-2130014152-r6 { fill: #868887 }
-.terminal-2130014152-r7 { fill: #98a84b;font-weight: bold }
+    .terminal-577310064-r1 { fill: #c5c8c6 }
     </style>
 
     <defs>
-    <clipPath id="terminal-2130014152-clip-terminal">
-      <rect x="0" y="0" width="975.0" height="853.0" />
+    <clipPath id="terminal-577310064-clip-terminal">
+      <rect x="0" y="0" width="975.0" height="23.4" />
     </clipPath>
-    <clipPath id="terminal-2130014152-line-0">
-    <rect x="0" y="1.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-1">
-    <rect x="0" y="25.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-2">
-    <rect x="0" y="50.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-3">
-    <rect x="0" y="74.7" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-4">
-    <rect x="0" y="99.1" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-5">
-    <rect x="0" y="123.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-6">
-    <rect x="0" y="147.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-7">
-    <rect x="0" y="172.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-8">
-    <rect x="0" y="196.7" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-9">
-    <rect x="0" y="221.1" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-10">
-    <rect x="0" y="245.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-11">
-    <rect x="0" y="269.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-12">
-    <rect x="0" y="294.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-13">
-    <rect x="0" y="318.7" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-14">
-    <rect x="0" y="343.1" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-15">
-    <rect x="0" y="367.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-16">
-    <rect x="0" y="391.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-17">
-    <rect x="0" y="416.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-18">
-    <rect x="0" y="440.7" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-19">
-    <rect x="0" y="465.1" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-20">
-    <rect x="0" y="489.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-21">
-    <rect x="0" y="513.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-22">
-    <rect x="0" y="538.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-23">
-    <rect x="0" y="562.7" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-24">
-    <rect x="0" y="587.1" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-25">
-    <rect x="0" y="611.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-26">
-    <rect x="0" y="635.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-27">
-    <rect x="0" y="660.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-28">
-    <rect x="0" y="684.7" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-29">
-    <rect x="0" y="709.1" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-30">
-    <rect x="0" y="733.5" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-31">
-    <rect x="0" y="757.9" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-32">
-    <rect x="0" y="782.3" width="976" height="24.65"/>
-            </clipPath>
-<clipPath id="terminal-2130014152-line-33">
-    <rect x="0" y="806.7" width="976" height="24.65"/>
-            </clipPath>
+    
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="902" rx="8"/>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="72.4" rx="8"/>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-2130014152-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-577310064-clip-terminal)">
     
-    <g class="terminal-2130014152-matrix">
-    <text class="terminal-2130014152-r1" x="0" y="20" textLength="207.4" clip-path="url(#terminal-2130014152-line-0)">$&#160;casanovo&#160;--help</text><text class="terminal-2130014152-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2130014152-line-0)">
-</text><text class="terminal-2130014152-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-1)">
-</text><text class="terminal-2130014152-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-2130014152-line-2)">Usage:</text><text class="terminal-2130014152-r3" x="97.6" y="68.8" textLength="97.6" clip-path="url(#terminal-2130014152-line-2)">casanovo</text><text class="terminal-2130014152-r1" x="195.2" y="68.8" textLength="24.4" clip-path="url(#terminal-2130014152-line-2)">&#160;[</text><text class="terminal-2130014152-r4" x="219.6" y="68.8" textLength="85.4" clip-path="url(#terminal-2130014152-line-2)">OPTIONS</text><text class="terminal-2130014152-r1" x="305" y="68.8" textLength="24.4" clip-path="url(#terminal-2130014152-line-2)">]&#160;</text><text class="terminal-2130014152-r4" x="329.4" y="68.8" textLength="85.4" clip-path="url(#terminal-2130014152-line-2)">COMMAND</text><text class="terminal-2130014152-r1" x="414.8" y="68.8" textLength="24.4" clip-path="url(#terminal-2130014152-line-2)">&#160;[</text><text class="terminal-2130014152-r4" x="439.2" y="68.8" textLength="48.8" clip-path="url(#terminal-2130014152-line-2)">ARGS</text><text class="terminal-2130014152-r1" x="488" y="68.8" textLength="488" clip-path="url(#terminal-2130014152-line-2)">]...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-2)">
-</text><text class="terminal-2130014152-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-3)">
-</text><text class="terminal-2130014152-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-2130014152-line-4)">&#160;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓&#160;</text><text class="terminal-2130014152-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-4)">
-</text><text class="terminal-2130014152-r1" x="0" y="142" textLength="439.2" clip-path="url(#terminal-2130014152-line-5)">&#160;┃&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r3" x="439.2" y="142" textLength="97.6" clip-path="url(#terminal-2130014152-line-5)">Casanovo</text><text class="terminal-2130014152-r1" x="536.8" y="142" textLength="439.2" clip-path="url(#terminal-2130014152-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;┃&#160;</text><text class="terminal-2130014152-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2130014152-line-5)">
-</text><text class="terminal-2130014152-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-2130014152-line-6)">&#160;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛&#160;</text><text class="terminal-2130014152-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-6)">
-</text><text class="terminal-2130014152-r1" x="0" y="190.8" textLength="976" clip-path="url(#terminal-2130014152-line-7)">&#160;Casanovo&#160;de&#160;novo&#160;sequences&#160;peptides&#160;from&#160;tandem&#160;mass&#160;spectra&#160;using&#160;a&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-7)">
-</text><text class="terminal-2130014152-r1" x="0" y="215.2" textLength="976" clip-path="url(#terminal-2130014152-line-8)">&#160;Transformer&#160;model.&#160;Casanovo&#160;currently&#160;supports&#160;mzML,&#160;mzXML,&#160;and&#160;MGF&#160;files&#160;for&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-8)">
-</text><text class="terminal-2130014152-r1" x="0" y="239.6" textLength="976" clip-path="url(#terminal-2130014152-line-9)">&#160;de&#160;novo&#160;sequencing&#160;and&#160;annotated&#160;MGF&#160;files,&#160;such&#160;as&#160;those&#160;from&#160;MassIVE-KB,&#160;for&#160;</text><text class="terminal-2130014152-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-9)">
-</text><text class="terminal-2130014152-r1" x="0" y="264" textLength="976" clip-path="url(#terminal-2130014152-line-10)">&#160;training&#160;new&#160;models.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2130014152-line-10)">
-</text><text class="terminal-2130014152-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-11)">
-</text><text class="terminal-2130014152-r1" x="0" y="312.8" textLength="976" clip-path="url(#terminal-2130014152-line-12)">&#160;Links:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-12)">
-</text><text class="terminal-2130014152-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-13)">
-</text><text class="terminal-2130014152-r5" x="12.2" y="361.6" textLength="36.6" clip-path="url(#terminal-2130014152-line-14)">&#160;•&#160;</text><text class="terminal-2130014152-r1" x="48.8" y="361.6" textLength="927.2" clip-path="url(#terminal-2130014152-line-14)">Documentation:&#160;https://casanovo.readthedocs.io&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-14)">
-</text><text class="terminal-2130014152-r5" x="12.2" y="386" textLength="36.6" clip-path="url(#terminal-2130014152-line-15)">&#160;•&#160;</text><text class="terminal-2130014152-r1" x="48.8" y="386" textLength="927.2" clip-path="url(#terminal-2130014152-line-15)">Official&#160;code&#160;repository:&#160;https://github.com/Noble-Lab/casanovo&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2130014152-line-15)">
-</text><text class="terminal-2130014152-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-16)">
-</text><text class="terminal-2130014152-r1" x="0" y="434.8" textLength="976" clip-path="url(#terminal-2130014152-line-17)">&#160;If&#160;you&#160;use&#160;Casanovo&#160;in&#160;your&#160;work,&#160;please&#160;cite:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-17)">
-</text><text class="terminal-2130014152-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-18)">
-</text><text class="terminal-2130014152-r5" x="12.2" y="483.6" textLength="36.6" clip-path="url(#terminal-2130014152-line-19)">&#160;•&#160;</text><text class="terminal-2130014152-r1" x="48.8" y="483.6" textLength="927.2" clip-path="url(#terminal-2130014152-line-19)">Yilmaz,&#160;M.,&#160;Fondrie,&#160;W.&#160;E.,&#160;Bittremieux,&#160;W.,&#160;Oh,&#160;S.&#160;&amp;&#160;Noble,&#160;W.&#160;S.&#160;De&#160;novo&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-19)">
-</text><text class="terminal-2130014152-r1" x="48.8" y="508" textLength="927.2" clip-path="url(#terminal-2130014152-line-20)">mass&#160;spectrometry&#160;peptide&#160;sequencing&#160;with&#160;a&#160;transformer&#160;model.&#160;Proceedings&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2130014152-line-20)">
-</text><text class="terminal-2130014152-r1" x="48.8" y="532.4" textLength="927.2" clip-path="url(#terminal-2130014152-line-21)">of&#160;the&#160;39th&#160;International&#160;Conference&#160;on&#160;Machine&#160;Learning&#160;-&#160;ICML&#160;&#x27;22&#160;(2022)&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-21)">
-</text><text class="terminal-2130014152-r1" x="48.8" y="556.8" textLength="927.2" clip-path="url(#terminal-2130014152-line-22)">doi:10.1101/2022.02.07.479481.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-22)">
-</text><text class="terminal-2130014152-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-23)">
-</text><text class="terminal-2130014152-r6" x="0" y="605.6" textLength="24.4" clip-path="url(#terminal-2130014152-line-24)">╭─</text><text class="terminal-2130014152-r6" x="24.4" y="605.6" textLength="109.8" clip-path="url(#terminal-2130014152-line-24)">&#160;Options&#160;</text><text class="terminal-2130014152-r6" x="134.2" y="605.6" textLength="817.4" clip-path="url(#terminal-2130014152-line-24)">───────────────────────────────────────────────────────────────────</text><text class="terminal-2130014152-r6" x="951.6" y="605.6" textLength="24.4" clip-path="url(#terminal-2130014152-line-24)">─╮</text><text class="terminal-2130014152-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-24)">
-</text><text class="terminal-2130014152-r6" x="0" y="630" textLength="12.2" clip-path="url(#terminal-2130014152-line-25)">│</text><text class="terminal-2130014152-r4" x="24.4" y="630" textLength="73.2" clip-path="url(#terminal-2130014152-line-25)">--help</text><text class="terminal-2130014152-r7" x="122" y="630" textLength="24.4" clip-path="url(#terminal-2130014152-line-25)">-h</text><text class="terminal-2130014152-r1" x="146.4" y="630" textLength="817.4" clip-path="url(#terminal-2130014152-line-25)">&#160;&#160;&#160;&#160;Show&#160;this&#160;message&#160;and&#160;exit.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r6" x="963.8" y="630" textLength="12.2" clip-path="url(#terminal-2130014152-line-25)">│</text><text class="terminal-2130014152-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2130014152-line-25)">
-</text><text class="terminal-2130014152-r6" x="0" y="654.4" textLength="976" clip-path="url(#terminal-2130014152-line-26)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2130014152-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-26)">
-</text><text class="terminal-2130014152-r6" x="0" y="678.8" textLength="24.4" clip-path="url(#terminal-2130014152-line-27)">╭─</text><text class="terminal-2130014152-r6" x="24.4" y="678.8" textLength="122" clip-path="url(#terminal-2130014152-line-27)">&#160;Commands&#160;</text><text class="terminal-2130014152-r6" x="146.4" y="678.8" textLength="805.2" clip-path="url(#terminal-2130014152-line-27)">──────────────────────────────────────────────────────────────────</text><text class="terminal-2130014152-r6" x="951.6" y="678.8" textLength="24.4" clip-path="url(#terminal-2130014152-line-27)">─╮</text><text class="terminal-2130014152-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-27)">
-</text><text class="terminal-2130014152-r6" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-28)">│</text><text class="terminal-2130014152-r4" x="24.4" y="703.2" textLength="109.8" clip-path="url(#terminal-2130014152-line-28)">configure</text><text class="terminal-2130014152-r1" x="146.4" y="703.2" textLength="817.4" clip-path="url(#terminal-2130014152-line-28)">&#160;Generate&#160;a&#160;Casanovo&#160;configuration&#160;file&#160;to&#160;customize.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r6" x="963.8" y="703.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-28)">│</text><text class="terminal-2130014152-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-28)">
-</text><text class="terminal-2130014152-r6" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-29)">│</text><text class="terminal-2130014152-r4" x="24.4" y="727.6" textLength="109.8" clip-path="url(#terminal-2130014152-line-29)">evaluate&#160;</text><text class="terminal-2130014152-r1" x="146.4" y="727.6" textLength="817.4" clip-path="url(#terminal-2130014152-line-29)">&#160;Evaluate&#160;de&#160;novo&#160;peptide&#160;sequencing&#160;performance.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r6" x="963.8" y="727.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-29)">│</text><text class="terminal-2130014152-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-29)">
-</text><text class="terminal-2130014152-r6" x="0" y="752" textLength="12.2" clip-path="url(#terminal-2130014152-line-30)">│</text><text class="terminal-2130014152-r4" x="24.4" y="752" textLength="109.8" clip-path="url(#terminal-2130014152-line-30)">sequence&#160;</text><text class="terminal-2130014152-r1" x="146.4" y="752" textLength="817.4" clip-path="url(#terminal-2130014152-line-30)">&#160;De&#160;novo&#160;sequence&#160;peptides&#160;from&#160;tandem&#160;mass&#160;spectra.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r6" x="963.8" y="752" textLength="12.2" clip-path="url(#terminal-2130014152-line-30)">│</text><text class="terminal-2130014152-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-2130014152-line-30)">
-</text><text class="terminal-2130014152-r6" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-31)">│</text><text class="terminal-2130014152-r4" x="24.4" y="776.4" textLength="109.8" clip-path="url(#terminal-2130014152-line-31)">train&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r1" x="146.4" y="776.4" textLength="817.4" clip-path="url(#terminal-2130014152-line-31)">&#160;Train&#160;a&#160;Casanovo&#160;model&#160;on&#160;your&#160;own&#160;data.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r6" x="963.8" y="776.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-31)">│</text><text class="terminal-2130014152-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-2130014152-line-31)">
-</text><text class="terminal-2130014152-r6" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-32)">│</text><text class="terminal-2130014152-r4" x="24.4" y="800.8" textLength="109.8" clip-path="url(#terminal-2130014152-line-32)">version&#160;&#160;</text><text class="terminal-2130014152-r1" x="146.4" y="800.8" textLength="817.4" clip-path="url(#terminal-2130014152-line-32)">&#160;Get&#160;the&#160;Casanovo&#160;version&#160;information&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2130014152-r6" x="963.8" y="800.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-32)">│</text><text class="terminal-2130014152-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-2130014152-line-32)">
-</text><text class="terminal-2130014152-r6" x="0" y="825.2" textLength="976" clip-path="url(#terminal-2130014152-line-33)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2130014152-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-2130014152-line-33)">
-</text><text class="terminal-2130014152-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-2130014152-line-34)">
+    <g class="terminal-577310064-matrix">
+    <text class="terminal-577310064-r1" x="0" y="20" textLength="207.4" clip-path="url(#terminal-577310064-line-0)">$&#160;casanovo&#160;--help</text><text class="terminal-577310064-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-577310064-line-0)">
 </text>
     </g>
     </g>
diff --git a/docs/images/sequence-help.svg b/docs/images/sequence-help.svg
index 6635cfaa..5e75dfe4 100644
--- a/docs/images/sequence-help.svg
+++ b/docs/images/sequence-help.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 994 684.4" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 994 733.1999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -19,148 +19,156 @@
         font-weight: 700;
     }
 
-    .terminal-2906046081-matrix {
+    .terminal-3981583184-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-2906046081-title {
+    .terminal-3981583184-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-2906046081-r1 { fill: #c5c8c6 }
-.terminal-2906046081-r2 { fill: #d0b344 }
-.terminal-2906046081-r3 { fill: #c5c8c6;font-weight: bold }
-.terminal-2906046081-r4 { fill: #68a0b3;font-weight: bold }
-.terminal-2906046081-r5 { fill: #868887 }
-.terminal-2906046081-r6 { fill: #cc555a }
-.terminal-2906046081-r7 { fill: #d0b344;font-weight: bold }
-.terminal-2906046081-r8 { fill: #8a4346 }
-.terminal-2906046081-r9 { fill: #98a84b;font-weight: bold }
-.terminal-2906046081-r10 { fill: #8d7b39;font-weight: bold }
+    .terminal-3981583184-r1 { fill: #c5c8c6 }
+.terminal-3981583184-r2 { fill: #d0b344 }
+.terminal-3981583184-r3 { fill: #c5c8c6;font-weight: bold }
+.terminal-3981583184-r4 { fill: #68a0b3;font-weight: bold }
+.terminal-3981583184-r5 { fill: #868887 }
+.terminal-3981583184-r6 { fill: #cc555a }
+.terminal-3981583184-r7 { fill: #d0b344;font-weight: bold }
+.terminal-3981583184-r8 { fill: #8a4346 }
+.terminal-3981583184-r9 { fill: #98a84b;font-weight: bold }
+.terminal-3981583184-r10 { fill: #8d7b39;font-weight: bold }
     </style>
 
     <defs>
-    <clipPath id="terminal-2906046081-clip-terminal">
-      <rect x="0" y="0" width="975.0" height="633.4" />
+    <clipPath id="terminal-3981583184-clip-terminal">
+      <rect x="0" y="0" width="975.0" height="682.1999999999999" />
     </clipPath>
-    <clipPath id="terminal-2906046081-line-0">
+    <clipPath id="terminal-3981583184-line-0">
     <rect x="0" y="1.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-1">
+<clipPath id="terminal-3981583184-line-1">
     <rect x="0" y="25.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-2">
+<clipPath id="terminal-3981583184-line-2">
     <rect x="0" y="50.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-3">
+<clipPath id="terminal-3981583184-line-3">
     <rect x="0" y="74.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-4">
+<clipPath id="terminal-3981583184-line-4">
     <rect x="0" y="99.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-5">
+<clipPath id="terminal-3981583184-line-5">
     <rect x="0" y="123.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-6">
+<clipPath id="terminal-3981583184-line-6">
     <rect x="0" y="147.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-7">
+<clipPath id="terminal-3981583184-line-7">
     <rect x="0" y="172.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-8">
+<clipPath id="terminal-3981583184-line-8">
     <rect x="0" y="196.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-9">
+<clipPath id="terminal-3981583184-line-9">
     <rect x="0" y="221.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-10">
+<clipPath id="terminal-3981583184-line-10">
     <rect x="0" y="245.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-11">
+<clipPath id="terminal-3981583184-line-11">
     <rect x="0" y="269.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-12">
+<clipPath id="terminal-3981583184-line-12">
     <rect x="0" y="294.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-13">
+<clipPath id="terminal-3981583184-line-13">
     <rect x="0" y="318.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-14">
+<clipPath id="terminal-3981583184-line-14">
     <rect x="0" y="343.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-15">
+<clipPath id="terminal-3981583184-line-15">
     <rect x="0" y="367.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-16">
+<clipPath id="terminal-3981583184-line-16">
     <rect x="0" y="391.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-17">
+<clipPath id="terminal-3981583184-line-17">
     <rect x="0" y="416.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-18">
+<clipPath id="terminal-3981583184-line-18">
     <rect x="0" y="440.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-19">
+<clipPath id="terminal-3981583184-line-19">
     <rect x="0" y="465.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-20">
+<clipPath id="terminal-3981583184-line-20">
     <rect x="0" y="489.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-21">
+<clipPath id="terminal-3981583184-line-21">
     <rect x="0" y="513.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-22">
+<clipPath id="terminal-3981583184-line-22">
     <rect x="0" y="538.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-23">
+<clipPath id="terminal-3981583184-line-23">
     <rect x="0" y="562.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2906046081-line-24">
+<clipPath id="terminal-3981583184-line-24">
     <rect x="0" y="587.1" width="976" height="24.65"/>
             </clipPath>
+<clipPath id="terminal-3981583184-line-25">
+    <rect x="0" y="611.5" width="976" height="24.65"/>
+            </clipPath>
+<clipPath id="terminal-3981583184-line-26">
+    <rect x="0" y="635.9" width="976" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="682.4" rx="8"/>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="731.2" rx="8"/>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-2906046081-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-3981583184-clip-terminal)">
     
-    <g class="terminal-2906046081-matrix">
-    <text class="terminal-2906046081-r1" x="0" y="20" textLength="317.2" clip-path="url(#terminal-2906046081-line-0)">$&#160;casanovo&#160;sequence&#160;--help</text><text class="terminal-2906046081-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2906046081-line-0)">
-</text><text class="terminal-2906046081-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-1)">
-</text><text class="terminal-2906046081-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-2906046081-line-2)">Usage:</text><text class="terminal-2906046081-r3" x="97.6" y="68.8" textLength="207.4" clip-path="url(#terminal-2906046081-line-2)">casanovo&#160;sequence</text><text class="terminal-2906046081-r1" x="305" y="68.8" textLength="24.4" clip-path="url(#terminal-2906046081-line-2)">&#160;[</text><text class="terminal-2906046081-r4" x="329.4" y="68.8" textLength="85.4" clip-path="url(#terminal-2906046081-line-2)">OPTIONS</text><text class="terminal-2906046081-r1" x="414.8" y="68.8" textLength="24.4" clip-path="url(#terminal-2906046081-line-2)">]&#160;</text><text class="terminal-2906046081-r4" x="439.2" y="68.8" textLength="109.8" clip-path="url(#terminal-2906046081-line-2)">PEAK_PATH</text><text class="terminal-2906046081-r1" x="549" y="68.8" textLength="427" clip-path="url(#terminal-2906046081-line-2)">...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-2)">
-</text><text class="terminal-2906046081-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-3)">
-</text><text class="terminal-2906046081-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-2906046081-line-4)">&#160;De&#160;novo&#160;sequence&#160;peptides&#160;from&#160;tandem&#160;mass&#160;spectra.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-4)">
-</text><text class="terminal-2906046081-r1" x="0" y="142" textLength="976" clip-path="url(#terminal-2906046081-line-5)">&#160;PEAK_PATH&#160;must&#160;be&#160;one&#160;or&#160;more&#160;mzMl,&#160;mzXML,&#160;or&#160;MGF&#160;files&#160;from&#160;which&#160;to&#160;sequence&#160;</text><text class="terminal-2906046081-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2906046081-line-5)">
-</text><text class="terminal-2906046081-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-2906046081-line-6)">&#160;peptides.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-6)">
-</text><text class="terminal-2906046081-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-7)">
-</text><text class="terminal-2906046081-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-2906046081-line-8)">╭─</text><text class="terminal-2906046081-r5" x="24.4" y="215.2" textLength="134.2" clip-path="url(#terminal-2906046081-line-8)">&#160;Arguments&#160;</text><text class="terminal-2906046081-r5" x="158.6" y="215.2" textLength="793" clip-path="url(#terminal-2906046081-line-8)">─────────────────────────────────────────────────────────────────</text><text class="terminal-2906046081-r5" x="951.6" y="215.2" textLength="24.4" clip-path="url(#terminal-2906046081-line-8)">─╮</text><text class="terminal-2906046081-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-8)">
-</text><text class="terminal-2906046081-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-9)">│</text><text class="terminal-2906046081-r6" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-9)">*</text><text class="terminal-2906046081-r1" x="36.6" y="239.6" textLength="183" clip-path="url(#terminal-2906046081-line-9)">&#160;&#160;PEAK_PATH&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r7" x="219.6" y="239.6" textLength="48.8" clip-path="url(#terminal-2906046081-line-9)">FILE</text><text class="terminal-2906046081-r8" x="292.8" y="239.6" textLength="122" clip-path="url(#terminal-2906046081-line-9)">[required]</text><text class="terminal-2906046081-r5" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-9)">│</text><text class="terminal-2906046081-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-9)">
-</text><text class="terminal-2906046081-r5" x="0" y="264" textLength="976" clip-path="url(#terminal-2906046081-line-10)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2906046081-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2906046081-line-10)">
-</text><text class="terminal-2906046081-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-2906046081-line-11)">╭─</text><text class="terminal-2906046081-r5" x="24.4" y="288.4" textLength="109.8" clip-path="url(#terminal-2906046081-line-11)">&#160;Options&#160;</text><text class="terminal-2906046081-r5" x="134.2" y="288.4" textLength="817.4" clip-path="url(#terminal-2906046081-line-11)">───────────────────────────────────────────────────────────────────</text><text class="terminal-2906046081-r5" x="951.6" y="288.4" textLength="24.4" clip-path="url(#terminal-2906046081-line-11)">─╮</text><text class="terminal-2906046081-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-11)">
-</text><text class="terminal-2906046081-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-12)">│</text><text class="terminal-2906046081-r4" x="24.4" y="312.8" textLength="85.4" clip-path="url(#terminal-2906046081-line-12)">--model</text><text class="terminal-2906046081-r9" x="183" y="312.8" textLength="24.4" clip-path="url(#terminal-2906046081-line-12)">-m</text><text class="terminal-2906046081-r7" x="231.8" y="312.8" textLength="317.2" clip-path="url(#terminal-2906046081-line-12)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r1" x="549" y="312.8" textLength="414.8" clip-path="url(#terminal-2906046081-line-12)">&#160;&#160;The&#160;model&#160;weights&#160;(.ckpt&#160;file).&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-12)">│</text><text class="terminal-2906046081-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-12)">
-</text><text class="terminal-2906046081-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-13)">│</text><text class="terminal-2906046081-r1" x="12.2" y="337.2" textLength="951.6" clip-path="url(#terminal-2906046081-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;not&#160;provided,&#160;Casanovo&#160;will&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-13)">│</text><text class="terminal-2906046081-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-13)">
-</text><text class="terminal-2906046081-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-14)">│</text><text class="terminal-2906046081-r1" x="12.2" y="361.6" textLength="951.6" clip-path="url(#terminal-2906046081-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;to&#160;download&#160;the&#160;latest&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-14)">│</text><text class="terminal-2906046081-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-14)">
-</text><text class="terminal-2906046081-r5" x="0" y="386" textLength="12.2" clip-path="url(#terminal-2906046081-line-15)">│</text><text class="terminal-2906046081-r1" x="12.2" y="386" textLength="951.6" clip-path="url(#terminal-2906046081-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;release.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-2906046081-line-15)">│</text><text class="terminal-2906046081-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2906046081-line-15)">
-</text><text class="terminal-2906046081-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-16)">│</text><text class="terminal-2906046081-r4" x="24.4" y="410.4" textLength="97.6" clip-path="url(#terminal-2906046081-line-16)">--output</text><text class="terminal-2906046081-r9" x="183" y="410.4" textLength="24.4" clip-path="url(#terminal-2906046081-line-16)">-o</text><text class="terminal-2906046081-r7" x="231.8" y="410.4" textLength="317.2" clip-path="url(#terminal-2906046081-line-16)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r1" x="549" y="410.4" textLength="414.8" clip-path="url(#terminal-2906046081-line-16)">&#160;&#160;The&#160;mzTab&#160;file&#160;to&#160;which&#160;results&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-16)">│</text><text class="terminal-2906046081-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-16)">
-</text><text class="terminal-2906046081-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-17)">│</text><text class="terminal-2906046081-r1" x="12.2" y="434.8" textLength="951.6" clip-path="url(#terminal-2906046081-line-17)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;be&#160;written.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-17)">│</text><text class="terminal-2906046081-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-17)">
-</text><text class="terminal-2906046081-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-18)">│</text><text class="terminal-2906046081-r4" x="24.4" y="459.2" textLength="97.6" clip-path="url(#terminal-2906046081-line-18)">--config</text><text class="terminal-2906046081-r9" x="183" y="459.2" textLength="24.4" clip-path="url(#terminal-2906046081-line-18)">-c</text><text class="terminal-2906046081-r7" x="231.8" y="459.2" textLength="317.2" clip-path="url(#terminal-2906046081-line-18)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r1" x="549" y="459.2" textLength="414.8" clip-path="url(#terminal-2906046081-line-18)">&#160;&#160;The&#160;YAML&#160;configuration&#160;file&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-18)">│</text><text class="terminal-2906046081-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-18)">
-</text><text class="terminal-2906046081-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-19)">│</text><text class="terminal-2906046081-r1" x="12.2" y="483.6" textLength="951.6" clip-path="url(#terminal-2906046081-line-19)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;overriding&#160;the&#160;default&#160;options.&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-19)">│</text><text class="terminal-2906046081-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-19)">
-</text><text class="terminal-2906046081-r5" x="0" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">│</text><text class="terminal-2906046081-r4" x="24.4" y="508" textLength="134.2" clip-path="url(#terminal-2906046081-line-20)">--verbosity</text><text class="terminal-2906046081-r9" x="183" y="508" textLength="24.4" clip-path="url(#terminal-2906046081-line-20)">-v</text><text class="terminal-2906046081-r10" x="231.8" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">[</text><text class="terminal-2906046081-r7" x="244" y="508" textLength="61" clip-path="url(#terminal-2906046081-line-20)">debug</text><text class="terminal-2906046081-r10" x="305" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">|</text><text class="terminal-2906046081-r7" x="317.2" y="508" textLength="48.8" clip-path="url(#terminal-2906046081-line-20)">info</text><text class="terminal-2906046081-r10" x="366" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">|</text><text class="terminal-2906046081-r7" x="378.2" y="508" textLength="85.4" clip-path="url(#terminal-2906046081-line-20)">warning</text><text class="terminal-2906046081-r10" x="463.6" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">|</text><text class="terminal-2906046081-r7" x="475.8" y="508" textLength="61" clip-path="url(#terminal-2906046081-line-20)">error</text><text class="terminal-2906046081-r10" x="536.8" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">]</text><text class="terminal-2906046081-r1" x="549" y="508" textLength="414.8" clip-path="url(#terminal-2906046081-line-20)">&#160;&#160;Set&#160;the&#160;verbosity&#160;of&#160;console&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">│</text><text class="terminal-2906046081-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2906046081-line-20)">
-</text><text class="terminal-2906046081-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-21)">│</text><text class="terminal-2906046081-r1" x="12.2" y="532.4" textLength="951.6" clip-path="url(#terminal-2906046081-line-21)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;logging&#160;messages.&#160;Log&#160;files&#160;are&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-21)">│</text><text class="terminal-2906046081-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2906046081-line-21)">
-</text><text class="terminal-2906046081-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-22)">│</text><text class="terminal-2906046081-r1" x="12.2" y="556.8" textLength="951.6" clip-path="url(#terminal-2906046081-line-22)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always&#160;set&#160;to&#160;&#x27;debug&#x27;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-22)">│</text><text class="terminal-2906046081-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2906046081-line-22)">
-</text><text class="terminal-2906046081-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-23)">│</text><text class="terminal-2906046081-r4" x="24.4" y="581.2" textLength="73.2" clip-path="url(#terminal-2906046081-line-23)">--help</text><text class="terminal-2906046081-r9" x="183" y="581.2" textLength="24.4" clip-path="url(#terminal-2906046081-line-23)">-h</text><text class="terminal-2906046081-r1" x="549" y="581.2" textLength="414.8" clip-path="url(#terminal-2906046081-line-23)">&#160;&#160;Show&#160;this&#160;message&#160;and&#160;exit.&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2906046081-r5" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-23)">│</text><text class="terminal-2906046081-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2906046081-line-23)">
-</text><text class="terminal-2906046081-r5" x="0" y="605.6" textLength="976" clip-path="url(#terminal-2906046081-line-24)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2906046081-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2906046081-line-24)">
-</text><text class="terminal-2906046081-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2906046081-line-25)">
+    <g class="terminal-3981583184-matrix">
+    <text class="terminal-3981583184-r1" x="0" y="20" textLength="317.2" clip-path="url(#terminal-3981583184-line-0)">$&#160;casanovo&#160;sequence&#160;--help</text><text class="terminal-3981583184-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-3981583184-line-0)">
+</text><text class="terminal-3981583184-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-1)">
+</text><text class="terminal-3981583184-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-3981583184-line-2)">Usage:</text><text class="terminal-3981583184-r3" x="97.6" y="68.8" textLength="207.4" clip-path="url(#terminal-3981583184-line-2)">casanovo&#160;sequence</text><text class="terminal-3981583184-r1" x="305" y="68.8" textLength="24.4" clip-path="url(#terminal-3981583184-line-2)">&#160;[</text><text class="terminal-3981583184-r4" x="329.4" y="68.8" textLength="85.4" clip-path="url(#terminal-3981583184-line-2)">OPTIONS</text><text class="terminal-3981583184-r1" x="414.8" y="68.8" textLength="24.4" clip-path="url(#terminal-3981583184-line-2)">]&#160;</text><text class="terminal-3981583184-r4" x="439.2" y="68.8" textLength="109.8" clip-path="url(#terminal-3981583184-line-2)">PEAK_PATH</text><text class="terminal-3981583184-r1" x="549" y="68.8" textLength="427" clip-path="url(#terminal-3981583184-line-2)">...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-2)">
+</text><text class="terminal-3981583184-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-3)">
+</text><text class="terminal-3981583184-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-3981583184-line-4)">&#160;De&#160;novo&#160;sequence&#160;peptides&#160;from&#160;tandem&#160;mass&#160;spectra.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-4)">
+</text><text class="terminal-3981583184-r1" x="0" y="142" textLength="976" clip-path="url(#terminal-3981583184-line-5)">&#160;PEAK_PATH&#160;must&#160;be&#160;one&#160;or&#160;more&#160;mzMl,&#160;mzXML,&#160;or&#160;MGF&#160;files&#160;from&#160;which&#160;to&#160;sequence&#160;</text><text class="terminal-3981583184-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-3981583184-line-5)">
+</text><text class="terminal-3981583184-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-3981583184-line-6)">&#160;peptides.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-6)">
+</text><text class="terminal-3981583184-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-7)">
+</text><text class="terminal-3981583184-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-3981583184-line-8)">╭─</text><text class="terminal-3981583184-r5" x="24.4" y="215.2" textLength="134.2" clip-path="url(#terminal-3981583184-line-8)">&#160;Arguments&#160;</text><text class="terminal-3981583184-r5" x="158.6" y="215.2" textLength="793" clip-path="url(#terminal-3981583184-line-8)">─────────────────────────────────────────────────────────────────</text><text class="terminal-3981583184-r5" x="951.6" y="215.2" textLength="24.4" clip-path="url(#terminal-3981583184-line-8)">─╮</text><text class="terminal-3981583184-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-8)">
+</text><text class="terminal-3981583184-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-9)">│</text><text class="terminal-3981583184-r6" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-9)">*</text><text class="terminal-3981583184-r1" x="36.6" y="239.6" textLength="183" clip-path="url(#terminal-3981583184-line-9)">&#160;&#160;PEAK_PATH&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r7" x="219.6" y="239.6" textLength="48.8" clip-path="url(#terminal-3981583184-line-9)">FILE</text><text class="terminal-3981583184-r8" x="292.8" y="239.6" textLength="122" clip-path="url(#terminal-3981583184-line-9)">[required]</text><text class="terminal-3981583184-r5" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-9)">│</text><text class="terminal-3981583184-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-9)">
+</text><text class="terminal-3981583184-r5" x="0" y="264" textLength="976" clip-path="url(#terminal-3981583184-line-10)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3981583184-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-3981583184-line-10)">
+</text><text class="terminal-3981583184-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-3981583184-line-11)">╭─</text><text class="terminal-3981583184-r5" x="24.4" y="288.4" textLength="109.8" clip-path="url(#terminal-3981583184-line-11)">&#160;Options&#160;</text><text class="terminal-3981583184-r5" x="134.2" y="288.4" textLength="817.4" clip-path="url(#terminal-3981583184-line-11)">───────────────────────────────────────────────────────────────────</text><text class="terminal-3981583184-r5" x="951.6" y="288.4" textLength="24.4" clip-path="url(#terminal-3981583184-line-11)">─╮</text><text class="terminal-3981583184-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-11)">
+</text><text class="terminal-3981583184-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-12)">│</text><text class="terminal-3981583184-r4" x="24.4" y="312.8" textLength="85.4" clip-path="url(#terminal-3981583184-line-12)">--model</text><text class="terminal-3981583184-r9" x="183" y="312.8" textLength="24.4" clip-path="url(#terminal-3981583184-line-12)">-m</text><text class="terminal-3981583184-r7" x="231.8" y="312.8" textLength="317.2" clip-path="url(#terminal-3981583184-line-12)">TEXT&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r1" x="549" y="312.8" textLength="414.8" clip-path="url(#terminal-3981583184-line-12)">&#160;&#160;Either&#160;the&#160;model&#160;weights&#160;(.ckpt&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-12)">│</text><text class="terminal-3981583184-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-12)">
+</text><text class="terminal-3981583184-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-13)">│</text><text class="terminal-3981583184-r1" x="12.2" y="337.2" textLength="951.6" clip-path="url(#terminal-3981583184-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;file)&#160;or&#160;a&#160;URL&#160;pointing&#160;to&#160;the&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-13)">│</text><text class="terminal-3981583184-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-13)">
+</text><text class="terminal-3981583184-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-14)">│</text><text class="terminal-3981583184-r1" x="12.2" y="361.6" textLength="951.6" clip-path="url(#terminal-3981583184-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;model&#160;weights&#160;file.&#160;If&#160;not&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-14)">│</text><text class="terminal-3981583184-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-14)">
+</text><text class="terminal-3981583184-r5" x="0" y="386" textLength="12.2" clip-path="url(#terminal-3981583184-line-15)">│</text><text class="terminal-3981583184-r1" x="12.2" y="386" textLength="951.6" clip-path="url(#terminal-3981583184-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;provided,&#160;Casanovo&#160;will&#160;try&#160;to&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-3981583184-line-15)">│</text><text class="terminal-3981583184-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-3981583184-line-15)">
+</text><text class="terminal-3981583184-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-16)">│</text><text class="terminal-3981583184-r1" x="12.2" y="410.4" textLength="951.6" clip-path="url(#terminal-3981583184-line-16)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;download&#160;the&#160;latest&#160;release&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-16)">│</text><text class="terminal-3981583184-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-16)">
+</text><text class="terminal-3981583184-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-17)">│</text><text class="terminal-3981583184-r1" x="12.2" y="434.8" textLength="951.6" clip-path="url(#terminal-3981583184-line-17)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;automatically.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-17)">│</text><text class="terminal-3981583184-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-17)">
+</text><text class="terminal-3981583184-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-18)">│</text><text class="terminal-3981583184-r4" x="24.4" y="459.2" textLength="97.6" clip-path="url(#terminal-3981583184-line-18)">--output</text><text class="terminal-3981583184-r9" x="183" y="459.2" textLength="24.4" clip-path="url(#terminal-3981583184-line-18)">-o</text><text class="terminal-3981583184-r7" x="231.8" y="459.2" textLength="317.2" clip-path="url(#terminal-3981583184-line-18)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r1" x="549" y="459.2" textLength="414.8" clip-path="url(#terminal-3981583184-line-18)">&#160;&#160;The&#160;mzTab&#160;file&#160;to&#160;which&#160;results&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-18)">│</text><text class="terminal-3981583184-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-18)">
+</text><text class="terminal-3981583184-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-19)">│</text><text class="terminal-3981583184-r1" x="12.2" y="483.6" textLength="951.6" clip-path="url(#terminal-3981583184-line-19)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;be&#160;written.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-19)">│</text><text class="terminal-3981583184-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-19)">
+</text><text class="terminal-3981583184-r5" x="0" y="508" textLength="12.2" clip-path="url(#terminal-3981583184-line-20)">│</text><text class="terminal-3981583184-r4" x="24.4" y="508" textLength="97.6" clip-path="url(#terminal-3981583184-line-20)">--config</text><text class="terminal-3981583184-r9" x="183" y="508" textLength="24.4" clip-path="url(#terminal-3981583184-line-20)">-c</text><text class="terminal-3981583184-r7" x="231.8" y="508" textLength="317.2" clip-path="url(#terminal-3981583184-line-20)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r1" x="549" y="508" textLength="414.8" clip-path="url(#terminal-3981583184-line-20)">&#160;&#160;The&#160;YAML&#160;configuration&#160;file&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-3981583184-line-20)">│</text><text class="terminal-3981583184-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-3981583184-line-20)">
+</text><text class="terminal-3981583184-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-21)">│</text><text class="terminal-3981583184-r1" x="12.2" y="532.4" textLength="951.6" clip-path="url(#terminal-3981583184-line-21)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;overriding&#160;the&#160;default&#160;options.&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-21)">│</text><text class="terminal-3981583184-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-21)">
+</text><text class="terminal-3981583184-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">│</text><text class="terminal-3981583184-r4" x="24.4" y="556.8" textLength="134.2" clip-path="url(#terminal-3981583184-line-22)">--verbosity</text><text class="terminal-3981583184-r9" x="183" y="556.8" textLength="24.4" clip-path="url(#terminal-3981583184-line-22)">-v</text><text class="terminal-3981583184-r10" x="231.8" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">[</text><text class="terminal-3981583184-r7" x="244" y="556.8" textLength="61" clip-path="url(#terminal-3981583184-line-22)">debug</text><text class="terminal-3981583184-r10" x="305" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">|</text><text class="terminal-3981583184-r7" x="317.2" y="556.8" textLength="48.8" clip-path="url(#terminal-3981583184-line-22)">info</text><text class="terminal-3981583184-r10" x="366" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">|</text><text class="terminal-3981583184-r7" x="378.2" y="556.8" textLength="85.4" clip-path="url(#terminal-3981583184-line-22)">warning</text><text class="terminal-3981583184-r10" x="463.6" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">|</text><text class="terminal-3981583184-r7" x="475.8" y="556.8" textLength="61" clip-path="url(#terminal-3981583184-line-22)">error</text><text class="terminal-3981583184-r10" x="536.8" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">]</text><text class="terminal-3981583184-r1" x="549" y="556.8" textLength="414.8" clip-path="url(#terminal-3981583184-line-22)">&#160;&#160;Set&#160;the&#160;verbosity&#160;of&#160;console&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">│</text><text class="terminal-3981583184-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-22)">
+</text><text class="terminal-3981583184-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-23)">│</text><text class="terminal-3981583184-r1" x="12.2" y="581.2" textLength="951.6" clip-path="url(#terminal-3981583184-line-23)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;logging&#160;messages.&#160;Log&#160;files&#160;are&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-23)">│</text><text class="terminal-3981583184-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-3981583184-line-23)">
+</text><text class="terminal-3981583184-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-24)">│</text><text class="terminal-3981583184-r1" x="12.2" y="605.6" textLength="951.6" clip-path="url(#terminal-3981583184-line-24)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always&#160;set&#160;to&#160;&#x27;debug&#x27;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="605.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-24)">│</text><text class="terminal-3981583184-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-3981583184-line-24)">
+</text><text class="terminal-3981583184-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-3981583184-line-25)">│</text><text class="terminal-3981583184-r4" x="24.4" y="630" textLength="73.2" clip-path="url(#terminal-3981583184-line-25)">--help</text><text class="terminal-3981583184-r9" x="183" y="630" textLength="24.4" clip-path="url(#terminal-3981583184-line-25)">-h</text><text class="terminal-3981583184-r1" x="549" y="630" textLength="414.8" clip-path="url(#terminal-3981583184-line-25)">&#160;&#160;Show&#160;this&#160;message&#160;and&#160;exit.&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3981583184-r5" x="963.8" y="630" textLength="12.2" clip-path="url(#terminal-3981583184-line-25)">│</text><text class="terminal-3981583184-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-3981583184-line-25)">
+</text><text class="terminal-3981583184-r5" x="0" y="654.4" textLength="976" clip-path="url(#terminal-3981583184-line-26)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3981583184-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-3981583184-line-26)">
+</text><text class="terminal-3981583184-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-3981583184-line-27)">
 </text>
     </g>
     </g>
diff --git a/docs/images/train-help.svg b/docs/images/train-help.svg
index 58251215..e27717e1 100644
--- a/docs/images/train-help.svg
+++ b/docs/images/train-help.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 994 1001.5999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 994 1074.8" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -19,200 +19,212 @@
         font-weight: 700;
     }
 
-    .terminal-2982408974-matrix {
+    .terminal-956334679-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-2982408974-title {
+    .terminal-956334679-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-2982408974-r1 { fill: #c5c8c6 }
-.terminal-2982408974-r2 { fill: #d0b344 }
-.terminal-2982408974-r3 { fill: #c5c8c6;font-weight: bold }
-.terminal-2982408974-r4 { fill: #68a0b3;font-weight: bold }
-.terminal-2982408974-r5 { fill: #868887 }
-.terminal-2982408974-r6 { fill: #cc555a }
-.terminal-2982408974-r7 { fill: #d0b344;font-weight: bold }
-.terminal-2982408974-r8 { fill: #8a4346 }
-.terminal-2982408974-r9 { fill: #98a84b;font-weight: bold }
-.terminal-2982408974-r10 { fill: #8d7b39;font-weight: bold }
+    .terminal-956334679-r1 { fill: #c5c8c6 }
+.terminal-956334679-r2 { fill: #d0b344 }
+.terminal-956334679-r3 { fill: #c5c8c6;font-weight: bold }
+.terminal-956334679-r4 { fill: #68a0b3;font-weight: bold }
+.terminal-956334679-r5 { fill: #868887 }
+.terminal-956334679-r6 { fill: #cc555a }
+.terminal-956334679-r7 { fill: #d0b344;font-weight: bold }
+.terminal-956334679-r8 { fill: #8a4346 }
+.terminal-956334679-r9 { fill: #98a84b;font-weight: bold }
+.terminal-956334679-r10 { fill: #8d7b39;font-weight: bold }
     </style>
 
     <defs>
-    <clipPath id="terminal-2982408974-clip-terminal">
-      <rect x="0" y="0" width="975.0" height="950.5999999999999" />
+    <clipPath id="terminal-956334679-clip-terminal">
+      <rect x="0" y="0" width="975.0" height="1023.8" />
     </clipPath>
-    <clipPath id="terminal-2982408974-line-0">
+    <clipPath id="terminal-956334679-line-0">
     <rect x="0" y="1.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-1">
+<clipPath id="terminal-956334679-line-1">
     <rect x="0" y="25.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-2">
+<clipPath id="terminal-956334679-line-2">
     <rect x="0" y="50.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-3">
+<clipPath id="terminal-956334679-line-3">
     <rect x="0" y="74.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-4">
+<clipPath id="terminal-956334679-line-4">
     <rect x="0" y="99.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-5">
+<clipPath id="terminal-956334679-line-5">
     <rect x="0" y="123.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-6">
+<clipPath id="terminal-956334679-line-6">
     <rect x="0" y="147.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-7">
+<clipPath id="terminal-956334679-line-7">
     <rect x="0" y="172.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-8">
+<clipPath id="terminal-956334679-line-8">
     <rect x="0" y="196.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-9">
+<clipPath id="terminal-956334679-line-9">
     <rect x="0" y="221.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-10">
+<clipPath id="terminal-956334679-line-10">
     <rect x="0" y="245.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-11">
+<clipPath id="terminal-956334679-line-11">
     <rect x="0" y="269.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-12">
+<clipPath id="terminal-956334679-line-12">
     <rect x="0" y="294.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-13">
+<clipPath id="terminal-956334679-line-13">
     <rect x="0" y="318.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-14">
+<clipPath id="terminal-956334679-line-14">
     <rect x="0" y="343.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-15">
+<clipPath id="terminal-956334679-line-15">
     <rect x="0" y="367.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-16">
+<clipPath id="terminal-956334679-line-16">
     <rect x="0" y="391.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-17">
+<clipPath id="terminal-956334679-line-17">
     <rect x="0" y="416.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-18">
+<clipPath id="terminal-956334679-line-18">
     <rect x="0" y="440.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-19">
+<clipPath id="terminal-956334679-line-19">
     <rect x="0" y="465.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-20">
+<clipPath id="terminal-956334679-line-20">
     <rect x="0" y="489.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-21">
+<clipPath id="terminal-956334679-line-21">
     <rect x="0" y="513.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-22">
+<clipPath id="terminal-956334679-line-22">
     <rect x="0" y="538.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-23">
+<clipPath id="terminal-956334679-line-23">
     <rect x="0" y="562.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-24">
+<clipPath id="terminal-956334679-line-24">
     <rect x="0" y="587.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-25">
+<clipPath id="terminal-956334679-line-25">
     <rect x="0" y="611.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-26">
+<clipPath id="terminal-956334679-line-26">
     <rect x="0" y="635.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-27">
+<clipPath id="terminal-956334679-line-27">
     <rect x="0" y="660.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-28">
+<clipPath id="terminal-956334679-line-28">
     <rect x="0" y="684.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-29">
+<clipPath id="terminal-956334679-line-29">
     <rect x="0" y="709.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-30">
+<clipPath id="terminal-956334679-line-30">
     <rect x="0" y="733.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-31">
+<clipPath id="terminal-956334679-line-31">
     <rect x="0" y="757.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-32">
+<clipPath id="terminal-956334679-line-32">
     <rect x="0" y="782.3" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-33">
+<clipPath id="terminal-956334679-line-33">
     <rect x="0" y="806.7" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-34">
+<clipPath id="terminal-956334679-line-34">
     <rect x="0" y="831.1" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-35">
+<clipPath id="terminal-956334679-line-35">
     <rect x="0" y="855.5" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-36">
+<clipPath id="terminal-956334679-line-36">
     <rect x="0" y="879.9" width="976" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-2982408974-line-37">
+<clipPath id="terminal-956334679-line-37">
     <rect x="0" y="904.3" width="976" height="24.65"/>
             </clipPath>
+<clipPath id="terminal-956334679-line-38">
+    <rect x="0" y="928.7" width="976" height="24.65"/>
+            </clipPath>
+<clipPath id="terminal-956334679-line-39">
+    <rect x="0" y="953.1" width="976" height="24.65"/>
+            </clipPath>
+<clipPath id="terminal-956334679-line-40">
+    <rect x="0" y="977.5" width="976" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="999.6" rx="8"/>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="1072.8" rx="8"/>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-2982408974-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-956334679-clip-terminal)">
     
-    <g class="terminal-2982408974-matrix">
-    <text class="terminal-2982408974-r1" x="0" y="20" textLength="280.6" clip-path="url(#terminal-2982408974-line-0)">$&#160;casanovo&#160;train&#160;--help</text><text class="terminal-2982408974-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2982408974-line-0)">
-</text><text class="terminal-2982408974-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-1)">
-</text><text class="terminal-2982408974-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-2982408974-line-2)">Usage:</text><text class="terminal-2982408974-r3" x="97.6" y="68.8" textLength="170.8" clip-path="url(#terminal-2982408974-line-2)">casanovo&#160;train</text><text class="terminal-2982408974-r1" x="268.4" y="68.8" textLength="24.4" clip-path="url(#terminal-2982408974-line-2)">&#160;[</text><text class="terminal-2982408974-r4" x="292.8" y="68.8" textLength="85.4" clip-path="url(#terminal-2982408974-line-2)">OPTIONS</text><text class="terminal-2982408974-r1" x="378.2" y="68.8" textLength="24.4" clip-path="url(#terminal-2982408974-line-2)">]&#160;</text><text class="terminal-2982408974-r4" x="402.6" y="68.8" textLength="183" clip-path="url(#terminal-2982408974-line-2)">TRAIN_PEAK_PATH</text><text class="terminal-2982408974-r1" x="585.6" y="68.8" textLength="390.4" clip-path="url(#terminal-2982408974-line-2)">...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-2)">
-</text><text class="terminal-2982408974-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-3)">
-</text><text class="terminal-2982408974-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-2982408974-line-4)">&#160;Train&#160;a&#160;Casanovo&#160;model&#160;on&#160;your&#160;own&#160;data.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-4)">
-</text><text class="terminal-2982408974-r1" x="0" y="142" textLength="976" clip-path="url(#terminal-2982408974-line-5)">&#160;TRAIN_PEAK_PATH&#160;must&#160;be&#160;one&#160;or&#160;more&#160;annoated&#160;MGF&#160;files,&#160;such&#160;as&#160;those&#160;provided&#160;</text><text class="terminal-2982408974-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2982408974-line-5)">
-</text><text class="terminal-2982408974-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-2982408974-line-6)">&#160;by&#160;MassIVE-KB,&#160;from&#160;which&#160;to&#160;train&#160;a&#160;new&#160;Casnovo&#160;model.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-6)">
-</text><text class="terminal-2982408974-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-7)">
-</text><text class="terminal-2982408974-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-2982408974-line-8)">╭─</text><text class="terminal-2982408974-r5" x="24.4" y="215.2" textLength="134.2" clip-path="url(#terminal-2982408974-line-8)">&#160;Arguments&#160;</text><text class="terminal-2982408974-r5" x="158.6" y="215.2" textLength="793" clip-path="url(#terminal-2982408974-line-8)">─────────────────────────────────────────────────────────────────</text><text class="terminal-2982408974-r5" x="951.6" y="215.2" textLength="24.4" clip-path="url(#terminal-2982408974-line-8)">─╮</text><text class="terminal-2982408974-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-8)">
-</text><text class="terminal-2982408974-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-9)">│</text><text class="terminal-2982408974-r6" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-9)">*</text><text class="terminal-2982408974-r1" x="36.6" y="239.6" textLength="256.2" clip-path="url(#terminal-2982408974-line-9)">&#160;&#160;TRAIN_PEAK_PATH&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r7" x="292.8" y="239.6" textLength="48.8" clip-path="url(#terminal-2982408974-line-9)">FILE</text><text class="terminal-2982408974-r8" x="366" y="239.6" textLength="122" clip-path="url(#terminal-2982408974-line-9)">[required]</text><text class="terminal-2982408974-r5" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-9)">│</text><text class="terminal-2982408974-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-9)">
-</text><text class="terminal-2982408974-r5" x="0" y="264" textLength="976" clip-path="url(#terminal-2982408974-line-10)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2982408974-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2982408974-line-10)">
-</text><text class="terminal-2982408974-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-2982408974-line-11)">╭─</text><text class="terminal-2982408974-r5" x="24.4" y="288.4" textLength="109.8" clip-path="url(#terminal-2982408974-line-11)">&#160;Options&#160;</text><text class="terminal-2982408974-r5" x="134.2" y="288.4" textLength="817.4" clip-path="url(#terminal-2982408974-line-11)">───────────────────────────────────────────────────────────────────</text><text class="terminal-2982408974-r5" x="951.6" y="288.4" textLength="24.4" clip-path="url(#terminal-2982408974-line-11)">─╮</text><text class="terminal-2982408974-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-11)">
-</text><text class="terminal-2982408974-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-12)">│</text><text class="terminal-2982408974-r6" x="24.4" y="312.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-12)">*</text><text class="terminal-2982408974-r4" x="61" y="312.8" textLength="256.2" clip-path="url(#terminal-2982408974-line-12)">--validation_peak_pa…</text><text class="terminal-2982408974-r9" x="341.6" y="312.8" textLength="24.4" clip-path="url(#terminal-2982408974-line-12)">-p</text><text class="terminal-2982408974-r7" x="390.4" y="312.8" textLength="268.4" clip-path="url(#terminal-2982408974-line-12)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="658.8" y="312.8" textLength="305" clip-path="url(#terminal-2982408974-line-12)">&#160;&#160;An&#160;annotated&#160;MGF&#160;file&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-12)">│</text><text class="terminal-2982408974-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-12)">
-</text><text class="terminal-2982408974-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-13)">│</text><text class="terminal-2982408974-r1" x="12.2" y="337.2" textLength="951.6" clip-path="url(#terminal-2982408974-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for&#160;validation,&#160;like&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-13)">│</text><text class="terminal-2982408974-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-13)">
-</text><text class="terminal-2982408974-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-14)">│</text><text class="terminal-2982408974-r1" x="12.2" y="361.6" textLength="951.6" clip-path="url(#terminal-2982408974-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;from&#160;MassIVE-KB.&#160;Use&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-14)">│</text><text class="terminal-2982408974-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-14)">
-</text><text class="terminal-2982408974-r5" x="0" y="386" textLength="12.2" clip-path="url(#terminal-2982408974-line-15)">│</text><text class="terminal-2982408974-r1" x="12.2" y="386" textLength="951.6" clip-path="url(#terminal-2982408974-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this&#160;option&#160;multiple&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-2982408974-line-15)">│</text><text class="terminal-2982408974-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2982408974-line-15)">
-</text><text class="terminal-2982408974-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-16)">│</text><text class="terminal-2982408974-r1" x="12.2" y="410.4" textLength="951.6" clip-path="url(#terminal-2982408974-line-16)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;times&#160;to&#160;specify&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-16)">│</text><text class="terminal-2982408974-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-16)">
-</text><text class="terminal-2982408974-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-17)">│</text><text class="terminal-2982408974-r1" x="12.2" y="434.8" textLength="951.6" clip-path="url(#terminal-2982408974-line-17)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;multiple&#160;files.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-17)">│</text><text class="terminal-2982408974-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-17)">
-</text><text class="terminal-2982408974-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-18)">│</text><text class="terminal-2982408974-r8" x="683.2" y="459.2" textLength="268.4" clip-path="url(#terminal-2982408974-line-18)">[required]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-18)">│</text><text class="terminal-2982408974-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-18)">
-</text><text class="terminal-2982408974-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-19)">│</text><text class="terminal-2982408974-r4" x="61" y="483.6" textLength="85.4" clip-path="url(#terminal-2982408974-line-19)">--model</text><text class="terminal-2982408974-r9" x="341.6" y="483.6" textLength="24.4" clip-path="url(#terminal-2982408974-line-19)">-m</text><text class="terminal-2982408974-r7" x="390.4" y="483.6" textLength="268.4" clip-path="url(#terminal-2982408974-line-19)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="658.8" y="483.6" textLength="305" clip-path="url(#terminal-2982408974-line-19)">&#160;&#160;The&#160;model&#160;weights&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-19)">│</text><text class="terminal-2982408974-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-19)">
-</text><text class="terminal-2982408974-r5" x="0" y="508" textLength="12.2" clip-path="url(#terminal-2982408974-line-20)">│</text><text class="terminal-2982408974-r1" x="12.2" y="508" textLength="951.6" clip-path="url(#terminal-2982408974-line-20)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(.ckpt&#160;file).&#160;If&#160;not&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-2982408974-line-20)">│</text><text class="terminal-2982408974-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-2982408974-line-20)">
-</text><text class="terminal-2982408974-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-21)">│</text><text class="terminal-2982408974-r1" x="12.2" y="532.4" textLength="951.6" clip-path="url(#terminal-2982408974-line-21)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;provided,&#160;Casanovo&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-21)">│</text><text class="terminal-2982408974-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-21)">
-</text><text class="terminal-2982408974-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-22)">│</text><text class="terminal-2982408974-r1" x="12.2" y="556.8" textLength="951.6" clip-path="url(#terminal-2982408974-line-22)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;try&#160;to&#160;download&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-22)">│</text><text class="terminal-2982408974-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-22)">
-</text><text class="terminal-2982408974-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-23)">│</text><text class="terminal-2982408974-r1" x="12.2" y="581.2" textLength="951.6" clip-path="url(#terminal-2982408974-line-23)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;the&#160;latest&#160;release.&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-23)">│</text><text class="terminal-2982408974-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-23)">
-</text><text class="terminal-2982408974-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-24)">│</text><text class="terminal-2982408974-r4" x="61" y="605.6" textLength="97.6" clip-path="url(#terminal-2982408974-line-24)">--output</text><text class="terminal-2982408974-r9" x="341.6" y="605.6" textLength="24.4" clip-path="url(#terminal-2982408974-line-24)">-o</text><text class="terminal-2982408974-r7" x="390.4" y="605.6" textLength="268.4" clip-path="url(#terminal-2982408974-line-24)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="658.8" y="605.6" textLength="305" clip-path="url(#terminal-2982408974-line-24)">&#160;&#160;The&#160;mzTab&#160;file&#160;to&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="605.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-24)">│</text><text class="terminal-2982408974-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-24)">
-</text><text class="terminal-2982408974-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-2982408974-line-25)">│</text><text class="terminal-2982408974-r1" x="12.2" y="630" textLength="951.6" clip-path="url(#terminal-2982408974-line-25)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;which&#160;results&#160;will&#160;be&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="630" textLength="12.2" clip-path="url(#terminal-2982408974-line-25)">│</text><text class="terminal-2982408974-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-2982408974-line-25)">
-</text><text class="terminal-2982408974-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-26)">│</text><text class="terminal-2982408974-r1" x="12.2" y="654.4" textLength="951.6" clip-path="url(#terminal-2982408974-line-26)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;written.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="654.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-26)">│</text><text class="terminal-2982408974-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-26)">
-</text><text class="terminal-2982408974-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-27)">│</text><text class="terminal-2982408974-r4" x="61" y="678.8" textLength="97.6" clip-path="url(#terminal-2982408974-line-27)">--config</text><text class="terminal-2982408974-r9" x="341.6" y="678.8" textLength="24.4" clip-path="url(#terminal-2982408974-line-27)">-c</text><text class="terminal-2982408974-r7" x="390.4" y="678.8" textLength="268.4" clip-path="url(#terminal-2982408974-line-27)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r1" x="658.8" y="678.8" textLength="305" clip-path="url(#terminal-2982408974-line-27)">&#160;&#160;The&#160;YAML&#160;configuration&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="678.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-27)">│</text><text class="terminal-2982408974-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-27)">
-</text><text class="terminal-2982408974-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-28)">│</text><text class="terminal-2982408974-r1" x="12.2" y="703.2" textLength="951.6" clip-path="url(#terminal-2982408974-line-28)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;file&#160;overriding&#160;the&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="703.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-28)">│</text><text class="terminal-2982408974-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-28)">
-</text><text class="terminal-2982408974-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-29)">│</text><text class="terminal-2982408974-r1" x="12.2" y="727.6" textLength="951.6" clip-path="url(#terminal-2982408974-line-29)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default&#160;options.&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="727.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-29)">│</text><text class="terminal-2982408974-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-29)">
-</text><text class="terminal-2982408974-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">│</text><text class="terminal-2982408974-r4" x="61" y="752" textLength="134.2" clip-path="url(#terminal-2982408974-line-30)">--verbosity</text><text class="terminal-2982408974-r9" x="341.6" y="752" textLength="24.4" clip-path="url(#terminal-2982408974-line-30)">-v</text><text class="terminal-2982408974-r10" x="390.4" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">[</text><text class="terminal-2982408974-r7" x="402.6" y="752" textLength="61" clip-path="url(#terminal-2982408974-line-30)">debug</text><text class="terminal-2982408974-r10" x="463.6" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">|</text><text class="terminal-2982408974-r7" x="475.8" y="752" textLength="48.8" clip-path="url(#terminal-2982408974-line-30)">info</text><text class="terminal-2982408974-r10" x="524.6" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">|</text><text class="terminal-2982408974-r7" x="536.8" y="752" textLength="85.4" clip-path="url(#terminal-2982408974-line-30)">warning</text><text class="terminal-2982408974-r10" x="622.2" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">|</text><text class="terminal-2982408974-r7" x="634.4" y="752" textLength="24.4" clip-path="url(#terminal-2982408974-line-30)">er</text><text class="terminal-2982408974-r1" x="658.8" y="752" textLength="305" clip-path="url(#terminal-2982408974-line-30)">&#160;&#160;Set&#160;the&#160;verbosity&#160;of&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">│</text><text class="terminal-2982408974-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-2982408974-line-30)">
-</text><text class="terminal-2982408974-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-31)">│</text><text class="terminal-2982408974-r7" x="390.4" y="776.4" textLength="36.6" clip-path="url(#terminal-2982408974-line-31)">ror</text><text class="terminal-2982408974-r10" x="427" y="776.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-31)">]</text><text class="terminal-2982408974-r1" x="658.8" y="776.4" textLength="305" clip-path="url(#terminal-2982408974-line-31)">&#160;&#160;console&#160;logging&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="776.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-31)">│</text><text class="terminal-2982408974-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-31)">
-</text><text class="terminal-2982408974-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-32)">│</text><text class="terminal-2982408974-r1" x="12.2" y="800.8" textLength="951.6" clip-path="url(#terminal-2982408974-line-32)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;messages.&#160;Log&#160;files&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="800.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-32)">│</text><text class="terminal-2982408974-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-32)">
-</text><text class="terminal-2982408974-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-33)">│</text><text class="terminal-2982408974-r1" x="12.2" y="825.2" textLength="951.6" clip-path="url(#terminal-2982408974-line-33)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;are&#160;always&#160;set&#160;to&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="825.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-33)">│</text><text class="terminal-2982408974-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-33)">
-</text><text class="terminal-2982408974-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-34)">│</text><text class="terminal-2982408974-r1" x="12.2" y="849.6" textLength="951.6" clip-path="url(#terminal-2982408974-line-34)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#x27;debug&#x27;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="849.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-34)">│</text><text class="terminal-2982408974-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-2982408974-line-34)">
-</text><text class="terminal-2982408974-r5" x="0" y="874" textLength="12.2" clip-path="url(#terminal-2982408974-line-35)">│</text><text class="terminal-2982408974-r4" x="61" y="874" textLength="73.2" clip-path="url(#terminal-2982408974-line-35)">--help</text><text class="terminal-2982408974-r9" x="341.6" y="874" textLength="24.4" clip-path="url(#terminal-2982408974-line-35)">-h</text><text class="terminal-2982408974-r1" x="658.8" y="874" textLength="305" clip-path="url(#terminal-2982408974-line-35)">&#160;&#160;Show&#160;this&#160;message&#160;and&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="874" textLength="12.2" clip-path="url(#terminal-2982408974-line-35)">│</text><text class="terminal-2982408974-r1" x="976" y="874" textLength="12.2" clip-path="url(#terminal-2982408974-line-35)">
-</text><text class="terminal-2982408974-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-36)">│</text><text class="terminal-2982408974-r1" x="12.2" y="898.4" textLength="951.6" clip-path="url(#terminal-2982408974-line-36)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;exit.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2982408974-r5" x="963.8" y="898.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-36)">│</text><text class="terminal-2982408974-r1" x="976" y="898.4" textLength="12.2" clip-path="url(#terminal-2982408974-line-36)">
-</text><text class="terminal-2982408974-r5" x="0" y="922.8" textLength="976" clip-path="url(#terminal-2982408974-line-37)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2982408974-r1" x="976" y="922.8" textLength="12.2" clip-path="url(#terminal-2982408974-line-37)">
-</text><text class="terminal-2982408974-r1" x="976" y="947.2" textLength="12.2" clip-path="url(#terminal-2982408974-line-38)">
+    <g class="terminal-956334679-matrix">
+    <text class="terminal-956334679-r1" x="0" y="20" textLength="280.6" clip-path="url(#terminal-956334679-line-0)">$&#160;casanovo&#160;train&#160;--help</text><text class="terminal-956334679-r1" x="976" y="20" textLength="12.2" clip-path="url(#terminal-956334679-line-0)">
+</text><text class="terminal-956334679-r1" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-956334679-line-1)">
+</text><text class="terminal-956334679-r2" x="12.2" y="68.8" textLength="73.2" clip-path="url(#terminal-956334679-line-2)">Usage:</text><text class="terminal-956334679-r3" x="97.6" y="68.8" textLength="170.8" clip-path="url(#terminal-956334679-line-2)">casanovo&#160;train</text><text class="terminal-956334679-r1" x="268.4" y="68.8" textLength="24.4" clip-path="url(#terminal-956334679-line-2)">&#160;[</text><text class="terminal-956334679-r4" x="292.8" y="68.8" textLength="85.4" clip-path="url(#terminal-956334679-line-2)">OPTIONS</text><text class="terminal-956334679-r1" x="378.2" y="68.8" textLength="24.4" clip-path="url(#terminal-956334679-line-2)">]&#160;</text><text class="terminal-956334679-r4" x="402.6" y="68.8" textLength="183" clip-path="url(#terminal-956334679-line-2)">TRAIN_PEAK_PATH</text><text class="terminal-956334679-r1" x="585.6" y="68.8" textLength="390.4" clip-path="url(#terminal-956334679-line-2)">...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-956334679-line-2)">
+</text><text class="terminal-956334679-r1" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-956334679-line-3)">
+</text><text class="terminal-956334679-r1" x="0" y="117.6" textLength="976" clip-path="url(#terminal-956334679-line-4)">&#160;Train&#160;a&#160;Casanovo&#160;model&#160;on&#160;your&#160;own&#160;data.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-956334679-line-4)">
+</text><text class="terminal-956334679-r1" x="0" y="142" textLength="976" clip-path="url(#terminal-956334679-line-5)">&#160;TRAIN_PEAK_PATH&#160;must&#160;be&#160;one&#160;or&#160;more&#160;annoated&#160;MGF&#160;files,&#160;such&#160;as&#160;those&#160;provided&#160;</text><text class="terminal-956334679-r1" x="976" y="142" textLength="12.2" clip-path="url(#terminal-956334679-line-5)">
+</text><text class="terminal-956334679-r1" x="0" y="166.4" textLength="976" clip-path="url(#terminal-956334679-line-6)">&#160;by&#160;MassIVE-KB,&#160;from&#160;which&#160;to&#160;train&#160;a&#160;new&#160;Casnovo&#160;model.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-956334679-line-6)">
+</text><text class="terminal-956334679-r1" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-956334679-line-7)">
+</text><text class="terminal-956334679-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-956334679-line-8)">╭─</text><text class="terminal-956334679-r5" x="24.4" y="215.2" textLength="134.2" clip-path="url(#terminal-956334679-line-8)">&#160;Arguments&#160;</text><text class="terminal-956334679-r5" x="158.6" y="215.2" textLength="793" clip-path="url(#terminal-956334679-line-8)">─────────────────────────────────────────────────────────────────</text><text class="terminal-956334679-r5" x="951.6" y="215.2" textLength="24.4" clip-path="url(#terminal-956334679-line-8)">─╮</text><text class="terminal-956334679-r1" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-956334679-line-8)">
+</text><text class="terminal-956334679-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-956334679-line-9)">│</text><text class="terminal-956334679-r6" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-956334679-line-9)">*</text><text class="terminal-956334679-r1" x="36.6" y="239.6" textLength="256.2" clip-path="url(#terminal-956334679-line-9)">&#160;&#160;TRAIN_PEAK_PATH&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r7" x="292.8" y="239.6" textLength="48.8" clip-path="url(#terminal-956334679-line-9)">FILE</text><text class="terminal-956334679-r8" x="366" y="239.6" textLength="122" clip-path="url(#terminal-956334679-line-9)">[required]</text><text class="terminal-956334679-r5" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-956334679-line-9)">│</text><text class="terminal-956334679-r1" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-956334679-line-9)">
+</text><text class="terminal-956334679-r5" x="0" y="264" textLength="976" clip-path="url(#terminal-956334679-line-10)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-956334679-r1" x="976" y="264" textLength="12.2" clip-path="url(#terminal-956334679-line-10)">
+</text><text class="terminal-956334679-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#terminal-956334679-line-11)">╭─</text><text class="terminal-956334679-r5" x="24.4" y="288.4" textLength="109.8" clip-path="url(#terminal-956334679-line-11)">&#160;Options&#160;</text><text class="terminal-956334679-r5" x="134.2" y="288.4" textLength="817.4" clip-path="url(#terminal-956334679-line-11)">───────────────────────────────────────────────────────────────────</text><text class="terminal-956334679-r5" x="951.6" y="288.4" textLength="24.4" clip-path="url(#terminal-956334679-line-11)">─╮</text><text class="terminal-956334679-r1" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-956334679-line-11)">
+</text><text class="terminal-956334679-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-956334679-line-12)">│</text><text class="terminal-956334679-r6" x="24.4" y="312.8" textLength="12.2" clip-path="url(#terminal-956334679-line-12)">*</text><text class="terminal-956334679-r4" x="61" y="312.8" textLength="256.2" clip-path="url(#terminal-956334679-line-12)">--validation_peak_pa…</text><text class="terminal-956334679-r9" x="341.6" y="312.8" textLength="24.4" clip-path="url(#terminal-956334679-line-12)">-p</text><text class="terminal-956334679-r7" x="390.4" y="312.8" textLength="268.4" clip-path="url(#terminal-956334679-line-12)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="658.8" y="312.8" textLength="305" clip-path="url(#terminal-956334679-line-12)">&#160;&#160;An&#160;annotated&#160;MGF&#160;file&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-956334679-line-12)">│</text><text class="terminal-956334679-r1" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-956334679-line-12)">
+</text><text class="terminal-956334679-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-956334679-line-13)">│</text><text class="terminal-956334679-r1" x="12.2" y="337.2" textLength="951.6" clip-path="url(#terminal-956334679-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for&#160;validation,&#160;like&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-956334679-line-13)">│</text><text class="terminal-956334679-r1" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-956334679-line-13)">
+</text><text class="terminal-956334679-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-956334679-line-14)">│</text><text class="terminal-956334679-r1" x="12.2" y="361.6" textLength="951.6" clip-path="url(#terminal-956334679-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;from&#160;MassIVE-KB.&#160;Use&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-956334679-line-14)">│</text><text class="terminal-956334679-r1" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-956334679-line-14)">
+</text><text class="terminal-956334679-r5" x="0" y="386" textLength="12.2" clip-path="url(#terminal-956334679-line-15)">│</text><text class="terminal-956334679-r1" x="12.2" y="386" textLength="951.6" clip-path="url(#terminal-956334679-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this&#160;option&#160;multiple&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-956334679-line-15)">│</text><text class="terminal-956334679-r1" x="976" y="386" textLength="12.2" clip-path="url(#terminal-956334679-line-15)">
+</text><text class="terminal-956334679-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-956334679-line-16)">│</text><text class="terminal-956334679-r1" x="12.2" y="410.4" textLength="951.6" clip-path="url(#terminal-956334679-line-16)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;times&#160;to&#160;specify&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-956334679-line-16)">│</text><text class="terminal-956334679-r1" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-956334679-line-16)">
+</text><text class="terminal-956334679-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-956334679-line-17)">│</text><text class="terminal-956334679-r1" x="12.2" y="434.8" textLength="951.6" clip-path="url(#terminal-956334679-line-17)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;multiple&#160;files.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-956334679-line-17)">│</text><text class="terminal-956334679-r1" x="976" y="434.8" textLength="12.2" clip-path="url(#terminal-956334679-line-17)">
+</text><text class="terminal-956334679-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-956334679-line-18)">│</text><text class="terminal-956334679-r8" x="683.2" y="459.2" textLength="268.4" clip-path="url(#terminal-956334679-line-18)">[required]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-956334679-line-18)">│</text><text class="terminal-956334679-r1" x="976" y="459.2" textLength="12.2" clip-path="url(#terminal-956334679-line-18)">
+</text><text class="terminal-956334679-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-956334679-line-19)">│</text><text class="terminal-956334679-r4" x="61" y="483.6" textLength="85.4" clip-path="url(#terminal-956334679-line-19)">--model</text><text class="terminal-956334679-r9" x="341.6" y="483.6" textLength="24.4" clip-path="url(#terminal-956334679-line-19)">-m</text><text class="terminal-956334679-r7" x="390.4" y="483.6" textLength="268.4" clip-path="url(#terminal-956334679-line-19)">TEXT&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="658.8" y="483.6" textLength="305" clip-path="url(#terminal-956334679-line-19)">&#160;&#160;Either&#160;the&#160;model&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-956334679-line-19)">│</text><text class="terminal-956334679-r1" x="976" y="483.6" textLength="12.2" clip-path="url(#terminal-956334679-line-19)">
+</text><text class="terminal-956334679-r5" x="0" y="508" textLength="12.2" clip-path="url(#terminal-956334679-line-20)">│</text><text class="terminal-956334679-r1" x="12.2" y="508" textLength="951.6" clip-path="url(#terminal-956334679-line-20)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;weights&#160;(.ckpt&#160;file)&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-956334679-line-20)">│</text><text class="terminal-956334679-r1" x="976" y="508" textLength="12.2" clip-path="url(#terminal-956334679-line-20)">
+</text><text class="terminal-956334679-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-956334679-line-21)">│</text><text class="terminal-956334679-r1" x="12.2" y="532.4" textLength="951.6" clip-path="url(#terminal-956334679-line-21)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;or&#160;a&#160;URL&#160;pointing&#160;to&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-956334679-line-21)">│</text><text class="terminal-956334679-r1" x="976" y="532.4" textLength="12.2" clip-path="url(#terminal-956334679-line-21)">
+</text><text class="terminal-956334679-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-956334679-line-22)">│</text><text class="terminal-956334679-r1" x="12.2" y="556.8" textLength="951.6" clip-path="url(#terminal-956334679-line-22)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;the&#160;model&#160;weights&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-956334679-line-22)">│</text><text class="terminal-956334679-r1" x="976" y="556.8" textLength="12.2" clip-path="url(#terminal-956334679-line-22)">
+</text><text class="terminal-956334679-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-956334679-line-23)">│</text><text class="terminal-956334679-r1" x="12.2" y="581.2" textLength="951.6" clip-path="url(#terminal-956334679-line-23)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;file.&#160;If&#160;not&#160;provided,&#160;</text><text class="terminal-956334679-r5" x="963.8" y="581.2" textLength="12.2" clip-path="url(#terminal-956334679-line-23)">│</text><text class="terminal-956334679-r1" x="976" y="581.2" textLength="12.2" clip-path="url(#terminal-956334679-line-23)">
+</text><text class="terminal-956334679-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-956334679-line-24)">│</text><text class="terminal-956334679-r1" x="12.2" y="605.6" textLength="951.6" clip-path="url(#terminal-956334679-line-24)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Casanovo&#160;will&#160;try&#160;to&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="605.6" textLength="12.2" clip-path="url(#terminal-956334679-line-24)">│</text><text class="terminal-956334679-r1" x="976" y="605.6" textLength="12.2" clip-path="url(#terminal-956334679-line-24)">
+</text><text class="terminal-956334679-r5" x="0" y="630" textLength="12.2" clip-path="url(#terminal-956334679-line-25)">│</text><text class="terminal-956334679-r1" x="12.2" y="630" textLength="951.6" clip-path="url(#terminal-956334679-line-25)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;download&#160;the&#160;latest&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="630" textLength="12.2" clip-path="url(#terminal-956334679-line-25)">│</text><text class="terminal-956334679-r1" x="976" y="630" textLength="12.2" clip-path="url(#terminal-956334679-line-25)">
+</text><text class="terminal-956334679-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-956334679-line-26)">│</text><text class="terminal-956334679-r1" x="12.2" y="654.4" textLength="951.6" clip-path="url(#terminal-956334679-line-26)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;release&#160;automatically.&#160;</text><text class="terminal-956334679-r5" x="963.8" y="654.4" textLength="12.2" clip-path="url(#terminal-956334679-line-26)">│</text><text class="terminal-956334679-r1" x="976" y="654.4" textLength="12.2" clip-path="url(#terminal-956334679-line-26)">
+</text><text class="terminal-956334679-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-956334679-line-27)">│</text><text class="terminal-956334679-r4" x="61" y="678.8" textLength="97.6" clip-path="url(#terminal-956334679-line-27)">--output</text><text class="terminal-956334679-r9" x="341.6" y="678.8" textLength="24.4" clip-path="url(#terminal-956334679-line-27)">-o</text><text class="terminal-956334679-r7" x="390.4" y="678.8" textLength="268.4" clip-path="url(#terminal-956334679-line-27)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="658.8" y="678.8" textLength="305" clip-path="url(#terminal-956334679-line-27)">&#160;&#160;The&#160;mzTab&#160;file&#160;to&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="678.8" textLength="12.2" clip-path="url(#terminal-956334679-line-27)">│</text><text class="terminal-956334679-r1" x="976" y="678.8" textLength="12.2" clip-path="url(#terminal-956334679-line-27)">
+</text><text class="terminal-956334679-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-956334679-line-28)">│</text><text class="terminal-956334679-r1" x="12.2" y="703.2" textLength="951.6" clip-path="url(#terminal-956334679-line-28)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;which&#160;results&#160;will&#160;be&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="703.2" textLength="12.2" clip-path="url(#terminal-956334679-line-28)">│</text><text class="terminal-956334679-r1" x="976" y="703.2" textLength="12.2" clip-path="url(#terminal-956334679-line-28)">
+</text><text class="terminal-956334679-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-956334679-line-29)">│</text><text class="terminal-956334679-r1" x="12.2" y="727.6" textLength="951.6" clip-path="url(#terminal-956334679-line-29)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;written.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="727.6" textLength="12.2" clip-path="url(#terminal-956334679-line-29)">│</text><text class="terminal-956334679-r1" x="976" y="727.6" textLength="12.2" clip-path="url(#terminal-956334679-line-29)">
+</text><text class="terminal-956334679-r5" x="0" y="752" textLength="12.2" clip-path="url(#terminal-956334679-line-30)">│</text><text class="terminal-956334679-r4" x="61" y="752" textLength="97.6" clip-path="url(#terminal-956334679-line-30)">--config</text><text class="terminal-956334679-r9" x="341.6" y="752" textLength="24.4" clip-path="url(#terminal-956334679-line-30)">-c</text><text class="terminal-956334679-r7" x="390.4" y="752" textLength="268.4" clip-path="url(#terminal-956334679-line-30)">FILE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r1" x="658.8" y="752" textLength="305" clip-path="url(#terminal-956334679-line-30)">&#160;&#160;The&#160;YAML&#160;configuration&#160;</text><text class="terminal-956334679-r5" x="963.8" y="752" textLength="12.2" clip-path="url(#terminal-956334679-line-30)">│</text><text class="terminal-956334679-r1" x="976" y="752" textLength="12.2" clip-path="url(#terminal-956334679-line-30)">
+</text><text class="terminal-956334679-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-956334679-line-31)">│</text><text class="terminal-956334679-r1" x="12.2" y="776.4" textLength="951.6" clip-path="url(#terminal-956334679-line-31)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;file&#160;overriding&#160;the&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="776.4" textLength="12.2" clip-path="url(#terminal-956334679-line-31)">│</text><text class="terminal-956334679-r1" x="976" y="776.4" textLength="12.2" clip-path="url(#terminal-956334679-line-31)">
+</text><text class="terminal-956334679-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-956334679-line-32)">│</text><text class="terminal-956334679-r1" x="12.2" y="800.8" textLength="951.6" clip-path="url(#terminal-956334679-line-32)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default&#160;options.&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="800.8" textLength="12.2" clip-path="url(#terminal-956334679-line-32)">│</text><text class="terminal-956334679-r1" x="976" y="800.8" textLength="12.2" clip-path="url(#terminal-956334679-line-32)">
+</text><text class="terminal-956334679-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">│</text><text class="terminal-956334679-r4" x="61" y="825.2" textLength="134.2" clip-path="url(#terminal-956334679-line-33)">--verbosity</text><text class="terminal-956334679-r9" x="341.6" y="825.2" textLength="24.4" clip-path="url(#terminal-956334679-line-33)">-v</text><text class="terminal-956334679-r10" x="390.4" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">[</text><text class="terminal-956334679-r7" x="402.6" y="825.2" textLength="61" clip-path="url(#terminal-956334679-line-33)">debug</text><text class="terminal-956334679-r10" x="463.6" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">|</text><text class="terminal-956334679-r7" x="475.8" y="825.2" textLength="48.8" clip-path="url(#terminal-956334679-line-33)">info</text><text class="terminal-956334679-r10" x="524.6" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">|</text><text class="terminal-956334679-r7" x="536.8" y="825.2" textLength="85.4" clip-path="url(#terminal-956334679-line-33)">warning</text><text class="terminal-956334679-r10" x="622.2" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">|</text><text class="terminal-956334679-r7" x="634.4" y="825.2" textLength="24.4" clip-path="url(#terminal-956334679-line-33)">er</text><text class="terminal-956334679-r1" x="658.8" y="825.2" textLength="305" clip-path="url(#terminal-956334679-line-33)">&#160;&#160;Set&#160;the&#160;verbosity&#160;of&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">│</text><text class="terminal-956334679-r1" x="976" y="825.2" textLength="12.2" clip-path="url(#terminal-956334679-line-33)">
+</text><text class="terminal-956334679-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#terminal-956334679-line-34)">│</text><text class="terminal-956334679-r7" x="390.4" y="849.6" textLength="36.6" clip-path="url(#terminal-956334679-line-34)">ror</text><text class="terminal-956334679-r10" x="427" y="849.6" textLength="12.2" clip-path="url(#terminal-956334679-line-34)">]</text><text class="terminal-956334679-r1" x="658.8" y="849.6" textLength="305" clip-path="url(#terminal-956334679-line-34)">&#160;&#160;console&#160;logging&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="849.6" textLength="12.2" clip-path="url(#terminal-956334679-line-34)">│</text><text class="terminal-956334679-r1" x="976" y="849.6" textLength="12.2" clip-path="url(#terminal-956334679-line-34)">
+</text><text class="terminal-956334679-r5" x="0" y="874" textLength="12.2" clip-path="url(#terminal-956334679-line-35)">│</text><text class="terminal-956334679-r1" x="12.2" y="874" textLength="951.6" clip-path="url(#terminal-956334679-line-35)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;messages.&#160;Log&#160;files&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="874" textLength="12.2" clip-path="url(#terminal-956334679-line-35)">│</text><text class="terminal-956334679-r1" x="976" y="874" textLength="12.2" clip-path="url(#terminal-956334679-line-35)">
+</text><text class="terminal-956334679-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#terminal-956334679-line-36)">│</text><text class="terminal-956334679-r1" x="12.2" y="898.4" textLength="951.6" clip-path="url(#terminal-956334679-line-36)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;are&#160;always&#160;set&#160;to&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="898.4" textLength="12.2" clip-path="url(#terminal-956334679-line-36)">│</text><text class="terminal-956334679-r1" x="976" y="898.4" textLength="12.2" clip-path="url(#terminal-956334679-line-36)">
+</text><text class="terminal-956334679-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#terminal-956334679-line-37)">│</text><text class="terminal-956334679-r1" x="12.2" y="922.8" textLength="951.6" clip-path="url(#terminal-956334679-line-37)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#x27;debug&#x27;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="922.8" textLength="12.2" clip-path="url(#terminal-956334679-line-37)">│</text><text class="terminal-956334679-r1" x="976" y="922.8" textLength="12.2" clip-path="url(#terminal-956334679-line-37)">
+</text><text class="terminal-956334679-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#terminal-956334679-line-38)">│</text><text class="terminal-956334679-r4" x="61" y="947.2" textLength="73.2" clip-path="url(#terminal-956334679-line-38)">--help</text><text class="terminal-956334679-r9" x="341.6" y="947.2" textLength="24.4" clip-path="url(#terminal-956334679-line-38)">-h</text><text class="terminal-956334679-r1" x="658.8" y="947.2" textLength="305" clip-path="url(#terminal-956334679-line-38)">&#160;&#160;Show&#160;this&#160;message&#160;and&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="947.2" textLength="12.2" clip-path="url(#terminal-956334679-line-38)">│</text><text class="terminal-956334679-r1" x="976" y="947.2" textLength="12.2" clip-path="url(#terminal-956334679-line-38)">
+</text><text class="terminal-956334679-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#terminal-956334679-line-39)">│</text><text class="terminal-956334679-r1" x="12.2" y="971.6" textLength="951.6" clip-path="url(#terminal-956334679-line-39)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;exit.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-956334679-r5" x="963.8" y="971.6" textLength="12.2" clip-path="url(#terminal-956334679-line-39)">│</text><text class="terminal-956334679-r1" x="976" y="971.6" textLength="12.2" clip-path="url(#terminal-956334679-line-39)">
+</text><text class="terminal-956334679-r5" x="0" y="996" textLength="976" clip-path="url(#terminal-956334679-line-40)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-956334679-r1" x="976" y="996" textLength="12.2" clip-path="url(#terminal-956334679-line-40)">
+</text><text class="terminal-956334679-r1" x="976" y="1020.4" textLength="12.2" clip-path="url(#terminal-956334679-line-41)">
 </text>
     </g>
     </g>


Test patch:
diff --git a/tests/unit_tests/test_unit.py b/tests/unit_tests/test_unit.py
index f615a099..120e341a 100644
--- a/tests/unit_tests/test_unit.py
+++ b/tests/unit_tests/test_unit.py
@@ -1,9 +1,17 @@
 import collections
+import datetime
+import functools
+import hashlib
 import heapq
+import io
 import os
+import pathlib
 import platform
+import requests
 import shutil
 import tempfile
+import unittest
+import unittest.mock
 
 import einops
 import github
@@ -69,7 +77,172 @@ def test_split_version():
     assert version == ("3", "0", "1")
 
 
-@pytest.mark.skip(reason="Hit rate limit during CI/CD")
+class MockResponseGet:
+    file_content = b"fake model weights content"
+
+    class MockRaw(io.BytesIO):
+        def read(self, *args, **kwargs):
+            return super().read(*args)
+
+    def __init__(self):
+        self.request_counter = 0
+        self.is_ok = True
+
+    def raise_for_status(self):
+        if not self.is_ok:
+            raise requests.HTTPError
+
+    def __call__(self, url, stream=True, allow_redirects=True):
+        self.request_counter += 1
+        response = unittest.mock.MagicMock()
+        response.raise_for_status = self.raise_for_status
+        response.headers = {"Content-Length": str(len(self.file_content))}
+        response.raw = MockResponseGet.MockRaw(self.file_content)
+        return response
+
+
+class MockAsset:
+    def __init__(self, file_name):
+        self.name = file_name
+        self.browser_download_url = f"http://example.com/{file_name}"
+
+
+class MockRelease:
+    def __init__(self, tag_name, assets):
+        self.tag_name = tag_name
+        self.assets = [MockAsset(asset) for asset in assets]
+
+    def get_assets(self):
+        return self.assets
+
+
+class MockRepo:
+    def __init__(
+        self,
+        release_dict={
+            "v3.0.0": [
+                "casanovo_massivekb.ckpt",
+                "casanovo_non-enzy.checkpt",
+                "v3.0.0.zip",
+                "v3.0.0.tar.gz",
+            ],
+            "v3.1.0": ["v3.1.0.zip", "v3.1.0.tar.gz"],
+            "v3.2.0": ["v3.2.0.zip", "v3.2.0.tar.gz"],
+            "v3.3.0": ["v3.3.0.zip", "v3.3.0.tar.gz"],
+            "v4.0.0": [
+                "casanovo_massivekb.ckpt",
+                "casanovo_nontryptic.ckpt",
+                "v4.0.0.zip",
+                "v4.0.0.tar.gz",
+            ],
+        },
+    ):
+        self.releases = [
+            MockRelease(tag_name, assets)
+            for tag_name, assets in release_dict.items()
+        ]
+
+    def get_releases(self):
+        return self.releases
+
+
+class MockGithub:
+    def __init__(self, releases):
+        self.releases = releases
+
+    def get_repo(self, repo_name):
+        return MockRepo()
+
+
+def test_setup_model(monkeypatch):
+    test_releases = ["3.0.0", "3.0.999", "3.999.999"]
+    mock_get = MockResponseGet()
+    mock_github = functools.partial(MockGithub, test_releases)
+    version = "3.0.0"
+
+    # Test model is none when not training
+    with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
+        mnk.setattr(casanovo, "__version__", version)
+        mnk.setattr("appdirs.user_cache_dir", lambda n, a, opinion: tmp_dir)
+        mnk.setattr(github, "Github", mock_github)
+        mnk.setattr(requests, "get", mock_get)
+        filename = pathlib.Path(tmp_dir) / "casanovo_massivekb_v3_0_0.ckpt"
+
+        assert not filename.is_file()
+        _, result_path = casanovo.setup_model(None, None, None, False)
+        assert result_path.resolve() == filename.resolve()
+        assert filename.is_file()
+        assert mock_get.request_counter == 1
+        os.remove(result_path)
+
+        assert not filename.is_file()
+        _, result = casanovo.setup_model(None, None, None, True)
+        assert result is None
+        assert not filename.is_file()
+        assert mock_get.request_counter == 1
+
+    with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
+        mnk.setattr(casanovo, "__version__", version)
+        mnk.setattr("appdirs.user_cache_dir", lambda n, a, opinion: tmp_dir)
+        mnk.setattr(github, "Github", mock_github)
+        mnk.setattr(requests, "get", mock_get)
+
+        cache_file_name = "model_weights.ckpt"
+        file_url = f"http://www.example.com/{cache_file_name}"
+        url_hash = hashlib.shake_256(file_url.encode("utf-8")).hexdigest(5)
+        cache_dir = pathlib.Path(tmp_dir)
+        cache_file_dir = cache_dir / url_hash
+        cache_file_path = cache_file_dir / cache_file_name
+
+        assert not cache_file_path.is_file()
+        _, result_path = casanovo.setup_model(file_url, None, None, False)
+        assert cache_file_path.is_file()
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 2
+        os.remove(result_path)
+
+        assert not cache_file_path.is_file()
+        _, result_path = casanovo.setup_model(file_url, None, None, False)
+        assert cache_file_path.is_file()
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 3
+
+    # Test model is file
+    with monkeypatch.context() as mnk, tempfile.NamedTemporaryFile(
+        suffix=".ckpt"
+    ) as temp_file, tempfile.TemporaryDirectory() as tmp_dir:
+        mnk.setattr(casanovo, "__version__", version)
+        mnk.setattr("appdirs.user_cache_dir", lambda n, a, opinion: tmp_dir)
+        mnk.setattr(github, "Github", mock_github)
+        mnk.setattr(requests, "get", mock_get)
+
+        temp_file_path = temp_file.name
+        _, result = casanovo.setup_model(temp_file_path, None, None, False)
+        assert mock_get.request_counter == 3
+        assert result == temp_file_path
+
+        _, result = casanovo.setup_model(temp_file_path, None, None, True)
+        assert mock_get.request_counter == 3
+        assert result == temp_file_path
+
+    # Test model is neither a URL or File
+    with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
+        mnk.setattr(casanovo, "__version__", version)
+        mnk.setattr("appdirs.user_cache_dir", lambda n, a, opinion: tmp_dir)
+        mnk.setattr(github, "Github", mock_github)
+        mnk.setattr(requests, "get", mock_get)
+
+        with pytest.raises(ValueError):
+            casanovo.setup_model("FooBar", None, None, False)
+
+        assert mock_get.request_counter == 3
+
+        with pytest.raises(ValueError):
+            casanovo.setup_model("FooBar", None, None, False)
+
+        assert mock_get.request_counter == 3
+
+
 def test_get_model_weights(monkeypatch):
     """
     Test that model weights can be downloaded from GitHub or used from the
@@ -77,26 +250,37 @@ def test_get_model_weights(monkeypatch):
     """
     # Model weights for fully matching version, minor matching version, major
     # matching version.
-    for version in ["3.0.0", "3.0.999", "3.999.999"]:
+    test_releases = ["3.0.0", "3.0.999", "3.999.999"]
+    mock_get = MockResponseGet()
+    mock_github = functools.partial(MockGithub, test_releases)
+
+    for version in test_releases:
         with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
             mnk.setattr(casanovo, "__version__", version)
             mnk.setattr(
                 "appdirs.user_cache_dir", lambda n, a, opinion: tmp_dir
             )
-
-            filename = os.path.join(tmp_dir, "casanovo_massivekb_v3_0_0.ckpt")
-            assert not os.path.isfile(filename)
-            assert casanovo._get_model_weights() == filename
-            assert os.path.isfile(filename)
-            assert casanovo._get_model_weights() == filename
+            mnk.setattr(github, "Github", mock_github)
+            mnk.setattr(requests, "get", mock_get)
+
+            tmp_path = pathlib.Path(tmp_dir)
+            filename = tmp_path / "casanovo_massivekb_v3_0_0.ckpt"
+            assert not filename.is_file()
+            result_path = casanovo._get_model_weights(tmp_path)
+            assert result_path == filename
+            assert filename.is_file()
+            result_path = casanovo._get_model_weights(tmp_path)
+            assert result_path == filename
 
     # Impossible to find model weights for (i) full version mismatch and (ii)
     # major version mismatch.
     for version in ["999.999.999", "999.0.0"]:
-        with monkeypatch.context() as mnk:
+        with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
             mnk.setattr(casanovo, "__version__", version)
+            mnk.setattr(github, "Github", mock_github)
+            mnk.setattr(requests, "get", mock_get)
             with pytest.raises(ValueError):
-                casanovo._get_model_weights()
+                casanovo._get_model_weights(pathlib.Path(tmp_dir))
 
     # Test GitHub API rate limit.
     def request(self, *args, **kwargs):
@@ -107,8 +291,122 @@ def request(self, *args, **kwargs):
     with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
         mnk.setattr("appdirs.user_cache_dir", lambda n, a, opinion: tmp_dir)
         mnk.setattr("github.Requester.Requester.requestJsonAndCheck", request)
+        mnk.setattr(requests, "get", mock_get)
+        mock_get.request_counter = 0
         with pytest.raises(github.RateLimitExceededException):
-            casanovo._get_model_weights()
+            casanovo._get_model_weights(pathlib.Path(tmp_dir))
+
+        assert mock_get.request_counter == 0
+
+
+class MockResponseHead:
+    def __init__(self):
+        self.last_modified = None
+        self.is_ok = True
+        self.fail = False
+
+    def __call__(self, url):
+        if self.fail:
+            raise requests.ConnectionError
+
+        response = unittest.mock.MagicMock()
+        response.headers = dict()
+        response.ok = self.is_ok
+        if self.last_modified is not None:
+            response.headers["Last-Modified"] = self.last_modified
+
+        return response
+
+
+def test_get_weights_from_url(monkeypatch):
+    file_url = "http://example.com/model_weights.ckpt"
+
+    with monkeypatch.context() as mnk, tempfile.TemporaryDirectory() as tmp_dir:
+        mock_get = MockResponseGet()
+        mock_head = MockResponseHead()
+        mnk.setattr(requests, "get", mock_get)
+        mnk.setattr(requests, "head", mock_head)
+
+        cache_dir = pathlib.Path(tmp_dir)
+        url_hash = hashlib.shake_256(file_url.encode("utf-8")).hexdigest(5)
+        cache_file_name = "model_weights.ckpt"
+        cache_file_dir = cache_dir / url_hash
+        cache_file_path = cache_file_dir / cache_file_name
+
+        # Test downloading and caching the file
+        assert not cache_file_path.is_file()
+        result_path = casanovo._get_weights_from_url(file_url, cache_dir)
+        assert cache_file_path.is_file()
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 1
+
+        # Test that cached file is used
+        result_path = casanovo._get_weights_from_url(file_url, cache_dir)
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 1
+
+        # Test force downloading the file
+        result_path = casanovo._get_weights_from_url(
+            file_url, cache_dir, force_download=True
+        )
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 2
+
+        # Test that file is re-downloaded if last modified is newer than
+        # file last modified
+        # NOTE: Assuming test takes < 1 year to run
+        curr_utc = datetime.datetime.now().astimezone(datetime.timezone.utc)
+        mock_head.last_modified = (
+            curr_utc + datetime.timedelta(days=365.0)
+        ).strftime("%a, %d %b %Y %H:%M:%S GMT")
+        result_path = casanovo._get_weights_from_url(file_url, cache_dir)
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 3
+
+        # Test file is not redownloaded if its newer than upstream file
+        mock_head.last_modified = (
+            curr_utc - datetime.timedelta(days=365.0)
+        ).strftime("%a, %d %b %Y %H:%M:%S GMT")
+        result_path = casanovo._get_weights_from_url(file_url, cache_dir)
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 3
+
+        # Test that error is raised if file get response is not OK
+        mock_get.is_ok = False
+        with pytest.raises(requests.HTTPError):
+            casanovo._get_weights_from_url(
+                file_url, cache_dir, force_download=True
+            )
+        mock_get.is_ok = True
+        assert mock_get.request_counter == 4
+
+        # Test that cached file is used if head requests yields non-ok status
+        # code, even if upstream file is newer
+        mock_head.is_ok = False
+        mock_head.last_modified = (
+            curr_utc + datetime.timedelta(days=365.0)
+        ).strftime("%a, %d %b %Y %H:%M:%S GMT")
+        result_path = casanovo._get_weights_from_url(file_url, cache_dir)
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 4
+        mock_head.is_ok = True
+
+        # Test that cached file is used if head request fails
+        mock_head.fail = True
+        result_path = casanovo._get_weights_from_url(file_url, cache_dir)
+        assert result_path.resolve() == cache_file_path.resolve()
+        assert mock_get.request_counter == 4
+        mock_head.fail = False
+
+        # Test invalid URL
+        with pytest.raises(ValueError):
+            bad_url = "foobar"
+            casanovo._get_weights_from_url(bad_url, cache_dir)
+
+
+def test_is_valid_url():
+    assert casanovo._is_valid_url("https://www.washington.edu/")
+    assert not casanovo._is_valid_url("foobar")
 
 
 def test_tensorboard():