IV108 Bioinformatika II

1. a 2. týden - Sekvence, teorie informace a explorativní programování na cmdline - 20. - 27. 9. 2023

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2023/IV108/um/IV108-01-2022-full.pdf
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2023/IV108/um/entropy-12-00034.pdf

================================================================

-> přístup k počítači s Linuxem (biolinux.fi.muni.cz)

- z Linuxu příkazem ssh -X username@hostname

- z Windows kombinací nástrojů Xming a putty

- https://copy.sh/v86/?profile=linux26&ref=itsfoss.com

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2023/IV108/um/linux_cmd.png

sed
awk


Ukol 1 (1b)

Vyřešte Task B (z odkazu výše, data jsou v materiálech kurzu jako Yeast Genome Annotation nebo https://www.fi.muni.cz/~lexa/saccharomyces_cerevisiae.gff).


________________________

1) ČETBA

Přečtěte výšeuvedený "Entropy paper" a napište několika větami co bylo v článku pro Vás nové, zajímavé nebo pochybné a proč - řekneme si pak navzájem příští týden.

2) CVIČENÍ

Použijeme soubor všech proteinů Arabidopsis thaliana ATH1.fa (materiály kurzu nebo https://www.fi.muni.cz/~lexa/ATH1.fa).

Za pomoci některého z Vám blízkého interaktivního jazyka (bash+sed+awk+..., Perl, R, Python) vytvořte jednoduché příkazy (1 nebo několik navazujících). Demonstrujte na whiteboard Vám blízký one-liner, uvedte jeho krátkou charakteristiku a připravte si slovní vysvětlení.  Později, kde to je možné, využijte regulární výrazy spustitelné z příkazové řádky transformující soubor ATH1.fa s nasledovnými výstupy:


1) Přeformátuje soubor tak, aby v hlavičce bylo pořadové číslo sekvence v souboru a jenom identifikátor oddělené podtržítkem (např. >2_At1g01020.1)

2) Tabulka s ID sekvence a její délkou oddělené tabulátorem

3) Všechny n-tice za sebou jdoucích aminokyselin (n-gramy), každá na zvláštní řádek (n je volitelny parametr). n-gram je libovolný podřetězec délky n, např. ze sekvence MASALL můžeme vytvořit 3 4-gramy: MASA, ASAL, SALL.

UKOL 2 (1b)

Vytvořte "one-liner" (pokud je potřeba, můžete zřetězit na řádek několik příkazů, max délka 128 ASCII znaků), který vypíše pět nejčastěji se vyskytujících k-merů délky 4.

RESENI:

Lexa:

cat ATH1.fa|grep -v ">"|tr -d "*"|perl -ne "while(s/(.)(...)([^\*]+)/\$2\$3/){print \"\$1\$2\\n\"}"|sort|uniq -c|sort -nr|head -5
   8374 SSSS
   4201 PPPP
   3937 EEEE
   3753 GGGG
   2012 DDDD

Studenti:

AWK+BASH

grep -v "^>" ATH1.fa | awk '{for(i=1;i<=length-3;i++) print substr($0,i,4)}' | sort | uniq -c | sort -nr | head -5
   8374 SSSS
   4201 PPPP
   3937 EEEE
   3753 GGGG
   2012 DDDD

grep -oP "^\w+" ATH1.fa|awk '{for(i=1;i<=length($0)-3;i++) print substr($0,i,4)}'|sort|uniq -c|sort -nr|head -5
   8374 SSSS
   4201 PPPP
   3937 EEEE
   3753 GGGG
   2012 DDDD

AWK

awk '!/>/&&NF{i=1;while(i+4<=length+1){k=substr($0,i,4);c[k]++;i++}}END{i=0;PROCINFO["sorted_in"]="@val_num_desc";for(k in c){if(++i>5)break;print k}}' ATH1.fa
SSSS
PPPP
EEEE
GGGG
DDDD

BASH

cat ATH1.fa|grep -v '^>'|tr -d '\n'|fold -w1|while read -n1 c;do s="$s$c";[ ${#s} -eq 4 ] && echo "$s" && s="${s#?}"; done|sort|uniq -c|sort -nr|head -5
   8374 SSSS
   4201 PPPP
   3937 EEEE
   3753 GGGG
   2012 DDDD