This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Mapping genes on chromosomes

Hellow,

I want to map plant genes on the chromosomes. I have gff file. I tried using biomart but it's giving an error.

library(GenomeGraphs)
library(biomaRt)
library(regioneR)

mart <- useMart("plants_mart", host = "plants.ensembl.org")
listDatasets(mart, verbose = FALSE)
mart <- useMart("plants_mart", dataset= "stuberosum_eg_gene", host = "plants.ensembl.org")

useEnsembl(biomart = "mart", dataset = "stuberosum_eg_gene ", host = "plants.ensembl.org", version = NULL, GRCh = NULL, mirror = NULL, verbose = FALSE)

Error in useMart(biomart = biomart, dataset = dataset, host = host, verbose = verbose, : Incorrect BioMart name, use the listMarts function to see which BioMart databases are available

mapping chromosomes genes

Have you checked on the solution suggested in the error you received?

use the listMarts function to see which BioMart databases are available

yup..

listMarts()
               biomart               version
1 ENSEMBL_MART_ENSEMBL      Ensembl Genes 91
2   ENSEMBL_MART_MOUSE      Mouse strains 91
3     ENSEMBL_MART_SNP  Ensembl Variation 91
4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 91

also i tried..

listMarts(host="plants.ensembl.org")
            biomart                      version
1       plants_mart      Ensembl Plants Genes 37
2 plants_variations Ensembl Plants Variations 37

hi 1234anjalianjali1234,

If an answer was helpful you should upvote it, if the answer resolved your question you should mark it as accepted. Upvote|Bookmark|Accept

1 answer

library(biomaRt)
mart=useMart("plants_mart", host="plants.ensembl.org","stuberosum_eg_gene")
getBM(attributes=c("ensembl_gene_id","chromosome_name","start_position","end_position", "strand"), 
      filters = 'ensembl_gene_id', 
      values = "PGSC0003DMG400029744", 
      mart = mart)

output:

No encoding supplied: defaulting to UTF-8.
       ensembl_gene_id chromosome_name start_position end_position strand
1 PGSC0003DMG400029744               1       81566672     81567534     -1

btw, gtf file is supposed to have chromosome , coordinates and strand information for a feature.

> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 17.10

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so

locale:
 [1] LC_CTYPE=en_IN.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_IN.UTF-8        LC_COLLATE=en_IN.UTF-8    
 [5] LC_MONETARY=en_IN.UTF-8    LC_MESSAGES=en_IN.UTF-8   
 [7] LC_PAPER=en_IN.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_IN.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] biomaRt_2.34.1

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14         AnnotationDbi_1.40.0 magrittr_1.5        
 [4] BiocGenerics_0.24.0  progress_1.1.2       IRanges_2.12.0      
 [7] bit_1.1-13           R6_2.2.2             rlang_0.1.6         
[10] httr_1.3.1           stringr_1.2.0        blob_1.1.0          
[13] tools_3.4.3          parallel_3.4.3       Biobase_2.38.0      
[16] DBI_0.7              yaml_2.1.16          bit64_0.9-7         
[19] digest_0.6.13        assertthat_0.2.0     tibble_1.4.1        
[22] S4Vectors_0.16.0     bitops_1.0-6         curl_3.1            
[25] rsconnect_0.8.5      RCurl_1.96-0         memoise_1.1.0       
[28] RSQLite_2.0          stringi_1.1.6        compiler_3.4.3      
[31] pillar_1.0.1         prettyunits_1.0.2    stats4_3.4.3        
[34] XML_3.99-0          
>

Thankyou,

Now can you please solve my original problem of mapping these genes on chromosomes.

>getBM(attributes=c("ensembl_gene_id","chromosome_name","start_position","end_position", "strand"), filters = 'ensembl_gene_id', values = "PGSC0003DMG400029744,PGSC0003DMG400027797,PGSC0003DMG400026469,PGSC0003DMG400013627,PGSC0003DMG400020935,PGSC0003DMG400022602,PGSC0003DMG402022603,PGSC0003DMG400010965,PGSC0003DMG400031318,PGSC0003DMG403026432,PGSC0003DMG404026432,PGSC0003DMG400007743,PGSC0003DMG400020580,PGSC0003DMG401020581", mart = mart)

enter code here
    No encoding supplied: defaulting to UTF-8.
            ensembl_gene_id chromosome_name start_position end_position strand
    1  PGSC0003DMG400007743               9       59441573     59449149     -1
    2  PGSC0003DMG400010965               6       46762379     46763935     -1
    3  PGSC0003DMG400013627               2       37802516     37808556      1
    4  PGSC0003DMG400020580               9       59712402     59712980      1
    5  PGSC0003DMG400020935               4       21192456     21196161      1
    6  PGSC0003DMG400022602               5        6526381      6526863      1
    7  PGSC0003DMG400026469              12       50704471     50704855      1
    8  PGSC0003DMG400027797              11        9730445      9736116      1
    9  PGSC0003DMG400029744               1       81566672     81567534     -1
    10 PGSC0003DMG400031318               6       46918570     46923865     -1
    11 PGSC0003DMG401020581               9       59721273     59722508      1
    12 PGSC0003DMG402022603               5        6537348      6538458      1
    13 PGSC0003DMG403026432               9       59382012     59383726     -1
    14 PGSC0003DMG404026432               9       59385823     59386293     -1

My session info:

> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.3 LTS

Matrix products: default
BLAS: /usr/lib/atlas-base/atlas/libblas.so.3.0
LAPACK: /usr/lib/atlas-base/atlas/liblapack.so.3.0

locale:
 [1] LC_CTYPE=en_IN.UTF-8       LC_NUMERIC=C               LC_TIME=en_IN.UTF-8        LC_COLLATE=en_IN.UTF-8     LC_MONETARY=en_IN.UTF-8   
 [6] LC_MESSAGES=en_IN.UTF-8    LC_PAPER=en_IN.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_IN.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
 [1] grid      parallel  stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] quantsmooth_1.44.0               quantreg_5.34                    SparseM_1.77                     Gviz_1.22.2                     
 [5] devtools_1.13.4                  GenomeGraphs_1.38.0              biomaRt_2.34.1                   BSgenome.Celegans.UCSC.ce6_1.4.0
 [9] BSgenome.Osativa.MSU.MSU7_0.99.1 BiocInstaller_1.28.0             karyoploteR_1.4.1                regioneR_1.10.0                 
[13] BSgenome_1.46.0                  rtracklayer_1.38.2               Biostrings_2.46.0                XVector_0.18.0                  
[17] GenomicRanges_1.30.1             GenomeInfoDb_1.14.0              IRanges_2.12.0                   S4Vectors_0.16.0                
[21] BiocGenerics_0.24.0              memoise_1.1.0

Now can you please solve my original problem of mapping these genes on chromosomes.

Isn't that information in the table you posted below that comment?

I have the information about gene positions but i dont know how to plot these on chromosome.... i mean i want to draw chromosome ideogram...

thankyou,

I got my ideogram, but could someone tell me about cytoband information (where to find?).

Since cytobands require experimental data, unless someone has done that experiment you would not be able to add that information.

Log in to answer this question.