и его применение в биоинформатике
Лекция 8
Евгения Коновалова
26 октября 2026
Что из нижеперечисленного является названием гена.
Некоторые дополнительные (обычно полученнные откуда-то извне) данные, которые дополняют и поясняют ваши экспериментальные данные.
ENSG00000075624, ENTREZ: 60)ACTBactin betaprotein-codingENST00000674681, …P60709chr7Доступ к этим сервисам и базам данных можно получить в том числе с помощью R пакетов из Bioconductor.
С каждой новой версией R выходит и новая версия Bioconductor с новыми версиями пакетов. Поэтому определенной версии R соотвествует определенная версия пакета из Bioconductor. Посмотреть соответствие версий можно на сайте.
Пакеты из Bioconductor предпочтительнее устанавливать с помощью специальной системы управления пакетами - BiocManager.
[1] '3.23'
* sessionInfo()
R version 4.6.1 (2026-06-24)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 24.04.2 LTS
Matrix products: default
BLAS/LAPACK: /home/eugenia/.local/share/rig/r/4.6.1/lib/R/lib/libRblas.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: Europe/Moscow
tzcode source: system (glibc)
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] ggplot2_4.0.3 biomaRt_2.69.5 org.Hs.eg.db_3.23.1
[4] AnnotationDbi_1.74.0 IRanges_2.46.0 S4Vectors_0.50.3
[7] Biobase_2.72.0 BiocGenerics_0.58.1 generics_0.1.4
[10] stringr_1.6.0 dplyr_1.2.1
loaded via a namespace (and not attached):
[1] KEGGREST_1.52.2 gtable_0.3.6 xfun_0.62
[4] httr2_1.3.0 rstatix_1.1.0 vctrs_0.7.3
[7] tools_4.6.1 curl_8.1.0 tibble_3.3.1
[10] RSQLite_3.53.3 blob_1.3.0 pkgconfig_2.0.3
[13] dbplyr_2.6.0 RColorBrewer_1.1-3 S7_0.2.2
[16] lifecycle_1.0.5 compiler_4.6.1 farver_2.1.2
[19] Biostrings_2.80.2 progress_1.2.3 Seqinfo_1.2.0
[22] carData_3.0-6 htmltools_0.5.9 yaml_2.3.12
[25] Formula_1.2-6 car_3.1-5 tidyr_1.3.2
[28] pillar_1.11.1 ggpubr_1.0.0 crayon_1.5.3
[31] cachem_1.1.0 abind_1.4-8 tidyselect_1.2.1
[34] digest_0.6.39 stringi_1.8.9 purrr_1.2.2
[37] fastmap_1.2.0 grid_4.6.1 cli_3.6.6
[40] magrittr_2.0.5 broom_1.0.13 withr_3.0.3
[43] backports_1.5.1 prettyunits_1.2.0 filelock_1.0.3
[46] scales_1.4.0 bit64_4.8.6 rmarkdown_2.32
[49] XVector_0.52.0 httr_1.4.9 bit_4.6.0
[52] otel_0.2.0 ggsignif_0.6.4 png_0.1-9
[55] hms_1.1.4 memoise_2.0.1 evaluate_1.0.5
[58] knitr_1.52 BiocFileCache_3.2.0 rlang_1.3.0
[61] glue_1.8.1 DBI_1.3.0 BiocManager_1.30.27
[64] rstudioapi_0.19.0 jsonlite_2.0.0 R6_2.6.1
Bioconductor version '3.23'
* 0 packages out-of-date
* 1 packages too new
create a valid installation with
BiocManager::install("biomaRt", update = TRUE, ask = FALSE, force = TRUE)
more details: BiocManager::valid()$too_new, BiocManager::valid()$out_of_date
[1] "BSgenome.Mmusculus.UCSC.mm10" "BSgenome.Mmusculus.UCSC.mm10.masked"
[3] "BSgenome.Mmusculus.UCSC.mm39" "BSgenome.Mmusculus.UCSC.mm8"
[5] "BSgenome.Mmusculus.UCSC.mm8.masked" "BSgenome.Mmusculus.UCSC.mm9"
[7] "BSgenome.Mmusculus.UCSC.mm9.masked" "EnsDb.Mmusculus.v75"
[9] "EnsDb.Mmusculus.v79" "PWMEnrich.Mmusculus.background"
[11] "TxDb.Mmusculus.UCSC.mm10.ensGene" "TxDb.Mmusculus.UCSC.mm10.knownGene"
[13] "TxDb.Mmusculus.UCSC.mm39.knownGene" "TxDb.Mmusculus.UCSC.mm39.refGene"
[15] "TxDb.Mmusculus.UCSC.mm9.knownGene"
Использование пакетов Bioconductor строится на работе с объектами класса S4 (объектно-ориентированное программирование).
Что для нас важно, объекты класса S4 имеют свое название, слоты, в которых хранятся данные, и методы - функции, позволяющие работать с объектами этого класса. Также может быть прописано наследование классов.
[1] "TxDb"
attr(,"package")
[1] "GenomicFeatures"
Reference Class "TxDb":
Class fields:
Name: conn packageName user2seqlevels0 user_seqlevels
Class: SQLiteConnection character integer character
Name: user_genome isActiveSeq
Class: character logical
Class Methods:
"import", ".objectParent", "usingMethods", "show", "getClass", "untrace",
"export", "initialize", ".objectPackage", "callSuper", "copy",
"initFields", "getRefClass", "trace", "field", "finalize"
Reference Superclasses:
"AnnotationDb", "envRefClass"
OrgDb object:
| DBSCHEMAVERSION: 2.1
| Db type: OrgDb
| Supporting package: AnnotationDbi
| DBSCHEMA: HUMAN_DB
| ORGANISM: Homo sapiens
| SPECIES: Human
| EGSOURCEDATE: 2026-Mar18
| EGSOURCENAME: Entrez Gene
| EGSOURCEURL: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA
| CENTRALID: EG
| TAXID: 9606
| GOSOURCENAME: Gene Ontology
| GOSOURCEURL: https://current.geneontology.org/ontology/go-basic.obo
| GOSOURCEDATE: 2026-01-23
| GOEGSOURCEDATE: 2026-Mar18
| GOEGSOURCENAME: Entrez Gene
| GOEGSOURCEURL: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA
| KEGGSOURCENAME: KEGG GENOME
| KEGGSOURCEURL: ftp://ftp.genome.jp/pub/kegg/genomes
| KEGGSOURCEDATE: 2011-Mar15
| GPSOURCENAME: UCSC Genome Bioinformatics (Homo sapiens)
| GPSOURCEURL: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg38/database
| GPSOURCEDATE: UTC-Mar19
| ENSOURCEDATE: 2025-Sep03
| ENSOURCENAME: Ensembl
| ENSOURCEURL: ftp://ftp.ensembl.org/pub/current_fasta
| UPSOURCENAME: Uniprot
| UPSOURCEURL: http://www.UniProt.org/
| UPSOURCEDATE: Fri Mar 20 10:22:53 2026
Пакет AnnotationDbi предоставляет методы для работы данными из orgDb, TxDb, EnsDb и Go.db.
keys() возвращает Entrez идентификаторы, доступные в аннотацииkeytypes() и columns() возвращают доступные для конвертации идентификаторыselect()По вектору из идентификаторов можно запросить информацию из аннотации org.Hs.eg.db с помощью функции
select(annotationDb, keys, columns, keytype), где
Установите и подгрузите пакет org.Hs.eg.db.
С помощью него и функции select() из пакета AnnotationDbi переведите ENSEMBL идентификаторы генов в символьные названия (SYMBOL), а также достаньте из аннотации полные названия этих генов (GENENAME) и ассоциацию с заболеваниями по базе данных OMIM.
ENSEMBL SYMBOL GENENAME OMIM
1 ENSG00000167107 ACSF2 acyl-CoA synthetase family member 2 610465
2 ENSG00000181798 LINC00471 long intergenic non-protein coding RNA 471 <NA>
3 ENSG00000280639 LINC02204 long intergenic non-protein coding RNA 2204 <NA>
4 ENSG00000198218 QRICH1 glutamine rich 1 617387
5 ENSG00000198218 QRICH1 glutamine rich 1 617982
6 ENSG00000284269 MIR7855 microRNA 7855 <NA>
mapIds()Работает аналогично функции select(), но только с одной аннотацией (column вместо columns) и позволяет с помощью параметра multiVals указать, как вести себя, если одному гену соответствует несколько аннотаций.
Пакеты TxDb и EnsDb содержат генные разметки - координаты генов, транскриптов и экзонов в геноме.
GENEID TXNAME TXCHROM TXSTRAND TXSTART TXEND
1 80221 ENST00000510410.5 chr17 + 50426158 50474670
2 80221 ENST00000504945.1 chr17 + 50426218 50461048
3 80221 ENST00000503408.5 chr17 + 50426218 50461265
4 80221 ENST00000506582.5 chr17 + 50426218 50462426
5 80221 ENST00000504392.5 chr17 + 50426218 50474670
6 80221 ENST00000300441.9 chr17 + 50426218 50474837
Дает доступ к большему количеству ресурсов и версий баз данных. Облегчает работу с немодельными организмами. Обеспесчивает большую воспроизводимость.
AnnotationHub with 71086 records
# snapshotDate(): 2026-04-23
# $dataprovider: Ensembl, BroadInstitute, UCSC, ftp://ftp.ncbi.nlm.nih.gov/g...
# $species: Homo sapiens, Mus musculus, Drosophila melanogaster, Rattus norv...
# $rdataclass: GRanges, TwoBitFile, BigWigFile, EnsDb, Rle, OrgDb, ChainFile...
# additional mcols(): taxonomyid, genome, description,
# coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,
# rdatapath, sourceurl, sourcetype
# retrieve records with, e.g., 'object[["AH5012"]]'
title
AH5012 | Chromosome Band
AH5013 | STS Markers
AH5014 | FISH Clones
AH5015 | Recomb Rate
AH5016 | ENCODE Pilot
... ...
AH122182 | Data.table for PubMed Author Information
AH122183 | Data.table for PMC
AH122184 | Data.table for MeSH (Descriptor)
AH122185 | Data.table for MeSH (Qualifier)
AH122186 | Data.table for MeSH (SCR)
[1] "UCSC"
[2] "Ensembl"
[3] "RefNet"
[4] "Inparanoid8"
[5] "NHLBI"
[6] "ChEA"
[7] "Pazar"
[8] "NIH Pathway Interaction Database"
[9] "Haemcode"
[10] "BroadInstitute"
[11] "PRIDE"
[12] "Gencode"
[13] "CRIBI"
[14] "Genoscope"
[15] "MISO, VAST-TOOLS, UCSC"
[16] "Stanford"
[17] "dbSNP"
[18] "BioMart"
[19] "GeneOntology"
[20] "KEGG"
[21] "URGI"
[22] "EMBL-EBI"
[23] "MicrosporidiaDB"
[24] "FungiDB"
[25] "TriTrypDB"
[26] "ToxoDB"
[27] "AmoebaDB"
[28] "PlasmoDB"
[29] "PiroplasmaDB"
[30] "CryptoDB"
[31] "TrichDB"
[32] "GiardiaDB"
[33] "The Gene Ontology Consortium"
[34] "ENCODE Project"
[35] "SchistoDB"
[36] "NCBI/UniProt"
[37] "GENCODE"
[38] "http://www.pantherdb.org"
[39] "RMBase v2.0"
[40] "snoRNAdb"
[41] "tRNAdb"
[42] "NCBI"
[43] "DrugAge, DrugBank, Broad Institute"
[44] "DrugAge"
[45] "DrugBank"
[46] "Broad Institute"
[47] "HMDB, EMBL-EBI, EPA"
[48] "STRING"
[49] "OMA"
[50] "OrthoDB"
[51] "PathBank"
[52] "EBI/EMBL"
[53] "WikiPathways"
[54] "VAST-TOOLS"
[55] "pyGenomeTracks "
[56] "NA"
[57] "UoE"
[58] "TargetScan,miRTarBase,USCS,ENSEMBL"
[59] "TargetScan"
[60] "QuickGO"
[61] "CIS-BP"
[62] "CTCFBSDB 2.0"
[63] "HOCOMOCO v11"
[64] "JASPAR 2022"
[65] "Jolma 2013"
[66] "SwissRegulon"
[67] "ENCODE SCREEN v3"
[68] "MassBank"
[69] "excluderanges"
[70] "ENCODE"
[71] "GitHub"
[72] "Stanford.edu"
[73] "Publication"
[74] "CHM13"
[75] "UCSChub"
[76] "Google DeepMind"
[77] "UWashington"
[78] "Bioconductor"
[79] "ENCODE cCREs"
[80] "MGI"
[81] "GreyListChIP"
[82] "ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/"
[83] "FANTOM5,DLRP,IUPHAR,HPRD,STRING,SWISSPROT,TREMBL,ENSEMBL,CELLPHONEDB,BADERLAB,SINGLECELLSIGNALR,HOMOLOGENE"
[84] "NCBI,DBCLS"
[85] "The Human Phenotype Ontology"
[86] "JASPAR is brought to you by a collaborative effort of several research labs and it is licensed under the Creative Commons Attribution 4.0 International License"
Для поиска нужной базы данных в AnnotationHub есть функция query().
Например, мы хотим воспользоваться базой данных генов человека Ensembl версии 105. В Bioconductor есть пакеты аннотаций EnsDb, но нет нужной нам версии. Однако ее можно найти в AnnotationHub:
AnnotationHub with 1 record
# snapshotDate(): 2026-04-23
# names(): AH98047
# $dataprovider: Ensembl
# $species: Homo sapiens
# $rdataclass: EnsDb
# $rdatadateadded: 2021-10-20
# $title: Ensembl 105 EnsDb for Homo sapiens
# $description: Gene and protein annotations for Homo sapiens based on Ensem...
# $taxonomyid: 9606
# $genome: GRCh38
# $sourcetype: ensembl
# $sourceurl: http://www.ensembl.org
# $sourcesize: NA
# $tags: c("105", "Annotation", "AnnotationHubSoftware", "Coverage",
# "DataImport", "EnsDb", "Ensembl", "Gene", "Protein", "Sequencing",
# "Transcript")
# retrieve record with 'object[["AH98047"]]'
Скачаем и сохраним локально нужную аннотацию:
EnsDb for Ensembl:
|Backend: SQLite
|Db type: EnsDb
|Type of Gene ID: Ensembl Gene ID
|Supporting package: ensembldb
|Db created by: ensembldb package from Bioconductor
|script_version: 0.3.7
|Creation time: Sat Dec 18 14:48:15 2021
|ensembl_version: 105
|ensembl_host: localhost
|Organism: Homo sapiens
|taxonomy_id: 9606
|genome_build: GRCh38
|DBSCHEMAVERSION: 2.2
| No. of genes: 69329.
| No. of transcripts: 268255.
|Protein data available.
Работать со скачанной аннотацией можно с помощью функций пакета AnnotationDbi:
[1] "ENTREZID" "EXONID" "GENEBIOTYPE"
[4] "GENEID" "GENENAME" "PROTDOMID"
[7] "PROTEINDOMAINID" "PROTEINDOMAINSOURCE" "PROTEINID"
[10] "SEQNAME" "SEQSTRAND" "SYMBOL"
[13] "TXBIOTYPE" "TXID" "TXNAME"
[16] "UNIPROTID"
В Ensembl основным идентификатором является ENSEMBL ID (GENEID).
Функции genes(), transcripts() и exons() пакета GenomicFeatures позволяют получать координаты этих участков в геноме в виде GRanges объекта.
GRanges object with 69329 ranges and 9 metadata columns:
seqnames ranges strand | gene_id
<Rle> <IRanges> <Rle> | <character>
ENSG00000223972 1 11869-14409 + | ENSG00000223972
ENSG00000227232 1 14404-29570 - | ENSG00000227232
ENSG00000278267 1 17369-17436 - | ENSG00000278267
ENSG00000243485 1 29554-31109 + | ENSG00000243485
ENSG00000284332 1 30366-30503 + | ENSG00000284332
... ... ... ... . ...
ENSG00000224240 Y 26549425-26549743 + | ENSG00000224240
ENSG00000227629 Y 26586642-26591601 - | ENSG00000227629
ENSG00000237917 Y 26594851-26634652 - | ENSG00000237917
ENSG00000231514 Y 26626520-26627159 - | ENSG00000231514
ENSG00000235857 Y 56855244-56855488 + | ENSG00000235857
gene_name gene_biotype seq_coord_system
<character> <character> <character>
ENSG00000223972 DDX11L1 transcribed_unproces.. chromosome
ENSG00000227232 WASH7P unprocessed_pseudogene chromosome
ENSG00000278267 MIR6859-1 miRNA chromosome
ENSG00000243485 MIR1302-2HG lncRNA chromosome
ENSG00000284332 MIR1302-2 miRNA chromosome
... ... ... ...
ENSG00000224240 CYCSP49 processed_pseudogene chromosome
ENSG00000227629 SLC25A15P1 unprocessed_pseudogene chromosome
ENSG00000237917 PARP4P1 unprocessed_pseudogene chromosome
ENSG00000231514 CCNQP2 processed_pseudogene chromosome
ENSG00000235857 CTBP2P1 processed_pseudogene chromosome
description gene_id_version canonical_transcript
<character> <character> <character>
ENSG00000223972 DEAD/H-box helicase .. ENSG00000223972.5 ENST00000450305
ENSG00000227232 WASP family homolog .. ENSG00000227232.5 ENST00000488147
ENSG00000278267 microRNA 6859-1 [Sou.. ENSG00000278267.1 ENST00000619216
ENSG00000243485 MIR1302-2 host gene .. ENSG00000243485.5 ENST00000473358
ENSG00000284332 microRNA 1302-2 [Sou.. ENSG00000284332.1 ENST00000607096
... ... ... ...
ENSG00000224240 CYCS pseudogene 49 [.. ENSG00000224240.1 ENST00000420810
ENSG00000227629 solute carrier famil.. ENSG00000227629.1 ENST00000456738
ENSG00000237917 poly(ADP-ribose) pol.. ENSG00000237917.1 ENST00000435945
ENSG00000231514 CCNQ pseudogene 2 [S.. ENSG00000231514.1 ENST00000435741
ENSG00000235857 CTBP2 pseudogene 1 [.. ENSG00000235857.1 ENST00000431853
symbol entrezid
<character> <list>
ENSG00000223972 DDX11L1 102725121,100287596,100287102,...
ENSG00000227232 WASH7P <NA>
ENSG00000278267 MIR6859-1 102466751
ENSG00000243485 MIR1302-2HG <NA>
ENSG00000284332 MIR1302-2 100302278
... ... ...
ENSG00000224240 CYCSP49 <NA>
ENSG00000227629 SLC25A15P1 <NA>
ENSG00000237917 PARP4P1 <NA>
ENSG00000231514 CCNQP2 <NA>
ENSG00000235857 CTBP2P1 <NA>
-------
seqinfo: 456 sequences (1 circular) from GRCh38 genome
GRanges object with 15 ranges and 12 metadata columns:
seqnames ranges strand | tx_id
<Rle> <IRanges> <Rle> | <character>
ENST00000499732 11 65422774-65426457 + | ENST00000499732
ENST00000687132 11 65422797-65426532 + | ENST00000687132
ENST00000501122 11 65422798-65445540 + | ENST00000501122
ENST00000685861 11 65422798-65426529 + | ENST00000685861
ENST00000601801 11 65422800-65426405 + | ENST00000601801
... ... ... ... . ...
ENST00000693290 11 65425414-65426529 + | ENST00000693290
ENST00000616315 11 65425551-65426385 + | ENST00000616315
ENST00000687943 11 65431820-65433023 + | ENST00000687943
ENST00000691530 11 65440182-65440864 + | ENST00000691530
ENST00000693747 11 65440182-65440864 + | ENST00000693747
tx_biotype tx_cds_seq_start tx_cds_seq_end gene_id
<character> <integer> <integer> <character>
ENST00000499732 lncRNA <NA> <NA> ENSG00000245532
ENST00000687132 lncRNA <NA> <NA> ENSG00000245532
ENST00000501122 lncRNA <NA> <NA> ENSG00000245532
ENST00000685861 lncRNA <NA> <NA> ENSG00000245532
ENST00000601801 lncRNA <NA> <NA> ENSG00000245532
... ... ... ... ...
ENST00000693290 lncRNA <NA> <NA> ENSG00000245532
ENST00000616315 lncRNA <NA> <NA> ENSG00000245532
ENST00000687943 lncRNA <NA> <NA> ENSG00000245532
ENST00000691530 lncRNA <NA> <NA> ENSG00000245532
ENST00000693747 lncRNA <NA> <NA> ENSG00000245532
tx_support_level tx_id_version gc_content
<integer> <character> <numeric>
ENST00000499732 2 ENST00000499732.3 47.6024
ENST00000687132 <NA> ENST00000687132.1 48.2334
ENST00000501122 <NA> ENST00000501122.2 44.0531
ENST00000685861 <NA> ENST00000685861.1 48.2315
ENST00000601801 4 ENST00000601801.3 48.4393
... ... ... ...
ENST00000693290 <NA> ENST00000693290.1 36.6487
ENST00000616315 2 ENST00000616315.2 36.5234
ENST00000687943 <NA> ENST00000687943.1 33.2226
ENST00000691530 <NA> ENST00000691530.1 45.0952
ENST00000693747 <NA> ENST00000693747.1 45.0952
tx_external_name tx_is_canonical tx_name symbol
<character> <integer> <character> <character>
ENST00000499732 NEAT1-201 0 ENST00000499732 NEAT1
ENST00000687132 NEAT1-211 0 ENST00000687132 NEAT1
ENST00000501122 NEAT1-202 1 ENST00000501122 NEAT1
ENST00000685861 NEAT1-210 0 ENST00000685861 NEAT1
ENST00000601801 NEAT1-203 0 ENST00000601801 NEAT1
... ... ... ... ...
ENST00000693290 NEAT1-214 0 ENST00000693290 NEAT1
ENST00000616315 NEAT1-205 0 ENST00000616315 NEAT1
ENST00000687943 NEAT1-212 0 ENST00000687943 NEAT1
ENST00000691530 NEAT1-213 0 ENST00000691530 NEAT1
ENST00000693747 NEAT1-215 0 ENST00000693747 NEAT1
-------
seqinfo: 1 sequence from GRCh38 genome
AnnotationHub with 1976 records
# snapshotDate(): 2026-04-23
# $dataprovider: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/, NCBI
# $species: Escherichia coli, Coffea arabica, greater Indian_fruit_bat, Zoph...
# $rdataclass: OrgDb, TxDb
# additional mcols(): taxonomyid, genome, description,
# coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,
# rdatapath, sourceurl, sourcetype
# retrieve records with, e.g., 'object[["AH111588"]]'
title
AH111588 | OrgDb Sqlite file for Coffea arabica
AH119540 | org.Pseudophryne_corroboree.eg.sqlite
AH119541 | org.Triticum_aestivum.eg.sqlite
AH119542 | org.Triticum_aestivum_subsp._aestivum.eg.sqlite
AH119543 | org.Triticum_sativum.eg.sqlite
... ...
AH121957 | org.Mmu.eg.db.sqlite
AH121958 | org.Ce.eg.db.sqlite
AH121959 | org.Xl.eg.db.sqlite
AH121960 | org.Sc.sgd.db.sqlite
AH121961 | org.Dr.eg.db.sqlite
Найдем OrgDb для косатки
AnnotationHub with 1 record
# snapshotDate(): 2026-04-23
# names(): AH120411
# $dataprovider: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/
# $species: Orcinus orca
# $rdataclass: OrgDb
# $rdatadateadded: 2025-03-21
# $title: org.Orcinus_orca.eg.sqlite
# $description: NCBI gene ID based annotations about Orcinus orca
# $taxonomyid: 9733
# $genome: NCBI genomes
# $sourcetype: NCBI/UniProt
# $sourceurl: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/, ftp://ftp.uniprot.org/p...
# $sourcesize: NA
# $tags: c("NCBI", "Gene", "Annotation")
# retrieve record with 'object[["AH120411"]]'
ENTREZID SYMBOL GENENAME
1 101278648 SLC37A3 solute carrier family 37 member 3
2 117199701 LOC117199701 uncharacterized LOC117199701
3 117196883 TRNAG-CCC transfer RNA glycine (anticodon CCC)
4 101273475 CLEC17A C-type lectin domain containing 17A
5 101271498 FER FER tyrosine kinase
Данные по каким организмам доступны:
dataset description
1 abrachyrhynchus_gene_ensembl Pink-footed goose genes (ASM259213v1)
2 acalliptera_gene_ensembl Eastern happy genes (fAstCal1.3)
3 acarolinensis_gene_ensembl Green anole genes (AnoCar2.0v2)
4 acchrysaetos_gene_ensembl Golden eagle genes (bAquChr1.2)
5 acitrinellus_gene_ensembl Midas cichlid genes (Midas_v5)
6 amelanoleuca_gene_ensembl Giant panda genes (ASM200744v2)
version
1 ASM259213v1
2 fAstCal1.3
3 AnoCar2.0v2
4 bAquChr1.2
5 Midas_v5
6 ASM200744v2
Для создания mart объекта лучше использовать функцию useEnsembl().
Запрашивать информацию из датасета можно с помощью функции
getBM(attributes, filters, values, mart), где
mart объект который мы только что создали name description page
1 ensembl_gene_id Gene stable ID feature_page
2 ensembl_gene_id_version Gene stable ID version feature_page
3 ensembl_transcript_id Transcript stable ID feature_page
4 ensembl_transcript_id_version Transcript stable ID version feature_page
5 ensembl_peptide_id Protein stable ID feature_page
6 ensembl_peptide_id_version Protein stable ID version feature_page
name description
1 chromosome_name Chromosome/scaffold name
2 start Start
3 end End
4 band_start Band Start
5 band_end Band End
6 marker_start Marker Start
two_genes <- c("NEAT1", "MALAT1")
mart <- useEnsembl("ensembl","hsapiens_gene_ensembl")
biomaRt:::martHost(mart) <- "https://jun2026.archive.ensembl.org:443/biomart/martservice?redirect=no"
getBM(
attributes = c("ensembl_gene_id", "external_gene_name", "description"),
filters = "external_gene_name",
values = two_genes,
mart = mart) ensembl_gene_id external_gene_name
1 ENSG00000245532 NEAT1
2 ENSG00000251562 MALAT1
description
1 nuclear paraspeckle assembly transcript 1 [Source:HGNC Symbol;Acc:HGNC:30815]
2 metastasis associated lung adenocarcinoma transcript 1 [Source:HGNC Symbol;Acc:HGNC:29665]
По умолчанию biomaRt предлагает работать с самой свежей версией Ensembl. Однако если вы в своем анализе данных использовали другую версию, то лучше придерживаться именно ее. Доступные предыдущие версии можно вывести с помощью функции listEnsemblArchives().
Явно выбрать используемую версию можно, используя параметр host в функции useEnsembl()
name date url version
1 Ensembl GRCh37 Feb 2014 https://grch37.ensembl.org GRCh37
2 Ensembl 116 Jun 2026 https://jun2026.archive.ensembl.org 116
3 Ensembl 115 Sep 2025 https://sep2025.archive.ensembl.org 115
4 Ensembl 114 May 2025 https://may2025.archive.ensembl.org 114
5 Ensembl 113 Oct 2024 https://oct2024.archive.ensembl.org 113
6 Ensembl 112 May 2024 https://may2024.archive.ensembl.org 112
current_release
1
2 *
3
4
5
6
Установите и подгрузите пакет biomaRt.
С помощью этого пакета добудьте информацию о о GC-составе генов из списка, используя версию Ensembl от мая 2025-го года.
name description page
1 percentage_gene_gc_content Gene % GC content feature_page
percentage_gene_gc_content
1 49.96
2 46.77
3 46.08
4 49.19
5 55.74
getLDS() – удобная функция для сопоставления mart разных организмов, но работает не всегда :(
ensembl <- useEnsembl("ensembl", host = "https://sep2025.archive.ensembl.org")
human <- useDataset("hsapiens_gene_ensembl", mart = ensembl)
chimpz <- useDataset("ptroglodytes_gene_ensembl", mart = ensembl)
hs2pt <- getLDS(
# человек
mart = human,
attributes = c("ensembl_gene_id", "external_gene_name", "chromosome_name"),
# шимпанзе
martL = chimpz,
attributesL = c("ensembl_gene_id", "external_gene_name", "chromosome_name"))
hs2pt %>% head()В mart для H.sapiens есть аттрибуты, связанные с P.troglodytes
name
1 ptroglodytes_homolog_ensembl_gene
2 ptroglodytes_homolog_associated_gene_name
3 ptroglodytes_homolog_ensembl_peptide
4 ptroglodytes_homolog_chromosome
5 ptroglodytes_homolog_chrom_start
6 ptroglodytes_homolog_chrom_end
7 ptroglodytes_homolog_canonical_transcript_protein
8 ptroglodytes_homolog_subtype
9 ptroglodytes_homolog_orthology_type
10 ptroglodytes_homolog_perc_id
11 ptroglodytes_homolog_perc_id_r1
12 ptroglodytes_homolog_goc_score
13 ptroglodytes_homolog_wga_coverage
14 ptroglodytes_homolog_orthology_confidence
description page
1 Chimpanzee gene stable ID homologs
2 Chimpanzee gene name homologs
3 Chimpanzee protein or transcript stable ID homologs
4 Chimpanzee chromosome/scaffold name homologs
5 Chimpanzee chromosome/scaffold start (bp) homologs
6 Chimpanzee chromosome/scaffold end (bp) homologs
7 Query protein or transcript ID homologs
8 Last common ancestor with Chimpanzee homologs
9 Chimpanzee homology type homologs
10 %id. target Chimpanzee gene identical to query gene homologs
11 %id. query gene identical to target Chimpanzee gene homologs
12 Chimpanzee Gene-order conservation score homologs
13 Chimpanzee Whole-genome alignment coverage homologs
14 Chimpanzee orthology confidence [0 low, 1 high] homologs
Выведем Ensembl ID, имя гена и хромосому, на которой находится ген, для ортологов человека и шимпанзе
ensembl_gene_id external_gene_name chromosome_name
1 ENSG00000210049 MT-TF MT
2 ENSG00000211459 MT-RNR1 MT
3 ENSG00000210077 MT-TV MT
4 ENSG00000210082 MT-RNR2 MT
5 ENSG00000209082 MT-TL1 MT
6 ENSG00000198888 MT-ND1 MT
7 ENSG00000210100 MT-TI MT
8 ENSG00000210107 MT-TQ MT
9 ENSG00000210112 MT-TM MT
10 ENSG00000198763 MT-ND2 MT
ptroglodytes_homolog_ensembl_gene ptroglodytes_homolog_chromosome
1
2
3
4
5
6 ENSPTRG00000042641 MT
7
8
9
10 ENSPTRG00000042626 MT
Найдем одни и те же ID между OrgDb человека и шимпанзе, основываясь на именах генов
# BiocManager::install("org.Pt.eg.db")
# BiocManager::install("org.Hs.eg.db")
library(org.Hs.eg.db)
library(org.Pt.eg.db)
human_genes <- select(org.Hs.eg.db, keys(org.Hs.eg.db), "SYMBOL", "ENTREZID") %>%
dplyr::rename(hs_entrez = ENTREZID)
gene_names <- human_genes$SYMBOL #get gene names
chimpz_genes <- select(org.Pt.eg.db, gene_names, "ENTREZID", "SYMBOL") %>%
dplyr::rename(pt_entrez = ENTREZID)
hs2pt <- merge(human_genes, chimpz_genes, by = "SYMBOL")
hs2pt %>% head() SYMBOL hs_entrez pt_entrez
1 A-GAMMA3'E 109951028 <NA>
2 A1BG 1 742390
3 A1BG-AS1 503538 <NA>
4 A1CF 29974 466076
5 A2M 2 465372
6 A2M-AS1 144571 <NA>