Я сделала:
- каркас приложения
- парсиг входного файла
- генерацию своих отчётов
- генерацию общего отчёта в виде HTML.
- Сгенерировать отчёт:
python fastqc_breaker.py example.fastq
- Посмотреть результат:
chromium Report/report.html
После можно сгенерировать отчёт с помощью fastqc и сравнить результаты. Формат нашего отчёта повторяет отчёт от Fastqc.
Это главный файл программы. Он:
- парсит входной файл во внутреннее представление
- вызывает функции генерации отчётов
- вызывает генерацию итогового отчёта
Это класс. Он является представлением всех ридов из файла в виде numpy 2D array. Нампи-2Д-массив позволяет быстро обрабатывать большие файлы. Функциоал этого класса можно расширять при необходимости.
Здесь находятся все функции, которые генерируют отчёты.
Для каждого отчёта из общего отчёта есть отдельная функция.
Каждая такая функция должны создать картинку отчёта с заданным именем
и вернуть статус - good, warning или fail.
На вход это функции приходит объект класа Sequences и требуемое имя картинки отчёта.
Каждому из нас необходимо наполнить эти функции для своих отчётов.
В каждой такой функции сейчас нвходиться пример кода, генерирующий пустой график
и возвращающий статус.
Исключение составляет первый отчёт - там таблица. В результате работы функция
должна вернуть словарь со словами. Пример заполнения словаря уже есть в функции.
Надо просто сделать наполнение реальными данными.
Это класс, который создаёт итоговый отчёт в виде хтмл. Впапке Html находится шаблон этого отчёта и вспомогательные картинки. В резльтате работы функций из reports.py, в исходном шаблоне отчёта будут подменены некоторые слова, и мы получим готовый отчёт.