Сравнение двух последовательностей ДНК для аннотирования различий

#python #alignment

#python #выравнивание

Вопрос:

Я пытаюсь взять две последовательности ДНК и сравнить их, чтобы определить различия, если таковые имеются, в частности удаления или вставки.

Я получаю сообщение об ошибке, что индекс списка находится вне диапазона.

Ошибки: Обратная трассировка (последний последний вызов): Файл «/Users/DiegoJaime/Desktop/MuSK_Fc Alignment_copy.py «, строка 59, в GeneSort(‘FL_MuSK.txt ‘, ‘FL_MuSK_Fc.txt ‘) Файл «/Users/DiegoJaime/Desktop/MuSK_Fc Alignment_copy.py «, строка 49, в GeneSort print(«Место удаления nStart: %s: End: %s’ %(string1[0],string2[-1])) Ошибка IndexError: список индексов вне диапазона

                 def GeneSort(inFileName1, inFileName2):
                in1= inFileName1
                masterlist1 = open(in1, 'r')
                in2 = inFileName2
                masterlist2 = open(in2, 'r')

            # Output file of gene names for GO searches
                Overlap= 'OverlapGenes.txt'
                GeneListOutput= open(Overlap, 'w')

                nt1= ''
                nt2=''
                for line1 in masterlist1:
                    line1= line1.strip()
                    nt1 = line1


                for line2 in masterlist2:
                    line2=line2.strip()
                    nt2 =line2

                i = 0
                string1 = []
                while i < len(nt2)-1:
                    if nt1[i] != nt2[i]:
                        string1.append(i)


                    i  = 1

                print('%d  :  %d' %(len(nt1), len(nt2)))


                j= len(nt2)-1
                i= len(nt1)-1
                string2 = []
                count=0
                while count < len(nt2)-1:

                    if nt1[i] == nt2[j]:

                        string2.append(i)

                        j = j-1
                        i = i-1
                    count  =1


                print( 'Site of deletionnStart: %s : End: %s' %(string1[0],string2[-1]))



            GeneSort( 'FL_MuSK.txt', 'FL_MuSK_Fc.txt')
  

Комментарии:

1. Вы заставляете нас угадывать, где ошибка. Покажите нам все сообщение об ошибке, включая строку, которая вызывает ошибку.

2. Отредактируйте свой пост, чтобы включить обратную трассировку — его трудно прочитать в комментарии.

3. Ошибки, включенные в сообщение

4. string1 и / или string2 являются пустыми списками, и поэтому вы не можете получить доступ к элементам внутри них с string1[0] помощью and string2[-1] .

5. В качестве простого шага отладки попробуйте напечатать string1 и string2 непосредственно перед строкой ошибки.