Rolul S4 în Bioconductor

Introducere în Bioconductor în R

James Chapman

Curriculum Manager, DataCamp

S3

Pozitiv

  • CRAN, simplu, dar puternic
  • Flexibil și interactiv
  • Utilizează o funcție generică
  • Funcționalitatea depinde de primul argument
  • Exemplu: plot() și methods(plot)

Negativ

  • Validare slabă a tipurilor și convențiilor de denumire (punct sau nu?)
  • Moștenirea funcționează, dar depinde de intrare
Introducere în Bioconductor în R

S4

Pozitiv

  • Definiție formală a claselor
  • Reutilizabilitate în Bioconductor
  • Validare a tipurilor
  • Convenții de denumire

Exemplu: myDescriptor <- new("GenomeDescription")

Negativ

  • Structură mai complexă față de S3
Introducere în Bioconductor în R

Este S4 sau nu?

Verificați dacă un obiect este S4

isS4(myDescriptor)
TRUE

str pentru obiectele S4 începe cu Formal class

str(myDescriptor)
Formal class 'GenomeDescription' [package "GenomeInfoDb"] with 7 slots
...
Introducere în Bioconductor în R

Definiția clasei S4

O clasă descrie o reprezentare

  • name
  • slots (metode/câmpuri)
  • contains (definiția moștenirii)
MyEpicProject <- setClass(# Define class name with UpperCamelCase
                          "MyEpicProject",
                          # Define slots, helpful for validation
                          slots = c(ini = "Date", 
                                    end = "Date", 
                                    milestone = "character"),
                          # Define inheritance        
                          contains = "MyProject")
Introducere în Bioconductor în R
.S4methods(class = "GenomeDescription")
 [1] coerce          commonName      organism        provider       
 [5] providerVersion releaseDate     releaseName     seqinfo        
 [9] seqnames        show            toString        bsgenomeName   
see '?methods' for accessing help and source code
showMethods(classes = "GenomeDescription", where = search())

Rezumatul obiectului

show(myDescriptor)
| organism:  ()
| provider: 
| provider version: 
| release date: 
| release name: 
| ---
| seqlengths:
Introducere în Bioconductor în R

Să exersăm!

Introducere în Bioconductor în R

Preparing Video For Download...