docs: def get_alignment_df_from_file(alignment_file, a_seq_id=None, b_seq_id=None):
      """Get a Pandas DataFrame of the Needle alignment results. Contains all positions of the sequences.
  
      Args:
          alignment_file:
          a_seq_id: Optional specification of the ID of the reference sequence
          b_seq_id: Optional specification of the ID of the aligned sequence
  
      Returns:
          Pandas DataFrame: all positions in the alignment
  
      """
      alignments = list(AlignIO.parse(alignment_file, "emboss"))
      alignment_df = pd.DataFrame(columns=['id_a', 'id_b', 'type', 'id_a_aa', 'id_a_pos', 'id_b_aa', 'id_b_pos'])
  
      for alignment in alignments:
          if not a_seq_id:
              a_seq_id = list(alignment)[0].id
          a_seq = str(list(alignment)[0].seq)
          if not b_seq_id:
              b_seq_id = list(alignment)[1].id
          b_seq = str(list(alignment)[1].seq)
  
          df = get_alignment_df(a_seq, b_seq, a_seq_id, b_seq_id)
          alignment_df = alignment_df.append(df).reset_index(drop=True)
  
      return alignment_df