Tomáš Martínek FIT VUT Brno
Stáhněte si archiv dostupný na adrese: www.fit.vutbr.cz/~martinto/lsb2014.zip
Rozbalte si jej např. do adresáře: ◦ C:\LSB2014
Spusťte si Rstudio a načtěte si soubor ◦ C:\LSB2014\letniskola.R
Nastavte si pracovní adresář na: ◦ C:\LSB2014
Obecná třída pro práci s biologickými sekvencemi
Dále se specializuje na: ◦ DNAString – sekvence DNA ◦ RNAString – sekvence RNA ◦ AAString – sekvence aminokyselin
Pokud se pracuje s více sekvencemi současně (např. fasta soubor s více sekvencemi), využívá se varianta XStringSet
Reprezentuje určitý pohled na DNA/RNA/AA sekvenci resp. její úseky
Součástí této třídy je i samotná sekvence
DNAString
XStringView start end width [1] 100 150 51 [AAGC..AATG] [2] 200 350 251 [GGTA..CATA] …
Pokud vás zajímají pouze jednotlivé úseky, bez příslušné sekvence, můžete využít třídu IRanges
Příklad konstruktoru:
DNAString
IRanges start end width [1] 100 150 51 [2] 200 350 251 …
ir <- IRanges(start=c(100, 200), end=c(150, 350))
Specifická sekundární struktura DNA složená z Guaninových tetrád
Pro vyhledávání se obvykle používá vzorec
◦ G3+N1-7G3+N1-7G3+N1-7G3+
Identifikuje jednotlivé úseky v rámci celého genomu
Neobsahuje samotou DNA sekvenci
chr1
GRanges seqnames ranges strand <Rle> <IRanges> <Rle> [1] chr1 [150, 351] + [2] chr2 [250, 450] - [3] chrY [310, 520] * …
chr2 chrY
… 5’ 3’
3’ 5’
Příklad konstruktoru:
gr <- GRanges(seqnames=c("chr1", "chr2", "chrY"), ranges=IRanges(start=c(150, 250, 310), end=c(351, 450, 520)), strand=c("+", "-", "*"), seqlengths = c("chr1" = 2400, "chr2" = 3500, "chrY"=5500))
findOverlaps(gr_query, qr_subject, ignore.strand=T)
Výsledkem je seznam hitů, který reprezentuje dvojice indexů do původních GRanges struktur
chr1 chr2 chrY
… + -
1
2 3
4
1
2 3
4
Hits queryHits subjectHits <integer> <integer> 1 1 1 2 2 3 3 3 3 …
reduce(gr, ignore.strand=T)
Výsledkem je stopa reprezentující sjednocení jednotlivých elementů původní stopy
chr1 chr2 chrY
… + -
*
gaps(gr)
Vytvoří GRanges stopu z mezer mezi elementy původní stopy
Pozor: Mezery počítá samostatně pro jednotlivá vlákna +, -, *
chr1 chr2 chrY
…
chr1 chr2 chrY
… + - *
+ -
V rámci jedné stopy ◦ flank, resize, shift, promotors
◦ disjoin, gaps, reduce, range
◦ coverage
Mezi dvojicí stop ◦ union, intersect, setdiff
◦ punion, pintersect, psetdiff
◦ findOverlaps, countOverlaps, %in%, match