Mercurial > repos > galaxy-australia > alphafold2
diff scripts/validate_fasta.py @ 24:31f648b7555a draft
planemo upload for repository https://github.com/usegalaxy-au/tools-au commit 44db277529c0e189149235cf60a627193a792fba
author | galaxy-australia |
---|---|
date | Sat, 05 Jul 2025 03:56:38 +0000 |
parents | 2891385d6ace |
children |
line wrap: on
line diff
--- a/scripts/validate_fasta.py Wed Apr 16 05:46:58 2025 +0000 +++ b/scripts/validate_fasta.py Sat Jul 05 03:56:38 2025 +0000 @@ -12,7 +12,7 @@ class Fasta: def __init__(self, header_str: str, seq_str: str): self.header = header_str - self.sequence = seq_str + self.aa_seq = seq_str class FastaLoader: @@ -140,16 +140,16 @@ """Confirm whether sequence length is valid.""" fasta = self.fasta_list[0] if self.min_length: - if len(fasta.sequence) < self.min_length: + if len(fasta.aa_seq) < self.min_length: raise ValueError( 'Error encountered validating FASTA:\n Sequence too short' - f' ({len(fasta.sequence)}AA).' + f' ({len(fasta.aa_seq)}AA).' f' Minimum length is {self.min_length}AA.') if self.max_length: - if len(fasta.sequence) > self.max_length: + if len(fasta.aa_seq) > self.max_length: raise ValueError( 'Error encountered validating FASTA:\n' - f' Sequence too long ({len(fasta.sequence)}AA).' + f' Sequence too long ({len(fasta.aa_seq)}AA).' f' Maximum length is {self.max_length}AA.') def validate_alphabet(self): @@ -158,7 +158,7 @@ If not, report the offending character and its position. """ fasta = self.fasta_list[0] - for i, char in enumerate(fasta.sequence.upper()): + for i, char in enumerate(fasta.aa_seq.upper()): if char not in self.iupac_characters: raise ValueError( 'Error encountered validating FASTA:\n Invalid amino acid' @@ -167,7 +167,7 @@ def validate_x(self): """Check for X bases.""" fasta = self.fasta_list[0] - for i, char in enumerate(fasta.sequence.upper()): + for i, char in enumerate(fasta.aa_seq.upper()): if char == 'X': raise ValueError( 'Error encountered validating FASTA:\n Unsupported AA code' @@ -180,14 +180,14 @@ def write(self, fasta: Fasta): header = fasta.header - seq = self.format_sequence(fasta.sequence) + seq = self.format_sequence(fasta.aa_seq) sys.stdout.write(header + '\n') sys.stdout.write(seq) - def format_sequence(self, sequence: str): + def format_sequence(self, aa_seq: str): formatted_seq = '' - for i in range(0, len(sequence), self.line_wrap): - formatted_seq += sequence[i: i + self.line_wrap] + '\n' + for i in range(0, len(aa_seq), self.line_wrap): + formatted_seq += aa_seq[i: i + self.line_wrap] + '\n' return formatted_seq.upper() @@ -214,7 +214,7 @@ sys.stderr.write("Validated FASTA sequence(s):\n\n") for fas in clean_fastas: sys.stderr.write(fas.header + '\n') - sys.stderr.write(fas.sequence + '\n\n') + sys.stderr.write(fas.aa_seq + '\n\n') except ValueError as exc: sys.stderr.write(f"{exc}\n\n")