Преобразование перекрывающейся области ДНК в переменную, а затем изменение длины перекрывающейся области - PullRequest
0 голосов
/ 18 мая 2018

Я относительно новичок в Python, поэтому я был бы очень признателен за любые конструктивные отзывы о моем коде и был бы очень признателен, если бы вы могли направить меня в правильном направлении, если я ошибаюсь.

Итак, я разработал программу на Python, которая принимает последовательность ДНК, в основном строку, состоящую всего из четырех букв (A, T, C и G), и находит дополнение этой последовательности.После этого он берет две последовательности и делит их на фрагменты определенной длины, так что каждый фрагмент перекрывается с соседним фрагментом на одинаковое количество букв.

Например, он будет принимать последовательность ДНК, скажем, s1, и производить следующий вывод для своего комплемента и фрагментов.

s1 = "AGCCCTCCAGGACAGGCTGCATCAGAAGAGGCCATCAAGCAGGTCTGTTCCAAGGGCCTTTGCGTCAGGT"

print(dna_complement(s1))
>>>> complement = TCGGGAGGTCCTGTCCGACGTAGTCTTCTCCGGTAGTTCGTCCAGACAAGGTTCCCGGAAACGCAGTCCA
print(dna_fragment(s1, oligo_size=8, oligo_overlap=3)):
>>>> AGCCCTCC..GACAGGCT..ATCAGAAG..GCCATCAA..AGGTCTGT..CAAGGGCC..TGCGTCAGGT
     .....AGGTCCTG..CGACGTAG..TTCTCCGG..GTTCGTCC..ACAAGGTT..CGGAAACG.......

Как вы можете видеть в приведенном выше примере, выходные данные dna_fragmentation представляют собой две строки, которые имеют олиго-перекрытие из 3 пар оснований (т.е. трех букв), а размер олиго не менее 8 пар оснований..

В дальнейшем программа пытается определить значение для конкретного параметра (Tm) для перекрывающейся области (Tm - температура, при которой половина перекрывающейся области свернута в спираль, а другая половина находится в форме дуплекса ДНК).).Теперь программа должна попытаться изменить длину перекрывающейся области так, чтобы Tm для перекрывающихся областей была приблизительно одинаковой для всех перекрывающихся областей.Я успешно выполнил ранее поставленные задачи, сохранив олиго (фрагменты) в списке и использовав понимание списка, чтобы найти Tm для каждого олиго;однако, мне не удалось выполнить последнюю задачу.

Поэтому мой вопрос заключается в том, как я могу взять перекрывающуюся область, сохранить ее в переменной и затем изменить ее длину так, чтобы она соответствовала определенной Tm?

...