Please enable JavaScript.
Coggle requires JavaScript to display documents.
Добавить обработку модификаций (Реализовать новую архитектуру для…
Добавить обработку модификаций
Выписать какие есть модификации
В каком виде хранить их архитектурно и как учитывать в скоре? :check:
Где хранить
В NRP
NRP храниться в виде списка аминокислои
В NRP хранить реальную формулу
Хранить Aminoacid у которого уже есть enum и есть getFormula и у NRP, по факту, все равно none, мы хз кто это.
В prediction
Применять модификации нужно именно к prediction
Теперь может подходить несколько мест в prediction. Вынести оптимальный выбор в score.
Где-то в скоре
В score знаем аминокислоту, модификацию и вероятность. Можем решить какой вариант лучше
Get AA score for that data
В aminoacid
Поменять способ записи формул, что бы легко применять модификацию
The same, вычитаем из одной формулы другую и смотрим, какая есть модификация, возвращаем модификацию
Реализовать новую архитектуру для модификаций :check:
Переделать enum aminoacid -> class Aminoacid :check:
Переименовать Aminoadcids->Aminoacid :check:
Переименовать enum Aminoacid->AminoacidId :check:
Добавить информацию о формулах и о аминокислоте в класс :check:
Убрать get AA, вместо этого сделать конструкторы
#
:check:
Удалить использование get_AA
#
:check:
id->AA в aminoacidProb :check:
getAAPos aaId->AA
#
:check:
В NRP хранить аминокислоты, а не id :check:
get aminoacid
#
:check:
contaion :check:
operator == for AA :check:
Создать конструкторы :check:
Добавить класс с модификацией :check:
Обработку отрицательных формул O-2 :check:
Сделать формулки в виде массива :check:
Сделать класс формулы :check:
Сделать конструктор по строке :check:
Сделать массивчатое хранение :check:
конструктор по умолчанию: пустая формула :check:
Заменить строчки на формулы
#
:check:
Matcher со скором с модификациями :check:
Вынести в Score принятие решение какой лучший и с какой модификацией
#
:check:
Сделать наследование Score. Score with modification :check:
Создать класс :check:
Сделать вычитание аминокислот :check:
Сделать вычитание для формул :check:
В scoreAA вместо contain get the best :check:
Score for AA1, AA2, prob, position :check:
get The best AA in pred в основном интерфейсе скора :check:
В Matcher использовать getTheBestScore вместо самостоятельного выбора :check:
Хронить score в Match :check:
Либо хранить ссылку на score или сделать массив с prob static что бы он хранился и заполнялся один раз. Поскольку память *100 это много. :check:
Так же выдавать информацию о позиции и prob наилучшего результата :check:
Сделать тест для скора с модификацией
#
:check:
Запустить на реальных данных и посмотреть как работает :check:
Сделать красивый вывод модификаций :check:
Выдавать аминокислоты с засунытми модификациям :check:
Определить оператор вывода у аминокислоты :check:
Баг, то что создается временная NRPLine, а она там находиться по ссылке в матче. Нужно что бы getLines возвращал ссылки на внутрености. :check:
Совсем простой тест, что вот если есть вариант матча только с модификацией то все будет ОК и он выбирется :check:
Добавить прибавление Модификации к аминокислоте :check:
Формула храниться итоговая суммарная, храниться вектор модификаций :check:
Сделать += для формул :check:
Конструктор модификации по id :check:
Сделать так, что бы проходились тесты с модификацией :check:
Использовать правильный скоринг, а не то что в предке :check:
Если на отрезке нет модификаций, то тот же скор что и у обычного должен быть. :check:
Добавить на это тест :check:
Сделать разные конструкторы для разных видов скора :check:
В Matcher хронить итоговые аминокислоты с модлификациями :check:
У аминокислот хронить векто модификаций, которые влияюи на формулу :check:
Дать аминокислоту для AAPrediction и NRP :check:
Добавить --modification для использования модификаций
Тестирование
Сделать тестирование для работы формул
Какое-то ощутимое замедление тестирования до 25 секунд, каким-то образом сократить до 10. Кажется, слишкмо много лишних действий делается.