docs: def _remove_sequences_from_alignment(self, sequence_names, input_alignment_file, output_alignment_file):
          '''Remove sequences from the alignment file that have names in
          sequence_names
  
          Parameters
          ----------
          sequence_names: list of str
              names of sequences to remove
          input_alignment_file: str
              path to alignment file to remove from
          output_alignment_file: str
              path to alignment file to write to
  
          Returns
          -------
          int: number of sequences written to file'''
          nameset = set(sequence_names)
          num_written = 0
          with open(output_alignment_file, 'w') as f:
              for s in SeqIO.parse(open(input_alignment_file), "fasta"):
                  if s.name not in nameset:
                      SeqIO.write(s, f, "fasta")
                      num_written += 1
          logging.debug("After removing sequences from alignment, %i remain" % num_written)
          return num_written