Skip to content

implementing FASTQC-like tool in python as learning project in python programming course by bioinformatics institute

License

Notifications You must be signed in to change notification settings

p-vychik/FASTQC_breaker

Repository files navigation

FastQC Breaker

Всем привет! Это временное рабочее описание как и что работает.

Что сделано

Я сделала:

  1. каркас приложения
  2. парсиг входного файла
  3. генерацию своих отчётов
  4. генерацию общего отчёта в виде HTML.

Как запустить

  1. Сгенерировать отчёт: python fastqc_breaker.py example.fastq
  2. Посмотреть результат: chromium Report/report.html

После можно сгенерировать отчёт с помощью fastqc и сравнить результаты. Формат нашего отчёта повторяет отчёт от Fastqc.

Как это работает

fastqc_breaker.py

Это главный файл программы. Он:

  1. парсит входной файл во внутреннее представление
  2. вызывает функции генерации отчётов
  3. вызывает генерацию итогового отчёта

sequences.py

Это класс. Он является представлением всех ридов из файла в виде numpy 2D array. Нампи-2Д-массив позволяет быстро обрабатывать большие файлы. Функциоал этого класса можно расширять при необходимости.

reports.py

Здесь находятся все функции, которые генерируют отчёты. Для каждого отчёта из общего отчёта есть отдельная функция. Каждая такая функция должны создать картинку отчёта с заданным именем и вернуть статус - good, warning или fail. На вход это функции приходит объект класа Sequences и требуемое имя картинки отчёта. Каждому из нас необходимо наполнить эти функции для своих отчётов. В каждой такой функции сейчас нвходиться пример кода, генерирующий пустой график и возвращающий статус.

Исключение составляет первый отчёт - там таблица. В результате работы функция должна вернуть словарь со словами. Пример заполнения словаря уже есть в функции. Надо просто сделать наполнение реальными данными.

html_creator.py

Это класс, который создаёт итоговый отчёт в виде хтмл. Впапке Html находится шаблон этого отчёта и вспомогательные картинки. В резльтате работы функций из reports.py, в исходном шаблоне отчёта будут подменены некоторые слова, и мы получим готовый отчёт.

About

implementing FASTQC-like tool in python as learning project in python programming course by bioinformatics institute

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •