Skip to Content

Bioinformatické algoritmy, databáze a nástroje



Credit program

To get credits for the course, you are required to implement a "bioinformatics toolbox", a set of basic bioinformatics tasks such as parsing FASTA or PDB files, calculation of various distances over sequences or MSAs, or simple "homology" determination. The description of the tasks is available here and you need to implement at least seven out of the nine tasks. All the tasks should be implemented in a single library which will be available via a common frontend providing access to the individual tasks. This frontend can be either a command-line interface or a GUI. In any case, the frontend needs to enable to provide different inputs to the tasks (i.e. sequences, FASTA files, PDB files, distance matrices, ...).

You can use any programming language and any library (e.g. BioPython, BioJava, BioPerl, SeqAn, dotnetbio). But using a library is not a requirement. Preferably use a git repository such as GitHub or GitLab for the development and submitting the resulting code.

Follows a list of requirements and recommendations. please go through them before you submit your code:

  • Provide a README ( in case of git repository) with a high-level description of the architecture of the library and with instructions about how to compile the program (if necessary) and how to run the individual tasks which you implemented.
  • Provide test data for all the implemented tasks and in README provided
  • The structure of the program should include separate directories with source code, with test data, documentation and so on. The structure has to be documented as well.
  • The code has to be commented.
  • Substitution matrix has to be provided as a parameter and not hard-coded.
  • If you decide to implement the "Combining structure and sequence" task, include also short analysis whether on your data you indeed see higher conservation for active site residues.
  • If you use Python, feel free to use Jupyter notebooks for presenting the toolbox functionality (not required).