The following content is described in more detail in Egloff et al. (2018), (under review NMETH-A35040).
## ExperimentHub with 8 records
## # snapshotDate(): 2026-04-21
## # $dataprovider: Functional Genomics Center Zurich (FGCZ)
## # $species: NA
## # $rdataclass: data.frame, DNAStringSet
## # additional mcols(): taxonomyid, genome, description,
## # coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,
## # rdatapath, sourceurl, sourcetype
## # retrieve records with, e.g., 'object[["EH2063"]]'
##
## title
## EH2063 | Sample NGS NB FC linkage data
## EH2064 | Flycodes tryptic digested
## EH2065 | Nanobodies tryptic digested
## EH2066 | FASTA as ground-truth for unit testing
## EH2067 | Known nanobodies
## EH2068 | Quantitaive results for SMEG and COLI
## EH2069 | F255744 Mascot Search result
## EH2070 | WU160118 Mascot Search results
# dataFolder <- file.path(path.package(package = 'NestLink'), 'extdata')
# expFile <- list.files(dataFolder, pattern='*.fastq.gz', full.names = TRUE)
expFile <- query(eh, c("NestLink", "NL42_100K.fastq.gz"))[[1]]## see ?NestLink and browseVignettes('NestLink') for documentation
## downloading 1 resources
## retrieving 1 resource
## loading from cache
For data QC some known NB were spiked in. Here, we load the NB DNA sequences and translate them to the corresponding AA sequences.
# knownNB_File <- list.files(dataFolder,
# pattern='knownNB.txt', full.names = TRUE)
knownNB_File <- query(eh, c("NestLink", "knownNB.txt"))[[1]]## see ?NestLink and browseVignettes('NestLink') for documentation
## downloading 1 resources
## retrieving 1 resource
## loading from cache
The workflow uses the first 100 reads only for a rapid processing time.
param <- list()
param[['nReads']] <- 100 #Number of Reads from the start of fastq file to process
param[['maxMismatch']] <- 1 #Number of accepted mismatches for all pattern search steps
param[['NB_Linker1']] <- "GGCCggcggGGCC" #Linker Sequence left to nanobody
param[['NB_Linker2']] <- "GCAGGAGGA" #Linker Sequence right to nanobody
param[['ProteaseSite']] <- "TTAGTCCCAAGA" #Sequence next to flycode
param[['FC_Linker']] <- "GGCCaaggaggcCGG" #Linker Sequence next to flycode
param[['knownNB']] <- knownNB
param[['minRelBestHitFreq']] <- 0.8 #minimal fraction of the dominant nanobody for a specific flycode
param[['minConsensusScore']] <- 0.9 #minimal fraction per sequence position in nanabody consensus sequence calculation
param[['minNanobodyLength']] <- 348 #minimal nanobody length in [nt]
param[['minFlycodeLength']] <- 33 #minimal flycode length in [nt]
param[['FCminFreq']] <- 1 #minimal number of subreads for a specific flycode to keep it in the analysisThe following steps are included:
## user system elapsed
## 1.608 0.095 1.702
## NB
## 1 SQVQLVESGGGLVQAGGSLRLSCAASGFPVEAHRMYWYRQAPGKEREWVAAISSKGQQTWYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDYGWYYGDYDYWGQGTQVTVS
## 2 SQVQLVESGGGLVQAGGSLRLSCAASGFPVSWTKMYWYRQAPGKEREWVAAIWSTGSWTKYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDKGHQHAHYDYWGQGTQVTVS
## FlycodeCount
## 1 29
## 2 3
## AssociatedFlycodes
## 1 GSAAATAVTWR,GSADGQETDWR,GSADVPEAVWLTVR,GSAPTAPVSWQEGGR,GSAVDPVTVWLTVR,GSDAEGVAAWQSR,GSDAEYTTAWR,GSDDTDETDWR,GSDEAEEEGWQEGGR,GSDPGTDDEWQSR,GSDTEDWEEWQSR,GSDVWDTAVWLTVR,GSEGTDAVGWLTVR,GSEPASEVVWQEGGR,GSEPDVYTAWLTVR,GSEVLDGDEWR,GSFVASFAVWLTVR,GSGDVEGEAWQEGGR,GSGPDPPYGWLR,GSPAVDPPVWLTVR,GSPDEVEVVWLTVR,GSPDSPPAYWLTVR,GSPTVVTFLWR,GSQYTLTPTWLTVR,GSSDAASPSWLTVR,GSTGEDGVVWLTVR,GSTVVTSDPWLTVR,GSVDDQPDTWQEGGR,GSYTPGSTSWQSR
## 2 GSADFPVVAWLR,GSAEVDEADWQEGGR,GSEPDVAAGWQSR
## NB_Name
## 1
## 2
## [1] ">NB0001 FC29 SQVQLVESGGGLVQAGGSLRLSCAASGFPVEAHRMYWYRQAPGKEREWVAAISSKGQQTWYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDYGWYYGDYDYWGQGTQVTVS\nGSAAATAVTWRGSADGQETDWRGSADVPEAVWLTVRGSAPTAPVSWQEGGRGSAVDPVTVWLTVRGSDAEGVAAWQSRGSDAEYTTAWRGSDDTDETDWRGSDEAEEEGWQEGGRGSDPGTDDEWQSRGSDTEDWEEWQSRGSDVWDTAVWLTVRGSEGTDAVGWLTVRGSEPASEVVWQEGGRGSEPDVYTAWLTVRGSEVLDGDEWRGSFVASFAVWLTVRGSGDVEGEAWQEGGRGSGPDPPYGWLRGSPAVDPPVWLTVRGSPDEVEVVWLTVRGSPDSPPAYWLTVRGSPTVVTFLWRGSQYTLTPTWLTVRGSSDAASPSWLTVRGSTGEDGVVWLTVRGSTVVTSDPWLTVRGSVDDQPDTWQEGGRGSYTPGSTSWQSR\n"
## [2] ">NB0002 FC3 SQVQLVESGGGLVQAGGSLRLSCAASGFPVSWTKMYWYRQAPGKEREWVAAIWSTGSWTKYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDKGHQHAHYDYWGQGTQVTVS\nGSADFPVVAWLRGSAEVDEADWQEGGRGSEPDVAAGWQSR\n"
## [3] ">NB0003 FC1 SQVQLVESGGGLVQAGGSLRLSCAASGFPVSWWKMYWYRQAPGKEREWVAAIWSEGWWTKYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDYGGENANYDYWGQGTQVTVS\nGSDGTTEDAWQEGGR\n"
## [4] ">NB0004 FC1 SQVQLVESGGGLVQAGGSLRLSCAASGFPVEWSWMYWYRQAPGKEREWVAAIYSQGRGTEYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDYGWWYGDYDYWGQGTQVTVS\nGSEEAADPAWR\n"
## [5] ">NB0005 FC1 SQVQLVESGGGLVQAGGSLRLSCAASGFPVEAHRMYWYRQAPGKEREWVAAISSKGQQTWYADSVKGRFTISRDNAKNTVYLQMNSLEPEDTAVYYCNVKDYGWYYGDYDYWGQGTQVTVS\nGSEEAEATWWR\n"
## [6] ">NB0006 FC2 SQVQLVESGGGLVQAGGSLRLSCAASGFPVEENFMYWYRQAPGKEREWVAAIYSHGYETEYADSVKGRFTISRDNAKNTVYLQMNSLKPEDTAVYYCNVKDQGYWWWEYDYWGQGTQVTVS\nGSGLPATPAWLRGSTDAEEGVWLTVR\n"
To analyze the expressed flycodes mass spectrometry is used. the
FASTA file containing the nanobody - flycode linkage can be written to a
file using functions such as cat.
The exec directory provides alternative shell scripts using command line GNU tools and AWK.
Here is the output of the sessionInfo() command.
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 26.04.1 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so; LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [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
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] scales_1.4.0 ggplot2_4.0.3
## [3] NestLink_1.28.0 ShortRead_1.70.0
## [5] GenomicAlignments_1.48.0 SummarizedExperiment_1.42.0
## [7] Biobase_2.72.0 MatrixGenerics_1.24.0
## [9] matrixStats_1.5.0 Rsamtools_2.28.0
## [11] GenomicRanges_1.64.0 BiocParallel_1.46.0
## [13] protViz_0.7.9 gplots_3.3.0
## [15] Biostrings_2.80.2 Seqinfo_1.2.0
## [17] XVector_0.52.0 IRanges_2.46.0
## [19] S4Vectors_0.50.3 ExperimentHub_3.2.2
## [21] AnnotationHub_4.2.2 BiocFileCache_3.2.0
## [23] dbplyr_2.6.0 BiocGenerics_0.58.1
## [25] generics_0.1.4 BiocStyle_2.40.0
##
## loaded via a namespace (and not attached):
## [1] DBI_1.3.0 bitops_1.1-0 deldir_2.0-4
## [4] httr2_1.3.0 rlang_1.3.0 magrittr_2.0.5
## [7] otel_0.2.0 compiler_4.6.1 RSQLite_3.53.3
## [10] mgcv_1.9-4 png_0.1-9 vctrs_0.7.3
## [13] pwalign_1.8.0 pkgconfig_2.0.3 crayon_1.5.3
## [16] fastmap_1.2.0 labeling_0.4.3 caTools_1.18.4
## [19] rmarkdown_2.32 purrr_1.2.2 bit_4.6.0
## [22] xfun_0.61 cachem_1.1.0 cigarillo_1.2.1
## [25] jsonlite_2.0.0 blob_1.3.0 DelayedArray_0.38.2
## [28] jpeg_0.1-11 parallel_4.6.1 R6_2.6.1
## [31] bslib_0.12.0 RColorBrewer_1.1-3 jquerylib_0.1.4
## [34] Rcpp_1.1.2 knitr_1.52 Matrix_1.7-6
## [37] splines_4.6.1 tidyselect_1.2.1 abind_1.4-8
## [40] yaml_2.3.12 codetools_0.2-20 hwriter_1.3.2.1
## [43] curl_8.0.0 lattice_0.23-1 tibble_3.3.1
## [46] withr_3.0.3 KEGGREST_1.52.2 S7_0.2.2
## [49] evaluate_1.0.5 pillar_1.11.1 BiocManager_1.30.27
## [52] filelock_1.0.3 KernSmooth_2.23-27 BiocVersion_3.23.1
## [55] gtools_3.9.5 glue_1.8.1 maketools_1.3.2
## [58] tools_4.6.1 interp_1.1-6 sys_3.4.3
## [61] buildtools_1.0.0 grid_4.6.1 latticeExtra_0.6-31
## [64] AnnotationDbi_1.74.0 nlme_3.1-171 cli_3.6.6
## [67] rappdirs_0.3.4 S4Arrays_1.12.1 dplyr_1.2.1
## [70] gtable_0.3.6 sass_0.4.10 digest_0.6.39
## [73] SparseArray_1.12.3 farver_2.1.2 memoise_2.0.1
## [76] htmltools_0.5.9 lifecycle_1.0.5 httr_1.4.9
## [79] bit64_4.8.6