Pbase
example dataPackage: Pbase
Authors: Laurent Gatto and Sebastian Gibb
Last compiled: Mon Oct 30 19:59:06 2017
Last modified: 2017-10-30 17:27:57
This vignette briefly introduces the central data object of the Pbase
package, namely Proteins
instances, as depicted below. They contain a set of protein sequences (10 in the figure below), composed of the protein sequences (grey boxes) and annotation data (table on the left). Each protein links to a set of ranges of interest, such as protein domains of experimentally observed peptides (also in grey) that are also decorated with their own annotation data. The figure also show the accessors for the different data slots, that are detailed in ?Proteins
.
Proteins
objects are populated by protein sequences stemming from a fasta file and the peptides typically originate from an LC-MSMS experiment.
The original data used below is a 10 fmol Peptide Retention Time Calibration Mixture spiked into 50 ng HeLa background acquired on a Thermo Orbitrap Q Exactive instrument. A restricted set of high scoring human proteins from the UniProt release 2015_02
were searched using the MSGF+
search engine.
library("Biostrings")
## Loading required package: XVector
##
## Attaching package: 'Biostrings'
## The following object is masked from 'package:base':
##
## strsplit
fafile <- system.file("extdata/HUMAN_2015_02_selected.fasta",
package = "Pbase")
fa <- readAAStringSet(fafile)
fa
## A AAStringSet instance of length 9
## width seq names
## [1] 2602 MPVTEKDLAEDAPWKKIQQNTF...VLAVKWGEEHIPGSPFHVTVP sp|O75369|FLNB_HU...
## [2] 3374 MSPESGHSRIFEATAGPNKPES...YTLSKDSLSNGVPSGRQAEFS sp|A4UGR9|XIRP2_H...
## [3] 2624 MFRRARLSVKPNVRPGVGARGS...EATTVSEYFFNDIFIEVDETE sp|A6H8Y1|BDP1_HU...
## [4] 911 MVDYHAANQSYQYGPSSAGNGA...AVPGALDYKSFSTALYGESDL sp|O43707|ACTN4_H...
## [5] 417 MSLSNKLTLDKLDVKGKRVVMR...GASLELLEGKVLPGVDALSNI sp|P00558|PGK1_HU...
## [6] 375 MDDDIAALVVDNGSGMCKAGFA...MWISKQEYDESGPSIVHRKCF sp|P60709|ACTB_HU...
## [7] 664 METPSQRRATRSGAQASSTPLS...RSYLLGNSSPRTQSPQNCSIM sp|P02545|LMNA_HU...
## [8] 364 MPYQYPALTPEQKKELSDIAHR...TPSGQAGAAASESLFVSNHAY sp|P04075|ALDOA_H...
## [9] 418 MARRKPEGSSFNMTHLSMAMAF...TPSGQAGAAASESLFVSNHAY sp|P04075-2|ALDOA...
library("mzID")
idfile <- system.file("extdata/Thermo_Hela_PRTC_selected.mzid",
package = "Pbase")
id <- flatten(mzID(idfile))
## reading Thermo_Hela_PRTC_selected.mzid... DONE!
dim(id)
## [1] 137 29
head(id)
## spectrumid scan number(s)
## 1 index=173 12256
## 1.1 index=173 12256
## 2 index=163 11860
## 2.1 index=163 11860
## 3 index=200 13408
## 3.1 index=200 13408
## spectrum title
## 1 msLevel 2; retentionTime 2094.56706; scanNum 12256; precMz 1137.06665029649; precCharge 2
## 1.1 msLevel 2; retentionTime 2094.56706; scanNum 12256; precMz 1137.06665029649; precCharge 2
## 2 msLevel 2; retentionTime 2039.84424; scanNum 11860; precMz 1136.57450195803; precCharge 2
## 2.1 msLevel 2; retentionTime 2039.84424; scanNum 11860; precMz 1136.57450195803; precCharge 2
## 3 msLevel 2; retentionTime 2258.27868; scanNum 13408; precMz 703.038108542133; precCharge 3
## 3.1 msLevel 2; retentionTime 2258.27868; scanNum 13408; precMz 703.038108542133; precCharge 3
## acquisitionnum passthreshold rank calculatedmasstocharge
## 1 173 TRUE 1 1136.574
## 1.1 173 TRUE 1 1136.574
## 2 163 TRUE 1 1136.574
## 2.1 163 TRUE 1 1136.574
## 3 200 TRUE 1 703.037
## 3.1 200 TRUE 1 703.037
## experimentalmasstocharge chargestate ms-gf:denovoscore ms-gf:evalue
## 1 1137.0667 2 132 2.597097e-18
## 1.1 1137.0667 2 132 2.597097e-18
## 2 1136.5745 2 230 4.942664e-17
## 2.1 1136.5745 2 230 4.942664e-17
## 3 703.0381 3 145 4.080429e-10
## 3.1 703.0381 3 145 4.080429e-10
## ms-gf:rawscore ms-gf:specevalue assumeddissociationmethod isotopeerror
## 1 118 2.276758e-22 CID 1
## 1.1 118 2.276758e-22 CID 1
## 2 186 4.333009e-21 CID 0
## 2.1 186 4.333009e-21 CID 0
## 3 98 3.578068e-14 CID 0
## 3.1 98 3.578068e-14 CID 0
## isdecoy post pre end start accession length
## 1 FALSE C K 134 112 sp|P04075|ALDOA_HUMAN 364
## 1.1 FALSE C K 188 166 sp|P04075-2|ALDOA_HUMAN 418
## 2 FALSE C K 134 112 sp|P04075|ALDOA_HUMAN 364
## 2.1 FALSE C K 188 166 sp|P04075-2|ALDOA_HUMAN 418
## 3 FALSE Y K 173 154 sp|P04075|ALDOA_HUMAN 364
## 3.1 FALSE Y K 227 208 sp|P04075-2|ALDOA_HUMAN 418
## description
## 1 Fructose-bisphosphate aldolase A OS=Homo sapiens GN=ALDOA PE=1 SV=2
## 1.1 Isoform 2 of Fructose-bisphosphate aldolase A OS=Homo sapiens GN=ALDOA
## 2 Fructose-bisphosphate aldolase A OS=Homo sapiens GN=ALDOA PE=1 SV=2
## 2.1 Isoform 2 of Fructose-bisphosphate aldolase A OS=Homo sapiens GN=ALDOA
## 3 Fructose-bisphosphate aldolase A OS=Homo sapiens GN=ALDOA PE=1 SV=2
## 3.1 Isoform 2 of Fructose-bisphosphate aldolase A OS=Homo sapiens GN=ALDOA
## pepseq modified modification
## 1 GVVPLAGTNGETTTQGLDGLSER FALSE <NA>
## 1.1 GVVPLAGTNGETTTQGLDGLSER FALSE <NA>
## 2 GVVPLAGTNGETTTQGLDGLSER FALSE <NA>
## 2.1 GVVPLAGTNGETTTQGLDGLSER FALSE <NA>
## 3 IGEHTPSALAIMENANVLAR FALSE <NA>
## 3.1 IGEHTPSALAIMENANVLAR FALSE <NA>
## idFile spectrumFile
## 1 Thermo_Hela_PRTC_selected.mzid Thermo_Hela_PRTC_selected.mgf
## 1.1 Thermo_Hela_PRTC_selected.mzid Thermo_Hela_PRTC_selected.mgf
## 2 Thermo_Hela_PRTC_selected.mzid Thermo_Hela_PRTC_selected.mgf
## 2.1 Thermo_Hela_PRTC_selected.mzid Thermo_Hela_PRTC_selected.mgf
## 3 Thermo_Hela_PRTC_selected.mzid Thermo_Hela_PRTC_selected.mgf
## 3.1 Thermo_Hela_PRTC_selected.mzid Thermo_Hela_PRTC_selected.mgf
## databaseFile
## 1 HUMAN_2015_02_selected.fasta
## 1.1 HUMAN_2015_02_selected.fasta
## 2 HUMAN_2015_02_selected.fasta
## 2.1 HUMAN_2015_02_selected.fasta
## 3 HUMAN_2015_02_selected.fasta
## 3.1 HUMAN_2015_02_selected.fasta
library("Pbase")
p <- Proteins(fafile)
p <- addIdentificationData(p, idfile)
## Reading 1 identification files:
## 1. /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/Thermo_Hela_PRTC_selected.mzid
## done.
p
## S4 class type : Proteins
## Class version : 0.2
## Created : Mon Oct 30 19:59:24 2017
## Number of Proteins: 9
## Sequences:
## [1] A4UGR9 [2] A6H8Y1 ... [8] P04075-2 [9] P60709
## Protein ranges:
## Peptides
A Proteins
object is composed of a set of protein sequences accessible with the aa
accessor as well as an optional set of peptides features that are mapped as coordinates along the proteins, available with pranges
. The actual peptide sequences can be extraced with pfeatures
. The names of the protein sequences can be extraced with seqnames
.
aa(p)
## A AAStringSet instance of length 9
## width seq names
## [1] 3374 MSPESGHSRIFEATAGPNKPES...YTLSKDSLSNGVPSGRQAEFS A4UGR9
## [2] 2624 MFRRARLSVKPNVRPGVGARGS...EATTVSEYFFNDIFIEVDETE A6H8Y1
## [3] 911 MVDYHAANQSYQYGPSSAGNGA...AVPGALDYKSFSTALYGESDL O43707
## [4] 2602 MPVTEKDLAEDAPWKKIQQNTF...VLAVKWGEEHIPGSPFHVTVP O75369
## [5] 417 MSLSNKLTLDKLDVKGKRVVMR...GASLELLEGKVLPGVDALSNI P00558
## [6] 664 METPSQRRATRSGAQASSTPLS...RSYLLGNSSPRTQSPQNCSIM P02545
## [7] 364 MPYQYPALTPEQKKELSDIAHR...TPSGQAGAAASESLFVSNHAY P04075
## [8] 418 MARRKPEGSSFNMTHLSMAMAF...TPSGQAGAAASESLFVSNHAY P04075-2
## [9] 375 MDDDIAALVVDNGSGMCKAGFA...MWISKQEYDESGPSIVHRKCF P60709
seqnames(p)
## [1] "A4UGR9" "A6H8Y1" "O43707" "O75369" "P00558" "P02545"
## [7] "P04075" "P04075-2" "P60709"
pranges(p)
## DataFrame with 9 rows and 1 column
## Peptides
## <IRangesList>
## 1 [2743, 2760] [ 307, 318] [1858, 1870] ...
## 2 [ 448, 465] [1284, 1291] [1120, 1128] ...
## 3 [ 51, 65] [495, 512] [438, 450] ...
## 4 [ 895, 909] [1746, 1757] [2563, 2578] ...
## 5 [193, 206] [268, 275] [333, 350] ...
## 6 [ 1, 11] [332, 349] [367, 377] ...
## 7 [112, 134] [112, 134] [154, 173] ...
## 8 [166, 188] [166, 188] [208, 227] ...
## 9 [184, 196]
pfeatures(p)
## AAStringSetList of length 9
## [["A4UGR9"]] A4UGR9=QEITQNKSFFSSVKESQR ... A4UGR9=QEITQNKSFFSSVK
## [["A6H8Y1"]] A6H8Y1=EDAEQVALEVDLNQKKRR ...
## [["O43707"]] O43707=QQRKTFTAWCNSHLR ... O43707=VGWEQLLTTIAR
## [["O75369"]] O75369=DLDIIDNYDYSHTVK ... O75369=VQAQGPGLKEAFTNK
## [["P00558"]] P00558=ELNYFAKALESPER P00558=DLMSKAEK ... P00558=GTKALMDEVVK
## [["P02545"]] P02545=METPSQRRATR ... P02545=RATRSGAQASSTPLSPTR
## [["P04075"]] P04075=GVVPLAGTNGETTTQGLDGLSER ...
## [["P04075-2"]] P04075-2=GVVPLAGTNGETTTQGLDGLSER ...
## [["P60709"]] P60709=DLTDYLMKILTER
A Proteins instance is further described by general metadata
list. Protein sequence and peptide features annotations can be accessed with acols
and pcols
respectively, which return DataFrame
instances.
metadata(p)
## $created
## [1] "Mon Oct 30 19:59:24 2017"
acols(p)
## DataFrame with 9 rows and 12 columns
## DB AccessionNumber EntryName IsoformName
## <Rle> <character> <character> <Rle>
## 1 sp A4UGR9 XIRP2_HUMAN NA
## 2 sp A6H8Y1 BDP1_HUMAN NA
## 3 sp O43707 ACTN4_HUMAN NA
## 4 sp O75369 FLNB_HUMAN NA
## 5 sp P00558 PGK1_HUMAN NA
## 6 sp P02545 LMNA_HUMAN NA
## 7 sp P04075 ALDOA_HUMAN NA
## 8 sp P04075-2 ALDOA_HUMAN 2
## 9 sp P60709 ACTB_HUMAN NA
## ProteinName OrganismName GeneName
## <character> <Rle> <Rle>
## 1 Xin actin-binding repeat-containing protein 2 Homo sapiens XIRP2
## 2 Transcription factor TFIIIB component B'' homolog Homo sapiens BDP1
## 3 Alpha-actinin-4 Homo sapiens ACTN4
## 4 Filamin-B Homo sapiens FLNB
## 5 Phosphoglycerate kinase 1 Homo sapiens PGK1
## 6 Prelamin-A/C Homo sapiens LMNA
## 7 Fructose-bisphosphate aldolase A Homo sapiens ALDOA
## 8 Fructose-bisphosphate aldolase A Homo sapiens ALDOA
## 9 Actin, cytoplasmic 1 Homo sapiens ACTB
## ProteinExistence SequenceVersion Comment
## <Rle> <Rle> <Rle>
## 1 Evidence at protein level 2 NA
## 2 Evidence at protein level 3 NA
## 3 Evidence at protein level 2 NA
## 4 Evidence at protein level 2 NA
## 5 Evidence at protein level 3 NA
## 6 Evidence at protein level 1 NA
## 7 Evidence at protein level 2 NA
## 8 NA NA NA
## 9 Evidence at protein level 1 NA
## Filename
## <Rle>
## 1 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 2 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 3 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 4 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 5 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 6 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 7 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 8 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## 9 /tmp/RtmpL0a8Lu/Rinst37dbac3976a/Pbase/extdata/HUMAN_2015_02_selected.fasta
## npeps
## <integer>
## 1 36
## 2 23
## 3 6
## 4 13
## 5 5
## 6 12
## 7 21
## 8 20
## 9 1
pcols(p)
## DataFrame with 9 rows and 1 column
## Peptides
## <IRangesList>
## 1 [2743, 2760] [ 307, 318] [1858, 1870] ...
## 2 [ 448, 465] [1284, 1291] [1120, 1128] ...
## 3 [ 51, 65] [495, 512] [438, 450] ...
## 4 [ 895, 909] [1746, 1757] [2563, 2578] ...
## 5 [193, 206] [268, 275] [333, 350] ...
## 6 [ 1, 11] [332, 349] [367, 377] ...
## 7 [112, 134] [112, 134] [154, 173] ...
## 8 [166, 188] [166, 188] [208, 227] ...
## 9 [184, 196]
Specific proteins can be extracted by index of name using [
and proteins and their peptide features can be plotted with the default plot method.
seqnames(p)
## [1] "A4UGR9" "A6H8Y1" "O43707" "O75369" "P00558" "P02545"
## [7] "P04075" "P04075-2" "P60709"
plot(p[c(1,9)])
More details can be found in ?Proteins
. The object generated above is also directly available as data(p)
.
sessionInfo()
## R version 3.4.2 (2017-09-28)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.3 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.6-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.6-bioc/R/lib/libRlapack.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] grid stats4 parallel stats graphics grDevices utils
## [8] datasets methods base
##
## other attached packages:
## [1] mzID_1.16.0 Biostrings_2.46.0 XVector_0.18.0
## [4] Pbase_0.18.0 Gviz_1.22.0 GenomicRanges_1.30.0
## [7] GenomeInfoDb_1.14.0 IRanges_2.12.0 S4Vectors_0.16.0
## [10] Rcpp_0.12.13 BiocGenerics_0.24.0 BiocStyle_2.6.0
##
## loaded via a namespace (and not attached):
## [1] ProtGenerics_1.10.0 bitops_1.0-6
## [3] matrixStats_0.52.2 bit64_0.9-7
## [5] doParallel_1.0.11 RColorBrewer_1.1-2
## [7] progress_1.1.2 httr_1.3.1
## [9] rprojroot_1.2 MSnbase_2.4.0
## [11] tools_3.4.2 backports_1.1.1
## [13] affyio_1.48.0 R6_2.2.2
## [15] cleaver_1.16.0 rpart_4.1-11
## [17] Hmisc_4.0-3 DBI_0.7
## [19] lazyeval_0.2.1 colorspace_1.3-2
## [21] nnet_7.3-12 gridExtra_2.3
## [23] prettyunits_1.0.2 RMySQL_0.10.13
## [25] Pviz_1.12.0 preprocessCore_1.40.0
## [27] bit_1.1-12 curl_3.0
## [29] compiler_3.4.2 Biobase_2.38.0
## [31] htmlTable_1.9 DelayedArray_0.4.0
## [33] rtracklayer_1.38.0 bookdown_0.5
## [35] scales_0.5.0 checkmate_1.8.5
## [37] affy_1.56.0 stringr_1.2.0
## [39] digest_0.6.12 Rsamtools_1.30.0
## [41] foreign_0.8-69 rmarkdown_1.6
## [43] base64enc_0.1-3 dichromat_2.0-0
## [45] htmltools_0.3.6 limma_3.34.0
## [47] ensembldb_2.2.0 BSgenome_1.46.0
## [49] htmlwidgets_0.9 rlang_0.1.2
## [51] impute_1.52.0 RSQLite_2.0
## [53] BiocInstaller_1.28.0 shiny_1.0.5
## [55] BiocParallel_1.12.0 acepack_1.4.1
## [57] VariantAnnotation_1.24.0 RCurl_1.95-4.8
## [59] magrittr_1.5 GenomeInfoDbData_0.99.1
## [61] Formula_1.2-2 MALDIquant_1.16.4
## [63] Matrix_1.2-11 munsell_0.4.3
## [65] vsn_3.46.0 stringi_1.1.5
## [67] yaml_2.1.14 SummarizedExperiment_1.8.0
## [69] zlibbioc_1.24.0 plyr_1.8.4
## [71] AnnotationHub_2.10.0 blob_1.1.0
## [73] lattice_0.20-35 splines_3.4.2
## [75] GenomicFeatures_1.30.0 mzR_2.12.0
## [77] knitr_1.17 codetools_0.2-15
## [79] biomaRt_2.34.0 XML_3.98-1.9
## [81] evaluate_0.10.1 biovizBase_1.26.0
## [83] latticeExtra_0.6-28 pcaMethods_1.70.0
## [85] data.table_1.10.4-3 foreach_1.4.3
## [87] httpuv_1.3.5 gtable_0.2.0
## [89] assertthat_0.2.0 ggplot2_2.2.1
## [91] mime_0.5 xtable_1.8-2
## [93] AnnotationFilter_1.2.0 survival_2.41-3
## [95] tibble_1.3.4 iterators_1.0.8
## [97] GenomicAlignments_1.14.0 AnnotationDbi_1.40.0
## [99] memoise_1.1.0 cluster_2.0.6
## [101] interactiveDisplayBase_1.16.0