code: def clustal_align_protein(recs, work_dir, outfmt="fasta"):
      
      fasta_file = op.join(work_dir, "prot-start.fasta")
      align_file = op.join(work_dir, "prot.aln")
      SeqIO.write(recs, file(fasta_file, "w"), "fasta")
  
      clustal_cl = ClustalwCommandline(cmd=CLUSTALW_BIN("clustalw2"),
              infile=fasta_file, outfile=align_file, outorder="INPUT",
              type="PROTEIN")
      stdout, stderr = clustal_cl()
  
      aln_file = file(clustal_cl.outfile)
      alignment = AlignIO.read(aln_file, "clustal")
      print("\tDoing clustalw alignment: %s" % clustal_cl, file=sys.stderr)
      if outfmt == "fasta":
          return alignment.format("fasta")
      if outfmt == "clustal":
          return alignment
docs: Align given proteins with clustalw.
      recs are iterable of Biopython SeqIO objects