Repository: ccdmb/predector (language: python)

Issue:
build docker container failed
Dear authors,

I am trying to install predector docker according to your introduction. However it turned out to be an error despite long struggle. Sorry that I hardly understand what was the reason so I paste my error message here for some help... Please see below. I am using Mac OS Monterey 12.0.1

Thank you.
Tian

Error message
[+] Building 28.6s (16/16) FINISHED
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 1.27kB                                     0.0s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load metadata for docker.io/predector/predector-base:1.2.1  1.4s
 => [auth] predector/predector-base:pull token for registry-1.docker.io    0.0s
 => [ 1/11] FROM docker.io/predector/predector-base:1.2.1@sha256:ed9ea0a4  0.0s
 => [internal] load build context                                          0.0s
 => => transferring context: 3.71kB                                        0.0s
 => CACHED [ 2/11] RUN mkdir -p /tmp/onbuild                               0.0s
 => CACHED [ 3/11] COPY signalp-3.0.Linux.tar.Z /tmp/onbuild/              0.0s
 => CACHED [ 4/11] COPY signalp-4.1g.Linux.tar.gz /tmp/onbuild/            0.0s
 => CACHED [ 5/11] COPY signalp-5.0b.Linux.tar.gz /tmp/onbuild/            0.0s
 => CACHED [ 6/11] COPY signalp-6.0b.fast.tar.gz /tmp/onbuild/             0.0s
 => CACHED [ 7/11] COPY targetp-2.0.Linux.tar.gz /tmp/onbuild/             0.0s
 => CACHED [ 8/11] COPY deeploc-1.0.All.tar.gz /tmp/onbuild/               0.0s
 => CACHED [ 9/11] COPY phobius101_linux.tar.gz /tmp/onbuild/              0.0s
 => CACHED [10/11] COPY tmhmm-2.0c.Linux.tar.gz /tmp/onbuild/              0.0s
 => ERROR [11/11] RUN echo  && signalp3-register "/tmp/onbuild/$(basenam  27.1s
------
 > [11/11] RUN echo  && signalp3-register "/tmp/onbuild/$(basename "signalp-3.0.Linux.tar.Z")"  && echo  && signalp4-register "/tmp/onbuild/$(basename "signalp-4.1g.Linux.tar.gz")"  && echo  && signalp5-register "/tmp/onbuild/$(basename "signalp-5.0b.Linux.tar.gz")"  && echo  && signalp6-register "/tmp/onbuild/$(basename "signalp-6.0b.fast.tar.gz")"  && echo  && targetp2-register "/tmp/onbuild/$(basename "targetp-2.0.Linux.tar.gz")"  && echo  && deeploc-register "/tmp/onbuild/$(basename "deeploc-1.0.All.tar.gz")"  && echo  && phobius-register "/tmp/onbuild/$(basename "phobius101_linux.tar.gz")"  && echo  && tmhmm2-register "/tmp/onbuild/$(basename "tmhmm-2.0c.Linux.tar.gz")"  && echo  && rm -rf -- /tmp/onbuild:
#16 0.174
#16 0.178 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 0.181 Registering source file /tmp/onbuild/signalp-3.0.Linux.tar.Z for signalp3 into conda environment at:
#16 0.181 /opt/conda/envs/predector/share/signalp3-3.0b-1
#16 0.181
#16 0.181 Unregistering old source files if they exist.
#16 0.182 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 0.197
#16 0.244 patching file signalp
#16 0.254 Finished registering signalp3.
#16 0.254 Testing installation...
#16 0.404 Test succeeded.
#16 0.404 signalp3 is now fully installed!
#16 0.408
#16 0.410 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 0.413 Registering source file /tmp/onbuild/signalp-4.1g.Linux.tar.gz for signalp4 into conda environment at:
#16 0.413 /opt/conda/envs/predector/share/signalp4-4.1g-2
#16 0.413
#16 0.413 Unregistering old source files if they exist.
#16 0.415 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 0.425
#16 0.660 patching file signalp
#16 0.669 Finished registering signalp4.
#16 0.669 Testing installation...
#16 1.038 Test succeeded.
#16 1.038 signalp4 is now fully installed!
#16 1.049
#16 1.052 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 1.054 Registering source file /tmp/onbuild/signalp-5.0b.Linux.tar.gz for signalp5 into conda environment at:
#16 1.054 /opt/conda/envs/predector/share/signalp5-5.0b-1
#16 1.054
#16 1.054 Unregistering old source files if they exist.
#16 1.056 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 1.065 Done
#16 1.968 Finished registering signalp5.
#16 1.968 Testing installation...
#16 7.235 Test succeeded.
#16 7.235 signalp5 is now fully installed!
#16 7.235
#16 7.237
#16 7.240 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 7.242 WARNING: /tmp/onbuild/signalp-6.0b.fast.tar.gz filename doesn't appear to match the expected filename
#16 7.242          signalp-6.0.fast.tar.gz.
#16 7.242
#16 7.242 WARNING: We'll attempt to continue the installation but you may want to
#16 7.242          double check that you really mean to use this file for package
#16 7.242          signalp6 1.0.
#16 7.242
#16 7.242 Registering source file /tmp/onbuild/signalp-6.0b.fast.tar.gz for signalp6 into conda environment at:
#16 7.242 /opt/conda/envs/predector/share/signalp6-1.0-1
#16 7.242
#16 7.242 Unregistering old source files if they exist.
#16 7.244 bash: /opt/conda/envs/predector/lib/libtinfo.so.6: no version information available (required by bash)
#16 7.665 WARNING: Skipping signalp6 as it is not installed.
#16 7.665 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#16 7.708
#16 22.06 Using pip 21.3.1 from /opt/conda/envs/predector/lib/python3.6/site-packages/pip (python 3.6)
#16 22.07 Non-user install because site-packages writeable
#16 22.09 Created temporary directory: /tmp/pip-ephem-wheel-cache-jf91_676
#16 22.09 Created temporary directory: /tmp/pip-req-tracker-qdzjx93h
#16 22.09 Initialized build tracking at /tmp/pip-req-tracker-qdzjx93h
#16 22.09 Created build tracker: /tmp/pip-req-tracker-qdzjx93h
#16 22.09 Entered build tracker: /tmp/pip-req-tracker-qdzjx93h
#16 22.09 Created temporary directory: /tmp/pip-install-in4sr26a
#16 22.11 Processing /tmp/tmp305/signalp6_fast/signalp-6-package
#16 22.11   Added file:///tmp/tmp305/signalp6_fast/signalp-6-package to build tracker '/tmp/pip-req-tracker-qdzjx93h'
#16 22.11   Created temporary directory: /tmp/pip-build-env-ymbteq4i
#16 22.11   Installing build dependencies: started
#16 22.11   Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ymbteq4i/overlay --no-warn-script-location -v --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel
#16 22.44   Using pip 21.3.1 from /opt/conda/envs/predector/lib/python3.6/site-packages/pip (python 3.6)
#16 23.72   Collecting setuptools
#16 23.81     Downloading setuptools-59.2.0-py3-none-any.whl (952 kB)
#16 23.98   Collecting wheel
#16 24.00     Downloading wheel-0.37.0-py2.py3-none-any.whl (35 kB)
#16 24.36   Installing collected packages: wheel, setuptools
#16 24.38     Creating /tmp/pip-build-env-ymbteq4i/overlay/bin
#16 24.38     changing mode of /tmp/pip-build-env-ymbteq4i/overlay/bin/wheel to 755
#16 24.64   ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
#16 24.64   tensorflow 2.2.0 requires scipy==1.4.1; python_version >= "3", but you have scipy 1.5.3 which is incompatible.
#16 24.64   tensorflow 2.2.0 requires tensorboard<2.3.0,>=2.2.0, but you have tensorboard 2.7.0 which is incompatible.
#16 24.64   tensorflow 2.2.0 requires tensorflow-estimator<2.3.0,>=2.2.0, but you have tensorflow-estimator 2.6.0 which is incompatible.
#16 24.64   Successfully installed setuptools-59.2.0 wheel-0.37.0
#16 24.64   WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#16 24.69   Installing build dependencies: finished with status 'done'
#16 24.69   Getting requirements to build wheel: started
#16 24.69   Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpdp0r96x4
#16 24.88   running egg_info
#16 24.88   creating signalp6.egg-info
#16 24.88   writing signalp6.egg-info/PKG-INFO
#16 24.88   writing dependency_links to signalp6.egg-info/dependency_links.txt
#16 24.88   writing entry points to signalp6.egg-info/entry_points.txt
#16 24.88   writing requirements to signalp6.egg-info/requires.txt
#16 24.88   writing top-level names to signalp6.egg-info/top_level.txt
#16 24.88   writing manifest file 'signalp6.egg-info/SOURCES.txt'
#16 24.89   reading manifest file 'signalp6.egg-info/SOURCES.txt'
#16 24.89   writing manifest file 'signalp6.egg-info/SOURCES.txt'
#16 24.90   Getting requirements to build wheel: finished with status 'done'
#16 24.90   Created temporary directory: /tmp/pip-modern-metadata-jcsdwnv6
#16 24.90   Preparing metadata (pyproject.toml): started
#16 24.90   Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpet4qbbdr
#16 25.08   running dist_info
#16 25.08   creating /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info
#16 25.08   writing /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/PKG-INFO
#16 25.08   writing dependency_links to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/dependency_links.txt
#16 25.08   writing entry points to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/entry_points.txt
#16 25.08   writing requirements to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/requires.txt
#16 25.08   writing top-level names to /tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/top_level.txt
#16 25.08   writing manifest file '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/SOURCES.txt'
#16 25.09   reading manifest file '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/SOURCES.txt'
#16 25.09   writing manifest file '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.egg-info/SOURCES.txt'
#16 25.09   creating '/tmp/pip-modern-metadata-jcsdwnv6/signalp6.dist-info'
#16 25.12   Preparing metadata (pyproject.toml): finished with status 'done'
#16 25.12   Source in /tmp/tmp305/signalp6_fast/signalp-6-package has version 1.0, which satisfies requirement signalp6==1.0 from file:///tmp/tmp305/signalp6_fast/signalp-6-package
#16 25.12   Removed signalp6==1.0 from file:///tmp/tmp305/signalp6_fast/signalp-6-package from build tracker '/tmp/pip-req-tracker-qdzjx93h'
#16 25.12 Created temporary directory: /tmp/pip-unpack-_fv7hqs7
#16 25.12 Building wheels for collected packages: signalp6
#16 25.12   Created temporary directory: /tmp/pip-wheel-gocvui5l
#16 25.12   Destination directory: /tmp/pip-wheel-gocvui5l
#16 25.12   Building wheel for signalp6 (pyproject.toml): started
#16 25.12   Running command /opt/conda/envs/predector/bin/python3 /opt/conda/envs/predector/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpq7o40b8z
#16 25.31   running bdist_wheel
#16 25.31   running build
#16 25.31   running build_py
#16 25.31   creating build
#16 25.31   creating build/lib
#16 25.31   creating build/lib/signalp
#16 25.31   copying signalp/make_sequence_plot.py -> build/lib/signalp
#16 25.31   copying signalp/sequential_model.py -> build/lib/signalp
#16 25.31   copying signalp/utils.py -> build/lib/signalp
#16 25.31   copying signalp/predict.py -> build/lib/signalp
#16 25.31   copying signalp/__main__.py -> build/lib/signalp
#16 25.31   copying signalp/make_output_files.py -> build/lib/signalp
#16 25.31   copying signalp/__init__.py -> build/lib/signalp
#16 25.32   creating build/lib/signalp/conversion_utils
#16 25.32   copying signalp/conversion_utils/move_checkpoint_to_device.py -> build/lib/signalp/conversion_utils
#16 25.32   copying signalp/conversion_utils/__init__.py -> build/lib/signalp/conversion_utils
#16 25.32   creating build/lib/signalp/model_weights
#16 25.32   copying signalp/model_weights/README.md -> build/lib/signalp/model_weights
#16 25.32   running build_scripts
#16 25.32   creating build/scripts-3.6
#16 25.32   copying signalp/conversion_utils/signalp6_convert_models -> build/scripts-3.6
#16 25.32   changing mode of build/scripts-3.6/signalp6_convert_models from 644 to 755
#16 25.32   installing to build/bdist.linux-x86_64/wheel
#16 25.32   running install
#16 25.32   running install_lib
#16 25.32   creating build/bdist.linux-x86_64
#16 25.32   creating build/bdist.linux-x86_64/wheel
#16 25.32   creating build/bdist.linux-x86_64/wheel/signalp
#16 25.32   copying build/lib/signalp/make_sequence_plot.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   creating build/bdist.linux-x86_64/wheel/signalp/model_weights
#16 25.32   copying build/lib/signalp/model_weights/README.md -> build/bdist.linux-x86_64/wheel/signalp/model_weights
#16 25.32   copying build/lib/signalp/sequential_model.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   copying build/lib/signalp/utils.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   copying build/lib/signalp/predict.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   copying build/lib/signalp/__main__.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   copying build/lib/signalp/make_output_files.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   creating build/bdist.linux-x86_64/wheel/signalp/conversion_utils
#16 25.32   copying build/lib/signalp/conversion_utils/move_checkpoint_to_device.py -> build/bdist.linux-x86_64/wheel/signalp/conversion_utils
#16 25.32   copying build/lib/signalp/conversion_utils/__init__.py -> build/bdist.linux-x86_64/wheel/signalp/conversion_utils
#16 25.32   copying build/lib/signalp/__init__.py -> build/bdist.linux-x86_64/wheel/signalp
#16 25.32   running install_egg_info
#16 25.33   running egg_info
#16 25.33   writing signalp6.egg-info/PKG-INFO
#16 25.33   writing dependency_links to signalp6.egg-info/dependency_links.txt
#16 25.33   writing entry points to signalp6.egg-info/entry_points.txt
#16 25.33   writing requirements to signalp6.egg-info/requires.txt
#16 25.33   writing top-level names to signalp6.egg-info/top_level.txt
#16 25.33   reading manifest file 'signalp6.egg-info/SOURCES.txt'
#16 25.33   writing manifest file 'signalp6.egg-info/SOURCES.txt'
#16 25.33   Copying signalp6.egg-info to build/bdist.linux-x86_64/wheel/signalp6-1.0-py3.6.egg-info
#16 25.33   running install_scripts
#16 25.34   creating build/bdist.linux-x86_64/wheel/signalp6-1.0.data
#16 25.34   creating build/bdist.linux-x86_64/wheel/signalp6-1.0.data/scripts
#16 25.34   copying build/scripts-3.6/signalp6_convert_models -> build/bdist.linux-x86_64/wheel/signalp6-1.0.data/scripts
#16 25.35   changing mode of build/bdist.linux-x86_64/wheel/signalp6-1.0.data/scripts/signalp6_convert_models to 755
#16 25.35   creating build/bdist.linux-x86_64/wheel/signalp6-1.0.dist-info/WHEEL
#16 25.35   creating '/tmp/pip-wheel-gocvui5l/tmp33678hdb/signalp6-1.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
#16 25.35   adding 'signalp/__init__.py'
#16 25.35   adding 'signalp/__main__.py'
#16 25.35   adding 'signalp/make_output_files.py'
#16 25.35   adding 'signalp/make_sequence_plot.py'
#16 25.35   adding 'signalp/predict.py'
#16 25.35   adding 'signalp/sequential_model.py'
#16 25.35   adding 'signalp/utils.py'
#16 25.35   adding 'signalp/conversion_utils/__init__.py'
#16 25.35   adding 'signalp/conversion_utils/move_checkpoint_to_device.py'
#16 25.35   adding 'signalp/model_weights/README.md'
#16 25.35   adding 'signalp6-1.0.data/scripts/signalp6_convert_models'
#16 25.35   adding 'signalp6-1.0.dist-info/METADATA'
#16 25.35   adding 'signalp6-1.0.dist-info/WHEEL'
#16 25.35   adding 'signalp6-1.0.dist-info/entry_points.txt'
#16 25.35   adding 'signalp6-1.0.dist-info/top_level.txt'
#16 25.36   adding 'signalp6-1.0.dist-info/RECORD'
#16 25.36   removing build/bdist.linux-x86_64/wheel
#16 25.37   Building wheel for signalp6 (pyproject.toml): finished with status 'done'
#16 25.37   Created wheel for signalp6: filename=signalp6-1.0-py3-none-any.whl size=21772 sha256=45d4d9c2f7f44c6f3bf199e810165201e8900dc5fb45ce85dfae790fc4d5b8fb
#16 25.37   Stored in directory: /root/.cache/pip/wheels/e9/c6/cf/f3bd00dbdd0936965911047a0fe7c0f1dc88a43c4aa4168bb1
#16 25.38 Successfully built signalp6
#16 25.38 Installing collected packages: signalp6
#16 25.39
#16 25.39   changing mode of /opt/conda/envs/predector/bin/signalp6 to 755
#16 25.42 Successfully installed signalp6-1.0
#16 25.42 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#16 25.42 Removed build tracker: '/tmp/pip-req-tracker-qdzjx93h'
#16 25.48 Finished registering signalp6.
#16 25.48 Testing installation...
#16 26.91 Traceback (most recent call last):
#16 26.91   File "/opt/conda/envs/predector/lib/python3.6/site-packages/signalp/predict.py", line 215, in main
#16 26.91     model = torch.jit.load(FAST_MODEL_PATH)
#16 26.91   File "/opt/conda/envs/predector/lib/python3.6/site-packages/torch/jit/_serialization.py", line 151, in load
#16 26.91     raise ValueError("The provided filename {} does not exist".format(f))  # type: ignore[str-bytes-safe]
#16 26.91 ValueError: The provided filename /opt/conda/envs/predector/lib/python3.6/site-packages/signalp/model_weights/distilled_model_signalp6.pt does not exist
#16 26.91
#16 26.91 During handling of the above exception, another exception occurred:
#16 26.91
#16 26.91 Traceback (most recent call last):
#16 26.91   File "/opt/conda/envs/predector/bin/signalp6", line 8, in <module>
#16 26.91     sys.exit(predict())
#16 26.91   File "/opt/conda/envs/predector/lib/python3.6/site-packages/signalp/__init__.py", line 6, in predict
#16 26.91     main()
#16 26.91   File "/opt/conda/envs/predector/lib/python3.6/site-packages/signalp/predict.py", line 219, in main
#16 26.91     raise FileNotFoundError(f"Fast mode requires model to be installed at {FAST_MODEL_PATH}. Missing from this installation.")
#16 26.91 FileNotFoundError: Fast mode requires model to be installed at /opt/conda/envs/predector/lib/python3.6/site-packages/signalp/model_weights/distilled_model_signalp6.pt. Missing from this installation.
------
executor failed running [/bin/sh -c echo  && signalp3-register "/tmp/onbuild/$(basename "${SIGNALP3}")"  && echo  && signalp4-register "/tmp/onbuild/$(basename "${SIGNALP4}")"  && echo  && signalp5-register "/tmp/onbuild/$(basename "${SIGNALP5}")"  && echo  && signalp6-register "/tmp/onbuild/$(basename "${SIGNALP6}")"  && echo  && targetp2-register "/tmp/onbuild/$(basename "${TARGETP2}")"  && echo  && deeploc-register "/tmp/onbuild/$(basename "${DEEPLOC}")"  && echo  && phobius-register "/tmp/onbuild/$(basename "${PHOBIUS}")"  && echo  && tmhmm2-register "/tmp/onbuild/$(basename "${TMHMM}")"  && echo  && rm -rf -- /tmp/onbuild]: exit code: 1


Discussion / hints:
Hi Tian!

Thanks for getting in touch.
I'll look at this a bit more tomorrow (Its a bit late over here), but it looks like you might have downloaded the "slow_sequential" version of SignalP6. 
Note the line `raise FileNotFoundError(f"Fast mode requires model to be installed at {FAST_MODEL_PATH}. Missing from this installation.")`.
SignalP6 has a few different model options. 
We need the "fast" version.

I'll try tomorrow to see if I can reproduce the issue and update the FAQ accordingly.

Hope that fixes it for you though :)
Hey Darcy,
Thanks a lot for your quick response! Yes sure it's not in a rush so take your time.
I did double check and I am sure that I got the fast version of signalP6. However I got the signalP 6.0b instead of signalP 6.0. Not sure whether that's the problem but signalP 6.0 seems not available anymore.
Best, Tian

Fix patch:
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
index 90f54f3..94571b9 100644
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 1.2.1
+current_version = 1.2.2
 commit = True
 tag = True
 tag_name = {new_version}
@@ -71,3 +71,7 @@ replace = -r {new_version}
 [bumpversion:file (revisionarg):docs/running.md]
 search = -r {current_version}
 replace = -r {new_version}
+
+[bumpversion:file (githubusercontent):docs/output.md]
+search = ccdmb/predector/{current_version}
+replace = ccdmb/predector/{new_version}
diff --git a/Dockerfile b/Dockerfile
index 7a8ed23..8217c5d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-ARG VERSION=1.2.1
+ARG VERSION=1.2.2
 FROM "predector/predector-base:${VERSION}"
 
 LABEL description="Docker image containing all requirements for the predector pipeline"
diff --git a/README.md b/README.md
index a927c99..7c2ee26 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ If you do use results of Predector in your manuscripts please also cite the depe
 Predector ranking does not replace these tools, it is designed to combine information from multiple tools in a useful way.
 We rely heavily on these tools and they should be supported with citations to enable their continued development.
 
-More details on dependencies are available in [the wiki](https://github.com/ccdmb/predector/wiki/1.2.1#how-should-i-cite-predector) and we provide a [BibTeX](http://www.bibtex.org/Format/) formatted [file with citations](https://github.com/ccdmb/predector/citations.bib), which can be imported into most citation managers.
+More details on dependencies are available in [the wiki](https://github.com/ccdmb/predector/wiki/1.2.2#how-should-i-cite-predector) and we provide a [BibTeX](http://www.bibtex.org/Format/) formatted [file with citations](https://github.com/ccdmb/predector/citations.bib), which can be imported into most citation managers.
 
 
 ## Documentation
@@ -38,12 +38,12 @@ Brief instructions are presented on this page, but extended documentation can be
 
 Quick documentation links:
 
-- [Quick install instructions](https://github.com/ccdmb/predector/wiki/1.2.1#quick-install)
-- [Extended install instructions](https://github.com/ccdmb/predector/wiki/1.2.1#extended-dependency-install-guide)
-- [Usage](https://github.com/ccdmb/predector/wiki/1.2.1#running-the-pipeline)
-- [Description of outputs](https://github.com/ccdmb/predector/wiki/1.2.1#pipeline-output)
-- [Common issues](https://github.com/ccdmb/predector/wiki/1.2.1#common-issues)
-- [FAQ](https://github.com/ccdmb/predector/wiki/1.2.1#faq)
+- [Quick install instructions](https://github.com/ccdmb/predector/wiki/1.2.2#quick-install)
+- [Extended install instructions](https://github.com/ccdmb/predector/wiki/1.2.2#extended-dependency-install-guide)
+- [Usage](https://github.com/ccdmb/predector/wiki/1.2.2#running-the-pipeline)
+- [Description of outputs](https://github.com/ccdmb/predector/wiki/1.2.2#pipeline-output)
+- [Common issues](https://github.com/ccdmb/predector/wiki/1.2.2#common-issues)
+- [FAQ](https://github.com/ccdmb/predector/wiki/1.2.2#faq)
 
 
 If you have any questions, think that some documentation is missing, or have any other suggestions or issues to report, please feel free to create an [issue](https://github.com/ccdmb/predector/issues) or start a [discussion](https://github.com/ccdmb/predector/discussions).
@@ -52,11 +52,11 @@ If you have any questions, think that some documentation is missing, or have any
 ## Install
 
 This is a quick install guide that unfortunately isn't terribly quick.
-For extended documentation and troubleshooting advice, see the [Wiki install documentation](https://github.com/ccdmb/predector/wiki/1.2.1#quick-install).
+For extended documentation and troubleshooting advice, see the [Wiki install documentation](https://github.com/ccdmb/predector/wiki/1.2.2#quick-install).
 
 Note that if you have run a previous version of the pipeline, you will need to re-build
 the software environment, as the dependencies may have changed.
-Please see the [Wiki install documentation](https://github.com/ccdmb/predector/wiki/1.2.1#optional---remove-previous-software-environments-for-old-versions-of-the-pipeline) for more details.
+Please see the [Wiki install documentation](https://github.com/ccdmb/predector/wiki/1.2.2#optional---remove-previous-software-environments-for-old-versions-of-the-pipeline) for more details.
 
 
 ### Minimal requirements
@@ -94,7 +94,7 @@ Where you have a choice between versions for different operating systems, you sh
 - [SignalP](https://services.healthtech.dtu.dk/services/SignalP-3.0/9-Downloads.php#) version 3.0
 - [SignalP](https://services.healthtech.dtu.dk/services/SignalP-4.1/9-Downloads.php#) version 4.1g
 - [SignalP](https://services.healthtech.dtu.dk/services/SignalP-5.0/9-Downloads.php#) version 5.0b
-- [SignalP](https://services.healthtech.dtu.dk/services/SignalP-6.0/9-Downloads.php#) version 6 "fast"
+- [SignalP](https://services.healthtech.dtu.dk/services/SignalP-6.0/9-Downloads.php#) version 6.0b "fast"
 - [TargetP](https://services.healthtech.dtu.dk/services/TargetP-2.0/9-Downloads.php#) version 2.0
 - [DeepLoc](https://services.healthtech.dtu.dk/services/DeepLoc-1.0/9-Downloads.php#) version 1.0
 - [TMHMM](https://services.healthtech.dtu.dk/services/TMHMM-2.0/9-Downloads.php#) version 2.0c
@@ -102,6 +102,7 @@ Where you have a choice between versions for different operating systems, you sh
 
 Note that DTU (SignalP etc) don't keep older patches and minor versions available.
 If the specified version isn't available to download, another version with the same major number _should_ be fine.
+But please also let us know that the change has happened, so that we can update documentation and make sure our installers handle them correctly.
 
 I suggest storing these all in a folder and just copying the whole lot around.
 If you use Predector often, you'll likely re-build the environment fairly often.
@@ -118,19 +119,19 @@ For singularity and docker container building you may be prompted for your root
 ```bash
 ENVIRONMENT=docker
 
-curl -s "https://raw.githubusercontent.com/ccdmb/predector/1.2.1/install.sh" \
+curl -s "https://raw.githubusercontent.com/ccdmb/predector/1.2.2/install.sh" \
 | bash -s "${ENVIRONMENT}" \
     -3 signalp-3.0.Linux.tar.Z \
     -4 signalp-4.1g.Linux.tar.gz \
     -5 signalp-5.0b.Linux.tar.gz \
-    -6 signalp-6.0.fast.tar.gz \
+    -6 signalp-6.0b.fast.tar.gz \
     -t targetp-2.0.Linux.tar.gz \
     -d deeploc-1.0.All.tar.gz \
     -m tmhmm-2.0c.Linux.tar.gz \
     -p phobius101_linux.tar.gz
 ```
 
-This will create the conda environment (named `predector`), or the docker (tagged `predector/predector:1.2.1`) or singularity (file `./predector.sif`) containers.
+This will create the conda environment (named `predector`), or the docker (tagged `predector/predector:1.2.2`) or singularity (file `./predector.sif`) containers.
 
 **Take note of the message given upon completion**, which will tell you how to use the container or environment with predector.
 
@@ -161,25 +162,25 @@ Use one of the commands below using information given upon completion of depende
 #### Using conda
 
 ```bash
-nextflow run -profile test -with-conda /home/username/path/to/environment -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test -with-conda /home/username/path/to/environment -resume -r 1.2.2 ccdmb/predector
 ```
 
 #### Using docker
 
 ```bash
-nextflow run -profile test,docker -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test,docker -resume -r 1.2.2 ccdmb/predector
 
 # if your docker configuration requires sudo use this profile instead
-nextflow run -profile test,docker_sudo -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test,docker_sudo -resume -r 1.2.2 ccdmb/predector
 ```
 
 #### Using singularity
 
 ```bash
-nextflow run -profile test -with-singularity path/to/predector.sif -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test -with-singularity path/to/predector.sif -resume -r 1.2.2 ccdmb/predector
 
 # or if you've build the container using docker and it's in your local docker registry.
-nextflow run -profile test,singularity -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test,singularity -resume -r 1.2.2 ccdmb/predector
 ```
 
 ## Quickstart
@@ -188,15 +189,15 @@ Say you have a set of amino-acid sequences in fasta format in the directory `pro
 The following command will run the complete analysis and the results will be available in a `results` folder.
 
 ```bash
-nextflow run -resume -r 1.2.1 ccdmb/predector --proteome "proteomes/*"
+nextflow run -resume -r 1.2.2 ccdmb/predector --proteome "proteomes/*"
 ```
 
 To improve performance I strongly recommend specifying an appropriate profile for the computer you're running the pipeline on.
-You can find information on available profiles in the [wiki documentation](https://github.com/ccdmb/predector/wiki/1.2.1#profiles-and-configuration).
+You can find information on available profiles in the [wiki documentation](https://github.com/ccdmb/predector/wiki/1.2.2#profiles-and-configuration).
 
 
 **Please note that if you have previously run a different version of the pipeline on the same computer you will need to ask Nextflow to pull the latest changes.**
-See how to do this in the [extended documentation](https://github.com/ccdmb/predector/wiki/1.2.1#running-different-pipeline-versions) and the [common issues section](https://github.com/ccdmb/predector/wiki/1.2.1#common-issues).
+See how to do this in the [extended documentation](https://github.com/ccdmb/predector/wiki/1.2.2#running-different-pipeline-versions) and the [common issues section](https://github.com/ccdmb/predector/wiki/1.2.2#common-issues).
 
 
 ## Outputs
@@ -204,7 +205,7 @@ See how to do this in the [extended documentation](https://github.com/ccdmb/pred
 The main output of Predector is a file with the suffix `-ranked.tsv` which is a tab separated values file that can be opened in excel.
 This contains a summarised version of all of the information that you would typically need for evaluating effector protein candidates.
 
-You can find a description of all of the results in [the wiki](https://github.com/ccdmb/predector/wiki/1.2.1#pipeline-output).
+You can find a description of all of the results in [the wiki](https://github.com/ccdmb/predector/wiki/1.2.2#pipeline-output).
 
 An example set of results is available in the [`test` directory on github](https://github.com/ccdmb/predector/tree/1.2.1-beta/test/test_set_results).
 
diff --git a/base.Dockerfile b/base.Dockerfile
index 8b51022..1ff39a5 100644
--- a/base.Dockerfile
+++ b/base.Dockerfile
@@ -1,7 +1,7 @@
 FROM continuumio/miniconda3:4.10.3
 
 ENV ENVIRONMENT=predector
-ENV VERSION=1.2.1
+ENV VERSION=1.2.2
 
 LABEL maintainer="darcy.ab.jones@gmail.com"
 LABEL description="Docker image containing all non-proprietary requirements for the predector pipeline"
diff --git a/conda/Makefile b/conda/Makefile
index af330fd..ffda324 100644
--- a/conda/Makefile
+++ b/conda/Makefile
@@ -8,7 +8,7 @@ RTARGETS=r-deepredeff/0.1.1 r-effectr/1.0.2
 RTARGETS_VERSIONS=$(foreach rversion,$(RVERSIONS),$(addprefix r-$(rversion)/,$(RTARGETS)))
 
 TARGETS=effectorp1/1.0 effectorp2/2.0 effectorp3/3.0 localizer/1.0.4 apoplastp/1.0.1 deepsig/0f1e1d9 \
-		signalp3/3.0b signalp4/4.1g signalp5/5.0b signalp6/1.0 \
+		signalp3/3.0b signalp4/4.1g signalp5/5.0b signalp6/6.0b \
 		targetp2/2.0 lasagne/0.2.dev1 deeploc/1.0 \
 		tmhmm/2.0c phobius/1.01 $(RTARGETS_VERSIONS)
 
diff --git a/conda/recipes/signalp6/6.0b/build.sh b/conda/recipes/signalp6/6.0b/build.sh
new file mode 100644
index 0000000..7f49aca
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/build.sh
@@ -0,0 +1,117 @@
+#!/usr/bin/env bash
+
+set -eux
+
+# Where can users download the source from?
+DOWNLOAD_URL=https://services.healthtech.dtu.dk/services/SignalP-${PKG_VERSION}/9-Downloads.php#
+
+# What is the expected source tarball named?
+TAR_FILE=signalp-6.0b.fast.tar.gz
+
+# What is the main executable of the program? e.g. signalp
+EXE=signalp
+
+# What should be the executable name with a version e.g. signalp5
+VEXE=signalp6
+
+# Where is the actual file relative to the basedir in the share folder?
+# This will only need to be changed if your program folder uses a subdirectory under the target directory.
+# e.g. "bin/${EXE}"
+PEXE="${EXE}"
+
+# This should generally be fine as is.
+PVEXE="$(dirname "${PEXE}")/${VEXE}"
+
+
+## You shouldn't need to change anything below this line.
+
+TARGET_DIR="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM}"
+
+mkdir -p "${TARGET_DIR}"
+mkdir -p "$(dirname "${TARGET_DIR}/${PEXE}")"
+mkdir -p "${PREFIX}/bin"
+
+find "${RECIPE_DIR}" -name '*.patch' -exec cp {} "${TARGET_DIR}" \;
+find "${RECIPE_DIR}" -name '*.fasta' -exec cp {} "${TARGET_DIR}" \;
+
+INSTALL_COMPLETE_MESSAGE="\
+${PKG_NAME} ${PKG_VERSION} has not been installed yet.
+
+Due to license restrictions, this recipe cannot distribute ${PKG_NAME} directly.
+Please download ${TAR_FILE} from:
+${DOWNLOAD_URL}
+
+and run the following command to complete the installation:
+\$ ${VEXE}-register ${TAR_FILE}
+
+This will copy ${PKG_NAME} into your conda environment."
+
+
+## Setup the placeholder script
+
+echo "#!/usr/bin/env bash" > "${TARGET_DIR}/${PEXE}"
+echo "echo '${INSTALL_COMPLETE_MESSAGE}'" >> "${TARGET_DIR}/${PEXE}"
+echo "exit 1" >> "${TARGET_DIR}/${PEXE}"
+cp "${TARGET_DIR}/${PEXE}" "${TARGET_DIR}/placeholder.sh"
+chmod a+rx "${TARGET_DIR}/${PEXE}"
+chmod a+rx "${TARGET_DIR}/placeholder.sh"
+
+ln -sf "${TARGET_DIR}/${PEXE}" "${PREFIX}/bin/${EXE}"
+ln -sf "${TARGET_DIR}/${PEXE}" "${PREFIX}/bin/${VEXE}"
+
+# This is necessary because some binaries hard code to the symlink filename.
+ln -sf "${TARGET_DIR}/${PEXE}" "${TARGET_DIR}/${PVEXE}"
+
+
+## Setup the script that will actually install things for us.
+
+REGISTER_FILE="${TARGET_DIR}/register.sh"
+
+echo "#!/usr/bin/env bash" > "${REGISTER_FILE}"
+echo "set -eu" >> "${REGISTER_FILE}"
+echo "PKG_NAME=${PKG_NAME}" >> "${REGISTER_FILE}"
+echo "PKG_VERSION=${PKG_VERSION}" >> "${REGISTER_FILE}"
+echo "PKG_BUILDNUM=${PKG_BUILDNUM}" >> "${REGISTER_FILE}"
+echo "TAR_FILE=${TAR_FILE}" >> "${REGISTER_FILE}"
+echo "DOWNLOAD_URL=${DOWNLOAD_URL}" >> "${REGISTER_FILE}"
+echo "EXE=${EXE}" >> "${REGISTER_FILE}"
+echo "VEXE=${VEXE}" >> "${REGISTER_FILE}"
+echo "PEXE=${PEXE}" >> "${REGISTER_FILE}"
+echo "PVEXE=${PVEXE}" >> "${REGISTER_FILE}"
+echo "INSTALL_COMPLETE_MESSAGE='${INSTALL_COMPLETE_MESSAGE}'" >> "${REGISTER_FILE}"
+cat "${RECIPE_DIR}/register-base.sh" >> "${REGISTER_FILE}"
+cat "${RECIPE_DIR}/register.sh" >> "${REGISTER_FILE}"
+echo 'touch ${TARGET_DIR}/completed' >> "${REGISTER_FILE}"
+cat "${RECIPE_DIR}/register-test.sh" >> "${REGISTER_FILE}"
+chmod a+rx "${REGISTER_FILE}"
+ln -sf "${REGISTER_FILE}" "${PREFIX}/bin/${VEXE}-register"
+
+
+## Setup the script that removes the things we installed
+
+UNREGISTER="${TARGET_DIR}/unregister.sh"
+echo '#!/usr/bin/env bash' > "${UNREGISTER}"
+echo "set -eu" >> "${UNREGISTER}"
+echo "PKG_NAME=${PKG_NAME}" >> "${UNREGISTER}"
+echo "PKG_VERSION=${PKG_VERSION}" >> "${UNREGISTER}"
+echo "PKG_BUILDNUM=${PKG_BUILDNUM}" >> "${UNREGISTER}"
+echo 'if [ -z "${1:-}" ]
+then
+  TARGET_DIR="$(dirname "${0}")"
+else
+  TARGET_DIR="${1}"
+fi
+' >> "${UNREGISTER}"
+echo "TAR_FILE=${TAR_FILE}" >> "${UNREGISTER}"
+echo "DOWNLOAD_URL=${DOWNLOAD_URL}" >> "${UNREGISTER}"
+echo "EXE=${EXE}" >> "${UNREGISTER}"
+echo "VEXE=${VEXE}" >> "${UNREGISTER}"
+echo "PEXE=${PEXE}" >> "${UNREGISTER}"
+echo "PVEXE=${PVEXE}" >> "${UNREGISTER}"
+
+cat "${RECIPE_DIR}/unregister.sh" >> "${UNREGISTER}"
+echo 'mkdir -p "$(dirname "${TARGET_DIR}/${PEXE}")"' >> "${UNREGISTER}"
+echo '[ -f "${TARGET_DIR}/placeholder.sh" ] && cp "${TARGET_DIR}/placeholder.sh" "${TARGET_DIR}/${PEXE}"' >> "${UNREGISTER}"
+echo 'rm -f "${TARGET_DIR}/completed"' >> "${UNREGISTER}"
+
+chmod a+rx "${UNREGISTER}"
diff --git a/conda/recipes/signalp6/6.0b/meta.yaml b/conda/recipes/signalp6/6.0b/meta.yaml
new file mode 100644
index 0000000..6f77184
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/meta.yaml
@@ -0,0 +1,33 @@
+{% set version = "6.0b" %}
+
+package:
+  name: signalp6
+  version: {{ version }}
+
+build:
+  number: 1
+  skip: True  # [win]
+  noarch: python
+
+requirements:
+  run:
+    - python >=3.6
+    - matplotlib>3.3.2
+    - numpy>1.19.2
+    - pytorch>1.7.0
+    - tqdm>4.46.1
+
+test:
+  commands:
+    - 'signalp -h || [ $? == 1 ]'
+    - 'signalp6 -h || [ $? == 1 ]'
+    - 'signalp6-register || [ $? == 1 ]'
+
+about:
+  home: https://services.healthtech.dtu.dk/services/signalp-6.0#
+  summary: "a placeholder library to install signalp versions 6."
+  license: proprietary
+
+extra:
+  recipe-maintainers:
+    - darcyabjones
diff --git a/conda/recipes/signalp6/6.0b/post-link.sh b/conda/recipes/signalp6/6.0b/post-link.sh
new file mode 100755
index 0000000..a11f824
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/post-link.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -eu
+
+TARGET_DIR="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM}"
+
+"${TARGET_DIR}/register.sh" || true
+exit 0
diff --git a/conda/recipes/signalp6/6.0b/pre-unlink.sh b/conda/recipes/signalp6/6.0b/pre-unlink.sh
new file mode 100755
index 0000000..457e113
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/pre-unlink.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -eu
+
+TARGET_DIR="${PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM}"
+
+"${TARGET_DIR}/unregister.sh" "${TARGET_DIR}"
diff --git a/conda/recipes/signalp6/6.0b/register-base.sh b/conda/recipes/signalp6/6.0b/register-base.sh
new file mode 100644
index 0000000..437b35d
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/register-base.sh
@@ -0,0 +1,83 @@
+# Note: $PKG_* variables are inserted above this line by the build script.
+
+WORKDIR="${TMPDIR:-/tmp}/tmp$$"
+
+function cleanup() {
+  if [ ! -z "${WORKDIR:-}" ]
+  then
+    rm -rf -- "${WORKDIR}"
+  fi
+}
+
+trap cleanup EXIT
+
+
+# Use the conda env variable if we can, otherwise try to find it based
+# on the path of this script.
+if [ -z "${CONDA_PREFIX:-}" ]
+then
+    # Find original directory of bash script, resovling symlinks
+    # http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in/246128#246128
+    SOURCE="${BASH_SOURCE[0]}"
+    while [ -h "${SOURCE}" ]; do # resolve $SOURCE until the file is no longer a symlink
+        DIR="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
+        SOURCE="$(readlink "${SOURCE}")"
+        [[ ${SOURCE} != /* ]] && SOURCE="${DIR}/${SOURCE}" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
+    done
+
+    TARGET_DIR="$( cd -P "$( dirname "${SOURCE}" )" && pwd )"
+    ENV_PREFIX="$(dirname $(dirname ${TARGET_DIR}))"
+
+    unset SOURCE
+    unset DIR
+else
+    ENV_PREFIX="${CONDA_PREFIX}"
+    TARGET_DIR="${ENV_PREFIX}/share/${PKG_NAME}-${PKG_VERSION}-${PKG_BUILDNUM}"
+fi
+
+
+function print_license_notice(){
+    echo "${INSTALL_COMPLETE_MESSAGE}"
+}
+
+
+
+if [[ "$#" -lt 1 ]]
+then
+    if [ -f "${TARGET_DIR}/completed" ]
+    then
+        echo "${PKG_NAME} is already installed in your environment."
+        exit 0
+    else
+        print_license_notice
+        exit 1
+    fi
+fi
+
+
+ARCHIVE="${1}"
+
+if [ "$(basename ${ARCHIVE})" != "${TAR_FILE}" ]
+then
+    echo "\
+WARNING: ${ARCHIVE} filename doesn't appear to match the expected filename
+         ${TAR_FILE}.
+" 1>&2
+
+    echo "\
+WARNING: We'll attempt to continue the installation but you may want to
+         double check that you really mean to use this file for package
+         ${PKG_NAME} ${PKG_VERSION}.
+" 1>&2
+fi
+
+
+echo "Registering source file ${ARCHIVE} for ${PKG_NAME} into conda environment at:"
+echo "${TARGET_DIR}"
+echo
+
+
+# Remove all of the old files.
+echo "Unregistering old source files if they exist."
+"${TARGET_DIR}/unregister.sh" "${TARGET_DIR}"
+echo
diff --git a/conda/recipes/signalp6/6.0b/register.sh b/conda/recipes/signalp6/6.0b/register.sh
new file mode 100644
index 0000000..0c9b3b9
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/register.sh
@@ -0,0 +1,88 @@
+# Note: $PKG_* variables are inserted above this line by the build script.
+# Note: $ARCHIVE  and TARGET_DIR etc variables are inserted above this line by register-base.
+
+# For most applications this will find the folder that will be extracted from
+# the tarball, but some e.g. phobius, will give you weird results.
+# Check that this works as expected.
+EXTRACTED_DIR_CALLED="signalp6_fast" # signalp-6-package
+# "$(basename $(tar -tf "${ARCHIVE}" | head -n 1))"
+
+# Don't change the next 3 lines
+mkdir -p "${WORKDIR}"
+tar --no-same-owner --directory=${WORKDIR} -xf "${ARCHIVE}"
+cd "${WORKDIR}"
+
+
+if [ ! -d "${EXTRACTED_DIR_CALLED}" ]
+then
+    if [ -d "signalp6_slow_sequential" ]
+    then
+        echo "This SignalP6 distribution appears to be for the 'slow_sequential' version." 1>&2
+        echo "We only support the 'fast' version." 1>&2
+        echo "Please download the 'fast' version from <https://services.healthtech.dtu.dk/service.php?SignalP-6.0> " 1>&2
+        echo "and try running this command again." 1>&2
+    else
+        echo "This SignalP6 distribution does not conform to the structure that we expected for this version." 1>&2
+        echo "Please double check that you have downloaded the 'fast' version from <https://services.healthtech.dtu.dk/service.php?SignalP-6.0>." 1>&2
+    fi
+
+    echo "" 1>&2
+    echo "If you have definitely downloaded the fast model and are still getting this issue, please contact us: " 1>&2
+    echo "- https://github.com/ccdmb/predector/issues" 1>&2
+    echo "- darcy.ab.jones@gmail.com" 1>&2
+    echo "" 1>&2
+    echo "Sorry for the bother" 1>&2
+    exit 1
+fi
+
+cd "${EXTRACTED_DIR_CALLED}"
+
+
+#### Add your code to install here.
+
+python3 -m pip install ./signalp-6-package/ -vv --no-deps --compile
+SIGNALP_DIR=$(python3 -c "import signalp; import os; print(os.path.dirname(signalp.__file__))" )
+
+mkdir -p "${SIGNALP_DIR}/model_weights"
+
+if [ -d "./signalp-6-package/models/" ]
+then
+  cp -r ./signalp-6-package/models/* "${SIGNALP_DIR}/model_weights/"
+fi
+
+
+if [ ! -f "${SIGNALP_DIR}/model_weights/distilled_model_signalp6.pt" ]
+then
+  echo "This distribution of SignalP6 appears to be missing the 'fast' models. " 1>&2
+  echo "Please make sure that you have downloaded the 'fast' version, and not the 'slow_sequential' one." 1>&2
+  echo "If you have downloaded the correct model and still recieve this error, please report the issue to us, as the SignalP6 package may have changed." 1>&2
+  echo "- https://github.com/ccdmb/predector/issues" 1>&2
+  echo "- darcy.ab.jones@gmail.com" 1>&2
+  exit 1
+fi
+
+# MAKE SURE THAT ALL FILES CAN BE READ BY ANY USER AND
+# EXECUTABLES CAN BE RUN BY ANY USER (important for containers)
+#cd "${TARGET_DIR}"
+#chmod -R a+r .
+#chmod a+x bin/*
+
+#nb we delete WORKDIR using a trap command in register-base.sh
+
+# Don't change the next two lines
+echo "Finished registering ${PKG_NAME}."
+echo "Testing installation..."
+
+
+# Add a command that uses the test dataset included with the package.
+# both TEST_RESULT and TEST_RETCODE should be set.
+# If you REALLY have to skip tests, set TEST_RETCODE=0.
+
+# If you get a non-zero exit code, the test will fail.
+cd "${WORKDIR}"
+EXE=$(which signalp6)
+NEW_EXE=${EXE%6}
+ln -sf ${EXE} ${NEW_EXE}
+
+TEST_RESULT=$(signalp6 --fastafile "${TARGET_DIR}/test_set.fasta" --format none --mode fast --organism eukarya --output_dir "${WORKDIR}/test")
+TEST_RETCODE=$?
diff --git a/conda/recipes/signalp6/6.0b/unregister.sh b/conda/recipes/signalp6/6.0b/unregister.sh
new file mode 100644
index 0000000..e26072f
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/unregister.sh
@@ -0,0 +1,7 @@
+# In here you should remove any (and only the) files that you installed in the register.sh script.
+# Note that we will automatically replace the placeholder script.
+
+# Make sure you use the -f variants to avoid errors if a file doesn't exist.
+
+python3 -m pip uninstall -y signalp6
+# An example is here for the signalp 5 recipe
diff --git a/docs/install.md b/docs/install.md
index 48a5d67..1a80cb4 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -60,7 +60,7 @@ Where you have a choice between versions for different operating systems, you sh
 - [SignalP](https://services.healthtech.dtu.dk/services/SignalP-3.0/9-Downloads.php#) version 3.0
 - [SignalP](https://services.healthtech.dtu.dk/services/SignalP-4.1/9-Downloads.php#) version 4.1g
 - [SignalP](https://services.healthtech.dtu.dk/services/SignalP-5.0/9-Downloads.php#) version 5.0b
-- [SignalP](https://services.healthtech.dtu.dk/services/SignalP-6.0/9-Downloads.php#) version 6 "fast"
+- [SignalP](https://services.healthtech.dtu.dk/services/SignalP-6.0/9-Downloads.php#) version 6.0b "fast"
 - [TargetP](https://services.healthtech.dtu.dk/services/TargetP-2.0/9-Downloads.php#) version 2.0
 - [DeepLoc](https://services.healthtech.dtu.dk/services/DeepLoc-1.0/9-Downloads.php#) version 1.0
 - [TMHMM](https://services.healthtech.dtu.dk/services/TMHMM-2.0/9-Downloads.php#) version 2.0c
@@ -68,6 +68,7 @@ Where you have a choice between versions for different operating systems, you sh
 
 Note that DTU (SignalP etc) don't keep older patches and minor versions available.
 If the specified version isn't available to download, another version with the same major number _should_ be fine.
+But please also let us know that the change has happened, so that we can update documentation and make sure our installers handle them correctly.
 
 I suggest storing these all in a folder and just copying the whole lot around.
 If you use Predector often, you'll likely re-build the environment fairly often.
@@ -84,19 +85,19 @@ For singularity and docker container building you may be prompted for your root
 ```bash
 ENVIRONMENT=docker
 
-curl -s "https://raw.githubusercontent.com/ccdmb/predector/1.2.1/install.sh" \
+curl -s "https://raw.githubusercontent.com/ccdmb/predector/1.2.2/install.sh" \
 | bash -s "${ENVIRONMENT}" \
     -3 signalp-3.0.Linux.tar.Z \
     -4 signalp-4.1g.Linux.tar.gz \
     -5 signalp-5.0b.Linux.tar.gz \
-    -6 signalp-6.0.fast.tar.gz \
+    -6 signalp-6.0b.fast.tar.gz \
     -t targetp-2.0.Linux.tar.gz \
     -d deeploc-1.0.All.tar.gz \
     -m tmhmm-2.0c.Linux.tar.gz \
     -p phobius101_linux.tar.gz
 ```
 
-This will create the conda environment (named `predector`), or the docker (tagged `predector/predector:1.2.1`) or singularity (file `./predector.sif`) containers.
+This will create the conda environment (named `predector`), or the docker (tagged `predector/predector:1.2.2`) or singularity (file `./predector.sif`) containers.
 
 **Take note of the message given upon completion**, which will tell you how to use the container or environment with Predector.
 
@@ -106,7 +107,7 @@ You can also save the install script locally and run `install.sh --help` to find
 
 ```
 -n|--name         -- For conda, sets the environment name (default: 'predector').
-                     For docker, sets the image tag (default: 'predector/predector:1.2.1').
+                     For docker, sets the image tag (default: 'predector/predector:1.2.2').
                      For singularity, sets the output image filename (default: './predector.sif').
 -c|--conda-prefix -- If set, use this as the location to store the built conda
                      environment instead of setting a name and using the default
@@ -149,25 +150,25 @@ Use one of the commands below using information given upon completion of depende
 Using conda:
 
 ```bash
-nextflow run -profile test -with-conda /home/username/path/to/environment -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test -with-conda /home/username/path/to/environment -resume -r 1.2.2 ccdmb/predector
 ```
 
 Using docker:
 
 ```bash
-nextflow run -profile test,docker -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test,docker -resume -r 1.2.2 ccdmb/predector
 
 # if your docker configuration requires sudo use this profile instead
-nextflow run -profile test,docker_sudo -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test,docker_sudo -resume -r 1.2.2 ccdmb/predector
 ```
 
 Using singularity:
 
 ```bash
-nextflow run -profile test -with-singularity path/to/predector.sif -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test -with-singularity path/to/predector.sif -resume -r 1.2.2 ccdmb/predector
 
 # or if you've build the container using docker and it's in your local docker registry.
-nextflow run -profile test,singularity -resume -r 1.2.1 ccdmb/predector
+nextflow run -profile test,singularity -resume -r 1.2.2 ccdmb/predector
 ```
 
 ## Extended dependency install guide
@@ -190,7 +191,7 @@ First we create the conda environment, which includes the non-proprietary depend
 
 ```bash
 # Download the environment config file.
-curl -o environment.yml https://raw.githubusercontent.com/ccdmb/predector/1.2.1/environment.yml
+curl -o environment.yml https://raw.githubusercontent.com/ccdmb/predector/1.2.2/environment.yml
 
 # Create the environment
 conda env create -f environment.yml
@@ -205,7 +206,7 @@ Modify the source tar archive filenames in the commands if necessary.
 signalp3-register signalp-3.0.Linux.tar.Z \
 && signalp4-register signalp-4.1g.Linux.tar.gz \
 && signalp5-register signalp-5.0b.Linux.tar.gz \
-&& signalp6-register signalp-6.0.fast.tar.gz \
+&& signalp6-register signalp-6.0b.fast.tar.gz \
 && targetp2-register targetp-2.0.Linux.tar.gz \
 && deeploc-register deeploc-1.0.All.tar.gz \
 && phobius-register phobius101_linux.tar.gz \
@@ -224,22 +225,22 @@ Modify the source `.tar` archive filenames in the command if necessary.
 Depending on how you installed docker you may need to use `sudo docker` in place of `docker`.
 
 ```bash
-curl -s https://raw.githubusercontent.com/ccdmb/predector/1.2.1/Dockerfile \
+curl -s https://raw.githubusercontent.com/ccdmb/predector/1.2.2/Dockerfile \
 | docker build \
   --build-arg SIGNALP3=signalp-3.0.Linux.tar.Z \
   --build-arg SIGNALP4=signalp-4.1g.Linux.tar.gz \
   --build-arg SIGNALP5=signalp-5.0b.Linux.tar.gz \
-  --build-arg SIGNALP6=signalp-6.0.fast.tar.gz \
+  --build-arg SIGNALP6=signalp-6.0b.fast.tar.gz \
   --build-arg TARGETP2=targetp-2.0.Linux.tar.gz \
   --build-arg PHOBIUS=phobius101_linux.tar.gz \
   --build-arg TMHMM=tmhmm-2.0c.Linux.tar.gz \
   --build-arg DEEPLOC=deeploc-1.0.All.tar.gz \
-  -t predector/predector:1.2.1 \
+  -t predector/predector:1.2.2 \
   -f - \
   .
 ```
 
-Your container should now be available as `predector/predector:1.2.1` in your docker registry `docker images`.
+Your container should now be available as `predector/predector:1.2.2` in your docker registry `docker images`.
 
 
 ### Building the Singularity container the long way
@@ -258,14 +259,14 @@ Modify the source tar archive filenames if necessary.
 export SIGNALP3=signalp-3.0.Linux.tar.Z
 export SIGNALP4=signalp-4.1g.Linux.tar.gz
 export SIGNALP5=signalp-5.0b.Linux.tar.gz
-export SIGNALP6=signalp-6.0.fast.tar.gz
+export SIGNALP6=signalp-6.0b.fast.tar.gz
 export TARGETP2=targetp-2.0.Linux.tar.gz
 export PHOBIUS=phobius101_linux.tar.gz
 export TMHMM=tmhmm-2.0c.Linux.tar.gz
 export DEEPLOC=deeploc-1.0.All.tar.gz
 
 # Download the .def file
-curl -o ./singularity.def https://raw.githubusercontent.com/ccdmb/predector/1.2.1/singularity.def
+curl -o ./singularity.def https://raw.githubusercontent.com/ccdmb/predector/1.2.2/singularity.def
 
 # Build the .sif singularity image.
 # Note that `sudo -E` is important, it tells sudo to keep the environment variables
@@ -279,7 +280,7 @@ If you've already built the container using docker, you can convert them to sing
 You don't need to use `sudo` even if your docker installation usually requires it.
 
 ```bash
-singularity build predector.sif docker-daemon://predector/predector:1.2.1
+singularity build predector.sif docker-daemon://predector/predector:1.2.2
 ```
 
 
@@ -309,7 +310,7 @@ Docker containers can be saved as a tarball and copied wherever you like.
 
 ```bash
 # You could pipe this through gzip if you wanted.
-docker save predector/predector:1.2.1 > predector.tar
+docker save predector/predector:1.2.2 > predector.tar
 ```
 
 And on the other end
diff --git a/docs/output.md b/docs/output.md
index 7ea75d8..7791f87 100644
--- a/docs/output.md
+++ b/docs/output.md
@@ -9,7 +9,7 @@ Predector internally removes duplicate sequences at the start to avoid redundant
 The `deduplicated` folder contains the deduplicated sequences, results, and a mapping file of the old ids to new ones.
 
 Other directories will be named after the input filenames and each contains several tables.
-An example set of these results is available in the [`test` directory on github](https://github.com/ccdmb/predector/tree/1.2.1-beta/test/test_set_results).
+An example set of these results is available in the [`test` directory on github](https://github.com/ccdmb/predector/tree/1.2.2/test/test_set_results).
 
 ### `deduplicated/`
 
diff --git a/docs/running.md b/docs/running.md
index 7e5dd77..4e3ee39 100644
--- a/docs/running.md
+++ b/docs/running.md
@@ -10,7 +10,7 @@ Conda:
 ```bash
 nextflow run \
   -resume \
-  -r 1.2.1 \
+  -r 1.2.2 \
   -with-conda /path/to/conda/env \
   ccdmb/predector \
   --proteome "my_proteomes/*.faa"
@@ -21,7 +21,7 @@ Docker:
 ```bash
 nextflow run \
   -resume \
-  -r 1.2.1 \
+  -r 1.2.2 \
   -profile docker \
   ccdmb/predector \
   --proteome "my_proteomes/*.faa"
@@ -32,7 +32,7 @@ Singularity:
 ```bash
 nextflow run \
   -resume \
-  -r 1.2.1 \
+  -r 1.2.2 \
   -with-singularity ./path/to/singularity.sif \
   ccdmb/predector \
   --proteome "my_proteomes/*.faa"
@@ -342,7 +342,7 @@ In the config files, you can select these tasks by label.
 
 ### Running different pipeline versions.
 
-We pin the version of the pipeline to run in all of our example commands with the `-r 1.2.1` parameter.
+We pin the version of the pipeline to run in all of our example commands with the `-r 1.2.2` parameter.
 These flags are optional, but recommended so that you know which version you ran.
 Different versions of the pipelines may output different scores, use different parameters, different output formats etc.
 It also re-enforces the link between the pipeline version and the docker container tags.
@@ -355,7 +355,7 @@ If you have previously run Predector and want to update it to use a new version,
    Likewise, you can run old versions of the pipeline by simply changing `-r`.
 
   ```
-  nextflow run -r 1.2.1 -latest ccdmb/predector --proteomes "my_proteins.fasta"
+  nextflow run -r 1.2.2 -latest ccdmb/predector --proteomes "my_proteins.fasta"
   ```
 
 2. You can ask Nextflow to pull new changes without running the pipeline using `nextflow pull ccdmb/predector`.
@@ -414,12 +414,12 @@ Here's a basic workflow using precomputed results.
 
 
 ```
-nextflow run -profile docker -resume -r 1.2.1 ccdmb/predector \
+nextflow run -profile docker -resume -r 1.2.2 ccdmb/predector \
   --proteome my_old_proteome.fasta
 
 cp -L results/deduplicated/new_results.ldjson ./precomputed.ldjson
 
-nextflow run -profile docker -resume -r 1.2.1 ccdmb/predector \
+nextflow run -profile docker -resume -r 1.2.2 ccdmb/predector \
   --proteome my_new_proteome.fasta --precomputed_ldjson ./precomputed.ldjson
 
 cat results/deduplicated/new_results.ldjson >> ./precomputed.ldjson
diff --git a/environment.yml b/environment.yml
index bd825d0..caaca38 100644
--- a/environment.yml
+++ b/environment.yml
@@ -16,11 +16,11 @@ dependencies:
   - predector::effectorp3=3.0=py_2
   - predector::localizer=1.0.4
   - predector::phobius=1.01
-  - predector::predectorutils=0.7.3
+  - predector::predectorutils=0.8.0
   - predector::signalp3=3.0b
   - predector::signalp4=4.1g
   - predector::signalp5=5.0b
-  - predector::signalp6=1.0
+  - predector::signalp6=6.0b
   - predector::targetp2=2.0
   - predector::tmhmm=2.0c
   - predector::r-deepredeff=0.1.1
diff --git a/install.sh b/install.sh
index b2c8bdd..1cdcacb 100755
--- a/install.sh
+++ b/install.sh
@@ -8,7 +8,7 @@ REPOBASE="https://raw.githubusercontent.com/ccdmb/predector"
 DOCUMENTATION_URL="https://github.com/ccdmb/predector/wiki"
 
 ### DEFAULT PARAMETERS
-VERSION=1.2.1
+VERSION=1.2.2
 
 SIGNALP3= #signalp-3.0.Linux.tar.Z
 SIGNALP4= #signalp-4.1g.Linux.tar.gz
diff --git a/nextflow.config b/nextflow.config
index d6d6f35..a12fbfc 100644
--- a/nextflow.config
+++ b/nextflow.config
@@ -13,7 +13,7 @@ manifest {
     description = 'A pipeline to predict effectors.'
     mainScript = 'main.nf'
     nextflowVersion = '>=21'
-    version = '1.2.1'
+    version = '1.2.2'
 }
 
 
@@ -61,9 +61,9 @@ params {
     private_phibase_version = "v4-12"
     // The PHI-base team often rename files. Best to get a release from a commit rather than master.
     private_phibase_url = "https://raw.githubusercontent.com/PHI-base/data/55bdbb9105aeeafbd31e830a6bc18cc2afaa315e/releases/phi-base_v4-12_2021-09-02.fas"
-    private_pfam_version = "34.0"
-    private_pfam_hmm_url = "http://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam34.0/Pfam-A.hmm.gz"
-    private_pfam_dat_url = "http://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam34.0/Pfam-A.hmm.dat.gz"
+    private_pfam_version = "35.0"
+    private_pfam_hmm_url = "http://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam35.0/Pfam-A.hmm.gz"
+    private_pfam_dat_url = "http://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam35.0/Pfam-A.hmm.dat.gz"
     private_dbcan_version = "V10"
     private_dbcan_url = "https://bcb.unl.edu/dbCAN2/download/dbCAN-HMMdb-V10.txt"
     private_effectordb_url = "https://figshare.com/ndownloader/files/31397770"
diff --git a/singularity.def b/singularity.def
index d070c56..c864e71 100644
--- a/singularity.def
+++ b/singularity.def
@@ -1,9 +1,9 @@
 bootstrap: docker
-From: predector/predector-base:1.2.1
+From: predector/predector-base:1.2.2
 
 %labels
     Author "darcy.ab.jones@gmail.com"
-    Version "1.2.1"
+    Version "1.2.2"
 
 %help
     A containter will all dependencies for the predector pipeline.


Test patch:
diff --git a/conda/recipes/signalp6/6.0b/register-test.sh b/conda/recipes/signalp6/6.0b/register-test.sh
new file mode 100644
index 0000000..4fdfeb3
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/register-test.sh
@@ -0,0 +1,28 @@
+if [ -z "${TEST_RETCODE:-}" ]
+then
+    echo "Sorry the package author forgot to include a test so this now has to fail." 1>&2
+    echo "Please contact the maintainers <darcy.ab.jones@gmail.com>" 1>&2
+    exit 1
+fi
+
+if [ "${TEST_RETCODE}" -eq 0 ]
+then
+    echo "Test succeeded."
+    echo "${PKG_NAME} is now fully installed!"
+else
+    echo "ERROR: tests for ${PKG_NAME} failed with exit code ${TEST_RETCODE}." 1>&2
+    echo "Please check for any error messages printed to screen." 1>&2
+    echo 1>&2
+
+    if [ -z "${TEST_RESULT:-}"]
+    then
+      echo "STDOUT was:" 1>&2
+      echo "${TEST_RESULT:-}" 1>&2
+      echo 1>&2
+    fi
+
+    echo "If you believe this is a mistake or bug, please contact the maintainers <darcy.ab.jones@gmail.com>" 1>&2
+    echo "" 1>&2
+    echo "Note that the packages are still copied into the conda environment." 1>&2
+    echo "You can rerun '${VEXE}-register' to overwrite these files, or use 'conda uninstall ${PKG_NAME}'." 1>&2
+fi
diff --git a/conda/recipes/signalp6/6.0b/test_set.fasta b/conda/recipes/signalp6/6.0b/test_set.fasta
new file mode 100644
index 0000000..8b250c4
--- /dev/null
+++ b/conda/recipes/signalp6/6.0b/test_set.fasta
@@ -0,0 +1,102 @@
+>PsHopAA1
+MHINRRVQQPPVTATDSFRTASDASLASSSVRSVSSDQQREINAIADYLTDHVFAAHKLP
+PADSADGQAAVDVHNAQITALIETRASRLHFEGETPATIADTFAKAEKLDRLATTTSGAL
+RATPFAMASLLQYMQPAINKGDWLPAPLKPLTPLISGALSGAMDQVGTKMMDRATGDLHY
+LSASPDRLHDAMAASVKRHSPSLARQVLDTGVAVQTYSARNAVRTVLAPALASRPAVQGA
+VDLGVSMAGGLAANAGFGNRLLSVQSRDHQRGGALVLGLKDKEPKAQLSEENDWLEAYKA
+IKSASYSGAALNAGKRMAGLPLDMATDAMGAVRSLVSASSLTQNGLALAGGFAGVGKLQE
+MATKNITDPATKAAVSQLTNLAGSAAVFAGWTTAALTTDPAVKKAESFIQDTVKSTASST
+TGYVADQTVKLAKTVKDMGGEAITHTGASLRNTVNNLRQRPAREADIEEGGTAASPSEIP
+FRPMRS
+>PsHopAB1
+MAGINRAGPSGAYFVGHTDPEPVSGQAHGSGSGASSSNSPQVQPRPSNTPPSNAPAPPPT
+GRERLSRSTALSRQTREWLEQGMPTAEDASVRRRPQVTADAATPRAEARRTPEATADASA
+PRRGAVAHANSIVQQLVSEGADISHTRNMLRNAMNGDAVAFSRVEQNIFRQHFPNMPMHG
+ISRDSELAIELRGALRRAVHQQAASAPVRSPTPTPASPAASSSGSSQRSLFGRFARLMAP
+NQGRSSNTAASQTPVDRSPPRVNQRPIRVDRAAMRNRGNDEADAALRGLVQQGVNLEHLR
+TALERHVMQRLPIPLDIGSALQNVGINPSIDLGESLVQHPLLNLNVALNRMLGLRPSAER
+APRPAVPVAPATASRRPDGTRATRLRVMPEREDYENNVAYGVRLLNLNPGVGVRQAVAAF
+VTDRAERPAVVANIRAALDPIASQFSQLRTISKADAESEELGFKDAADHHTDDVTHCLFG
+GELSLSNPDQQVIGLAGNPTDTSQPYSQEGNKDLAFMDMKKLAQFLAGKPEHPMTRETLN
+AENIAKYAFRIVP
+>XopR1
+MRLTSFFRSTHPVAPEPFNPAATDTAATAGATPSPHLLSHAPKAGTAQGAAKSRQGMLAS
+ARKSLAMLRKQLPSMCMGAPATKTAQSQPALATSAPNAARQGTHPRPPALQAGVDARWKA
+PEAMPQPRNRAPIYTAAPPQQPPSPPRASERFQQRQRAPEQQRQQQVPNVARREPLRPPQ
+QPTFPVRPAPAASPKAATPAPPSPSRRLRPVRNMNLELAALNEQCHYIGRRLYKERRAPS
+PQERSVFEMRAALIAERDAVRDRQLDGMLAALAPLEKIAAPRTTSSRLAMVQYDVMQSNR
+RALLAVRENIDMTKMARYYARAQRRLQSLKESDAPPDKIRRLERMMQGYTNVLALEDMVK
+RTDDQLHRMGAPRLMDSIPTTPQERALSEQNERDDHQEAINNGY
+>XP_014077357.1
+MQFSTLLLSLLPALTIALPTTDSVESSDVLAAVESRQSCYVQCGSTCYTSAQVTAARNAG
+YSYYQSGDEAGSSTYPHTYNNYEGFTFLVSGPYQEFPLKTSGVYTGGSPGADRVIFNTRG
+QRAGEITHTGASGNDFVACSGW
+>BgtE_5846
+MRPFQLLSAIAVFNSLKTVAGEAYWNCNGTPILYVIVRDAVELAFTLQPGSISGYPSIYR
+LPPPLPGLGQLRQFPVIASGATWLGGDIIYYLLANAEMTFCDVFSTEGLGYRCDLVAG
+>CCE26799.1
+MRGLGSFFLLAAAVCSAAVVPGPAPEVAQVTHSELMERAASDNIELYRRQKWVGCLTNFP
+LFHVNQNNRQSFQPLIDHETTQSFDLGEGIHVSINAEYVQSDRHIGLVITNRNIVPIRGS
+IVLSNYRDTFFSTTARVTVQVDHNGETTRTCIRLPRLDGTWYIQRSL
+>CgDN3
+MYSRSLLFFLLVVPFTAAVPVAEQKHNGKPIHVKVPGMGTGTYYPGDHGHDGNVAVYNLA
+HYGNVNGPKKGGKP
+>Fom_2
+MKSFTHILGAFLAMVALVTGAALPEESQLDTRTITESQALSIARRQGACISLDIVPRRVD
+RAHQTNFQWVIREEGRTDWNPNNHVHVLIDAQTTEFDHRLTVEITNRSQRFGNAVILSRY
+AGDTNTGPIQDQIRIPVGTAEGRTAAFVSRCIRLPSLQGTWWWQLEN
+>MlpCTP1
+MTFSLQVKNLVWAAVGIVVLLVTQVQSQGRAICQGALLKGYVTPNQRLLPPMWQGVTASG
+SGQCLSSKAFALGTQPNFAITSTGPLTCADRTYCPNPSNSATNPNTAICEGNTLKGYVTS
+NQRLLPPNWQGATASGSGQCLSSNAFAIGTQPNFEITASSQLRCGNGPNCP
+>MoAvr1_CO39
+MKVQATFATLIALAAYFPAANAWKDCIIQRYKDGDVNNIYTANRNEEITIEEYKVFVNEA
+CHPYPVILPDRSVLSGDFTSAYADDDESC
+>MoBas3
+MQFSTVSFAIFAILPAMVAAMPAETSPVPKPALPVFEELCPDAERQKCAESTDNLKRCLQ
+INGASICVIDCGSQTTCRTQCKQQLKNEKANGFCTVGDNPCICNLNGAANSAH
+>M.TH16.EuGene_00027411
+MRFATSFLPVVGIALQANGVLSLKCLIQVWQFGPGMRLVSFKRVEAGEIGTISEDDVCGS
+VSVQTEEHTCQGTIVMYSLREGFYVTLDKDPRSIEKDQSKSQSSDKHS
+>XP003298007.1
+MKFSTTLLTIASLAISVLSGAVLPTNARDISMAGLEGNIVDLKSLQVRDAVPSYLDNRGI
+PTGCLANIFALLTINQIGRVDIQNEINRRTGIRRDFNGNINVNLDFSQTYEPLRFLRFSI
+QNRSQFISNALILSNYEDTLIGSPRATIRISIPRAGGVAIGTPAPSTYTGCIELPRLDGT
+WYAQLER
+>RsNIP1
+MKFLVLPLSLAFLQIGLVFSTPDRCRYTLCCDGALKAVSACLHESESCLVPGDCCRGKSR
+LTLCSYGEGGNGFQCPTGYRQC
+>PGTG_16791
+MSTATIQPTIEDHQQHQTPPLIDLELASPSLAEEQEQEQQEQQEPEQQQQNSVDHSHTQQ
+PTTPSQSESQTLQINTRNRASSWSLFRRNSISSDRPDSLPSNLLSRLTTPSQPSPPPSAP
+LSGPTITTTTADGSTNLRQTHSSTGSGSFSLSSLAFALKRPLNLNSTPSPSRLSPPQGSP
+QHSPSSTRSTHELSSRDADPDPTPSVPPRLVVESPSEDPPPVPFDFNLFLEQMRWPQAEP
+IAKYLRSFLKEFTKRAHHPTKQTGVAEQVKVVNDFLDFISIKMREIPDGPWDPRTCNEAE
+FDNAVEAMEKLVMNRVWHLTFTPALTTPQPSQTDDLERDTVLSQKMNLFNWLTDRHLDLS
+LPSDEADGFMEFAKTELLKINSYKAPRDKMICILNCCKVIFGLIRHIDQSEGGADTFIPI
+LILVVLRAQPKTLISNLQYIQRFRNPDKMQGENGYYMSSLNAAISFIERLEHSVLSNITQ
+EEFEYNVEQAIVSLPRSPVIENIKASSGGFSAFTQGASSSNSNMGGAGGEAGGTGGGGER
+ADPSPTTATSNRTTTSTSLPDLTRSWLFTTVPQLAEKAVSKPLNAIARIVDDLASESDDL
+HPTERQGLRRASSSVEQPMVDPNRRGSRRGGRPWSADSPRSRHSDLGALDPSSSSSPTNT
+TRKLSSSSDLMPTGHEKSHLSSTDDRRLDQDLRRIEALKRAEHAAKLDTLAAIFPQLESE
+LLEVVLITHRGTISKAIDSLLEMS
+>HpATR13_2
+MRLVHAVLLPGIIVFVSNGNLLHAHALHEDETGVTAGRQLRAAASEVFGLSRASFGLGKA
+QDPLDKFFSKIIFSGKPIETSYSAKGIHEKIIEAHDLHVSKSKNAPIQYASVMEYLKKTY
+PGPDIERIVSTLERHDEVGAKDLGAKLRDALDRQ
+>HpATR13_3
+MRLVHAVLLPGIIVFVSNGNLLHAHALHEDETGVTAGRQLRAAASEVFGLSRASFGLGKA
+QDPLDKFFRKIINSRKPIETSYSAKGIHEKIIKAYDRHVFESKKAHDRHVSKSKKAHGRH
+VSKSKMAHDRHVSKSEKAPIQYASVADYLKKIYPGTDIERIVSTLKRHDEVGAKDLGAKL
+QTAVASQ
+>PcF
+MNFKTCPAVALVAVVATVATAEDPLYCQAIGCPTLYSEANLAVSKECRDQGKLGDDFHRC
+CEEQCGSTTPASA
+>PiAvr3b
+MRAYFVLLVAATAILTYGGATATYSTSKGEMNLTGTVENNRPTRSLRVAPSGGNGEERSW
+STIYGISRSKAETVRDWLMPRLNQGMDVQALAREMGITSRQAATQHQNWDALVKYLKMYN
+YAVRGEKMSKSMAESVLLHNVLTAKNNF
+>PiAvrVnt1
+MRVYAAFVVALVSLLATNSAVLAVTTPTKLAKLTAPEFTDNENRQRRLLRKQEGAELGDE
+ERTSTQNLGNSLMRVFSKEATRKYYLDLFKRADFTANLPKLAKKGGPDRLNDALKKLRKA
+GISEEKFAELKGAAAKYADDWYRIYGKLDPIRA