<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _fetch_seq(self):
 """Fetches gene sequence from PySAM fasta object. Returns ------- exons : list of str list of exon nucleotide sequences five_prime_ss : list of str list of 5' splice site sequences three_prime_ss : list of str list of 3' splice site sequences """

        exons = []
        three_prime_ss = []
        five_prime_ss = []
        num_exons = self.bed.get_num_exons()
        for i in range(num_exons):
            # add exon sequence
            tmp_id = '{0};exon{1}'.format(self.bed.gene_name, i)
            tmp_exon = self.fasta.fetch(reference=tmp_id)
            exons.append(tmp_exon)

            # add splice site sequence
            tmp_id_3ss = '{0};3SS'.format(tmp_id)
            tmp_id_5ss = '{0};5SS'.format(tmp_id)
            if num_exons == 1:
                pass
            elif i == 0:
                tmp_5ss = self.fasta.fetch(tmp_id_5ss)
                five_prime_ss.append(tmp_5ss)
            elif i == (num_exons - 1):
                tmp_3ss = self.fasta.fetch(tmp_id_3ss)
                three_prime_ss.append(tmp_3ss)
            else:
                tmp_3ss = self.fasta.fetch(tmp_id_3ss)
                tmp_5ss = self.fasta.fetch(tmp_id_5ss)
                three_prime_ss.append(tmp_3ss)
                five_prime_ss.append(tmp_5ss)
        return exons, five_prime_ss, three_prime_ss