How it works
# Input is detected automatically:
# - Starts with '>' → FASTA (used directly)
# - 6–10 char accessions → UniProt: fetch https://www.uniprot.org/uniprot/{id}.fasta
# - 4 char alphanumeric IDs → PDB: fetch https://www.rcsb.org/fasta/entry/{id}
# - File upload → FASTA file (passed directly)
# Clustal-Omega is then called:
clustalo -i input.fasta -o output.clu --outfmt=clustal --force