Mercurial > repos > galaxy-australia > alphafold2
changeset 8:ca90d17ff51b draft
"planemo upload for repository https://github.com/usegalaxy-au/tools-au commit 03537aada92b5fff565ff48dd47c81462c5df47e"
author | galaxy-australia |
---|---|
date | Fri, 19 Aug 2022 00:29:16 +0000 |
parents | eb085b3dbaf8 |
children | 3bd420ec162d |
files | README.rst alphafold.xml validate_fasta.py |
diffstat | 3 files changed, 17 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/README.rst Tue Apr 19 00:39:29 2022 +0000 +++ b/README.rst Fri Aug 19 00:29:16 2022 +0000 @@ -9,7 +9,9 @@ This document is designed to provide details on the compute environment required for Alphafold operation, and the Galaxy job destination -settings to run the wrapper. +settings to run the wrapper. We strongly suggest reading this entire document +to ensure that your setup is compatible with the hardware that you are +deploying to. For full details on Alphafold requirements, see https://github.com/deepmind/alphafold. @@ -163,11 +165,9 @@ A few parameters can be customized with the use of environment variables set in the job destination: - ``ALPHAFOLD_DB``: path to the reference database root (default ``/data``) -- ``ALPHAFOLD_AA_LENGTH_MIN``: minimum accepted sequence length (default ``30``) -- ``ALPHAFOLD_AA_LENGTH_MAX``: maximum accepted sequence length (default ``2000``) - -For the last two, these could be set to ``0`` and ``50000`` respectively to remove the valiation entirely. - +- ``ALPHAFOLD_USE_GPU [True/False]``: set to ``False`` to disable GPU dependency (defaults to ``True``) +- ``ALPHAFOLD_AA_LENGTH_MIN``: minimum accepted sequence length (default ``0``) +- ``ALPHAFOLD_AA_LENGTH_MAX``: maximum accepted sequence length (default ``0`` - no validation) Closing ~~~~~~~
--- a/alphafold.xml Tue Apr 19 00:39:29 2022 +0000 +++ b/alphafold.xml Fri Aug 19 00:29:16 2022 +0000 @@ -2,7 +2,7 @@ <description> - AI-guided 3D structural prediction of proteins</description> <macros> <token name="@TOOL_VERSION@">2.1.2</token> - <token name="@VERSION_SUFFIX@">0</token> + <token name="@VERSION_SUFFIX@">1</token> </macros> <edam_topics> <edam_topic>topic_0082</edam_topic> @@ -30,8 +30,8 @@ #end if python3 '$__tool_directory__/validate_fasta.py' input.fasta ---min_length \${ALPHAFOLD_AA_LENGTH_MIN:-30} ---max_length \${ALPHAFOLD_AA_LENGTH_MAX:-2000} +--min_length \${ALPHAFOLD_AA_LENGTH_MIN:-0} +--max_length \${ALPHAFOLD_AA_LENGTH_MAX:-0} > alphafold.fasta && ## env vars ------------------------------- @@ -53,12 +53,9 @@ --bfd_database_path \${ALPHAFOLD_DB:-/data}/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt --uniclust30_database_path \${ALPHAFOLD_DB:-/data}/uniclust30/uniclust30_2018_08/uniclust30_2018_08 ## Param introduced in AlphaFold v2.1.2: ---use_gpu_relax=True +--use_gpu_relax=\${ALPHAFOLD_USE_GPU:-True} && -## Uncomment for "dummy" output - read output from test-data -## cp -r '$__tool_directory__/output' . && - ## Generate additional outputs ------------ python3 '$__tool_directory__/gen_extra_outputs.py' output/alphafold $output_plddts && @@ -75,7 +72,7 @@ ]]></command> <inputs> <conditional name="fasta_or_text"> - <param name="input_mode" type="select" label="Fasta Input" help="Single protein sequence to fold. Input can be fasta file from history, or text. Provide only 1 sequence per job."> + <param name="input_mode" type="select" label="Fasta Input" help="Single protein sequence to fold. Input can be fasta file from history, or text. Sequence must be valid IUPAC amino acid characters. Provide only 1 sequence per job."> <option value="history">Use fasta from history</option> <option value="textbox">Paste sequence into textbox</option> </param>
--- a/validate_fasta.py Tue Apr 19 00:39:29 2022 +0000 +++ b/validate_fasta.py Fri Aug 19 00:29:16 2022 +0000 @@ -3,7 +3,7 @@ import re import sys import argparse -from typing import List, TextIO +from typing import List class Fasta: @@ -98,10 +98,10 @@ def validate_num_seqs(self) -> None: """Assert that only one sequence has been provided.""" if len(self.fasta_list) > 1: - raise ValueError( - 'Error encountered validating FASTA:\n' - f' More than 1 sequence detected ({len(self.fasta_list)}).' - ' Please use single FASTA sequence as input.') + sys.stderr.write( + 'WARNING: More than 1 sequence detected.' + ' Using first FASTA sequence as input.\n') + self.fasta_list = self.fasta_list[:1] elif len(self.fasta_list) == 0: raise ValueError( 'Error encountered validating FASTA:\n' @@ -159,7 +159,7 @@ formatted_seq = '' for i in range(0, len(aa_seq), self.line_wrap): formatted_seq += aa_seq[i: i + self.line_wrap] + '\n' - return formatted_seq + return formatted_seq.upper() def main():