Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extracting exons result is different from manual extraction #60

Closed
gernophil opened this issue Jun 23, 2023 · 5 comments
Closed

Extracting exons result is different from manual extraction #60

gernophil opened this issue Jun 23, 2023 · 5 comments

Comments

@gernophil
Copy link

gernophil commented Jun 23, 2023

If I try to extract the length of all exons (also those overlapping) using your package with this code and this gencode file

library(GenomicFeatures)
txdb <- makeTxDbFromGFF("tables/gencode.v43.basic.annotation.gtf.gz",
                        format = "gtf")

exons.list.per.gene <- exonsBy(txdb, by = "gene")
sort(width(exons.list.per.gene)[["ENSG00000000003.15"]])

the result is [1] 75 84 99 108 135 189 189 199 312 2878 2879 (11 exons).
If I do it manually (with cleaning the file first using gzcat gencode.v43.basic.annotation.gff3.gz | grep -v # > gencode.v43.basic.annotation.clean.gff

library(data.table)
gencode_file_gff3 <- fread("tables/gencode.v43.basic.annotation.clean.gff",
                           header = FALSE)
gencode_file_gff3 <- gencode_file_gff3[V3 == "exon"] # filtering for exons
gencode_file_gff3[, gene_id := gsub(".*gene_id=(.*);transcript_id.*", "\\1", V9)] # extractin ENSG number
gencode_file_gff3 <- gencode_file_gff3[, c("V4", "V5", "gene_id")] # reducing to start, end and gene_id
gencode_file_gff3[, length := V5 - (V4 - 1)] # calculating length
gencode_file_gff3 <- unique(gencode_file_gff3) # removing identical exons from HAVANA and ENSEMBL
sort(gencode_file_gff3[gene_id == "ENSG00000000003.15"]$length)

The result is [1] 75 84 99 108 135 189 199 312 2878 2879 (10 exons). Without the unique command I retain 15 exons. So both is different from yours. I can't figure out where you got that additional exon from. the unique command is necessary if two exons from HAVANA and ENSEMBL are exactly identical. I am not able to reproduce the results from your package manually.

This i just exemplary, but I get slightly different numbers for most genes.

@gernophil gernophil changed the title Extracting exons result is different from manualy extraction Extracting exons result is different from manual extraction Jun 23, 2023
@hpages
Copy link
Contributor

hpages commented Jun 24, 2023

Hi,

Short answer: Gene ENSG00000000003.15 has 11 distinct exons based on their Ensembl IDs, and 10 distinct exons based on their genomic coordinates. The difference comes from the fact that all the exons in this gene that have distinct Ensembl IDs also have distinct genomic coordinates, except exons ENSE00003662440.1 and ENSE00003733424.1 which share the same genomic location (chrX:100635558-100635746:-).

Detailed answer:

A guick grep on the GTF file shows that gene ENSG00000000003.15 (TSPAN6) has 2 transcripts, ENST00000373020.9 (TSPAN6-201) and ENST00000612152.4 (TSPAN6-204), with 8 exons for the first transcript and 7 exons for the second transcript:

hpages@XPS15:~/sandbox$ grep -w exon gencode.v43.basic.annotation.gtf | grep 'ENSG00000000003.15'
chrX	HAVANA	exon	100636608	100636806	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 1; exon_id "ENSE00001855382.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100635558	100635746	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 2; exon_id "ENSE00003662440.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100635178	100635252	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 3; exon_id "ENSE00003654571.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100633931	100634029	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 4; exon_id "ENSE00003658810.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100633405	100633539	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 5; exon_id "ENSE00003554016.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100632485	100632568	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 6; exon_id "ENSE00000401072.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100630759	100630866	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 7; exon_id "ENSE00000868868.1"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	HAVANA	exon	100627108	100629986	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000373020.9"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-201"; exon_number 8; exon_id "ENSE00001459322.5"; level 2; protein_id "ENSP00000362111.4"; transcript_support_level "1"; hgnc_id "HGNC:11858"; tag "basic"; tag "Ensembl_canonical"; tag "MANE_Select"; tag "appris_principal_1"; tag "CCDS"; ccdsid "CCDS14470.1"; havana_gene "OTTHUMG00000022002.2"; havana_transcript "OTTHUMT00000057483.2";
chrX	ENSEMBL	exon	100636793	100637104	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 1; exon_id "ENSE00001863395.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";
chrX	ENSEMBL	exon	100635558	100635746	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 2; exon_id "ENSE00003733424.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";
chrX	ENSEMBL	exon	100635178	100635252	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 3; exon_id "ENSE00003654571.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";
chrX	ENSEMBL	exon	100633931	100634029	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 4; exon_id "ENSE00003658810.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";
chrX	ENSEMBL	exon	100633405	100633539	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 5; exon_id "ENSE00003554016.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";
chrX	ENSEMBL	exon	100630759	100630866	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 6; exon_id "ENSE00000868868.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";
chrX	ENSEMBL	exon	100627109	100629986	.	-	.	gene_id "ENSG00000000003.15"; transcript_id "ENST00000612152.4"; gene_type "protein_coding"; gene_name "TSPAN6"; transcript_type "protein_coding"; transcript_name "TSPAN6-204"; exon_number 7; exon_id "ENSE00003730948.1"; level 3; protein_id "ENSP00000482130.1"; transcript_support_level "5"; hgnc_id "HGNC:11858"; tag "basic"; tag "CCDS"; ccdsid "CCDS76001.1"; havana_gene "OTTHUMG00000022002.2";

Using GenomicFeatures:

library(GenomicFeatures)
txdb <- makeTxDbFromGFF("gencode.v43.basic.annotation.gtf", format="gtf")

## The 2 transcripts:

transcriptsBy(txdb, by="gene")[["ENSG00000000003.15"]]
# GRanges object with 2 ranges and 2 metadata columns:
#       seqnames              ranges strand |     tx_id           tx_name
#          <Rle>           <IRanges>  <Rle> | <integer>       <character>
#   [1]     chrX 100627108-100636806      - |    116015 ENST00000373020.9
#   [2]     chrX 100627109-100637104      - |    116016 ENST00000612152.4
#   -------
#   seqinfo: 25 sequences (1 circular) from an unspecified genome; no seqlengths

ex_by_tx <- exonsBy(txdb, by="tx", use.names=TRUE)

## First transcript has 8 exons:

ex_by_tx[["ENST00000373020.9"]]
# GRanges object with 8 ranges and 3 metadata columns:
#       seqnames              ranges strand |   exon_id         exon_name exon_rank
#          <Rle>           <IRanges>  <Rle> | <integer>       <character> <integer>
#   [1]     chrX 100636608-100636806      - |    426875 ENSE00001855382.1         1
#   [2]     chrX 100635558-100635746      - |    426873 ENSE00003662440.1         2
#   [3]     chrX 100635178-100635252      - |    426872 ENSE00003654571.1         3
#   [4]     chrX 100633931-100634029      - |    426871 ENSE00003658810.1         4
#   [5]     chrX 100633405-100633539      - |    426870 ENSE00003554016.1         5
#   [6]     chrX 100632485-100632568      - |    426869 ENSE00000401072.1         6
#   [7]     chrX 100630759-100630866      - |    426868 ENSE00000868868.1         7
#   [8]     chrX 100627108-100629986      - |    426866 ENSE00001459322.5         8
#   -------
#   seqinfo: 25 sequences (1 circular) from an unspecified genome; no seqlengths

## Second transcript has 7 exons:

ex_by_tx[["ENST00000612152.4"]]
# GRanges object with 7 ranges and 3 metadata columns:
#       seqnames              ranges strand |   exon_id         exon_name exon_rank
#          <Rle>           <IRanges>  <Rle> | <integer>       <character> <integer>
#   [1]     chrX 100636793-100637104      - |    426876 ENSE00001863395.1         1
#   [2]     chrX 100635558-100635746      - |    426874 ENSE00003733424.1         2
#   [3]     chrX 100635178-100635252      - |    426872 ENSE00003654571.1         3
#   [4]     chrX 100633931-100634029      - |    426871 ENSE00003658810.1         4
#   [5]     chrX 100633405-100633539      - |    426870 ENSE00003554016.1         5
#   [6]     chrX 100630759-100630866      - |    426868 ENSE00000868868.1         6
#   [7]     chrX 100627109-100629986      - |    426867 ENSE00003730948.1         7
#   -------
#   seqinfo: 25 sequences (1 circular) from an unspecified genome; no seqlengths

Extract all the distinct exons for gene ENSG00000000003.15, based on their Ensembl IDs:

exonsBy(txdb, by="gene")[["ENSG00000000003.15"]]
# GRanges object with 11 ranges and 2 metadata columns:
#        seqnames              ranges strand |   exon_id         exon_name
#           <Rle>           <IRanges>  <Rle> | <integer>       <character>
#    [1]     chrX 100627108-100629986      - |    426866 ENSE00001459322.5
#    [2]     chrX 100627109-100629986      - |    426867 ENSE00003730948.1
#    [3]     chrX 100630759-100630866      - |    426868 ENSE00000868868.1
#    [4]     chrX 100632485-100632568      - |    426869 ENSE00000401072.1
#    [5]     chrX 100633405-100633539      - |    426870 ENSE00003554016.1
#    [6]     chrX 100633931-100634029      - |    426871 ENSE00003658810.1
#    [7]     chrX 100635178-100635252      - |    426872 ENSE00003654571.1
#    [8]     chrX 100635558-100635746      - |    426873 ENSE00003662440.1
#    [9]     chrX 100635558-100635746      - |    426874 ENSE00003733424.1
#   [10]     chrX 100636608-100636806      - |    426875 ENSE00001855382.1
#   [11]     chrX 100636793-100637104      - |    426876 ENSE00001863395.1
#   -------
#   seqinfo: 25 sequences (1 circular) from an unspecified genome; no seqlengths

As you can see, the 8th and 9th exons share the same genomic location but Ensembl treats them as distinct exons.

Hope this helps,
H.

sessionInfo()
R version 4.3.0 Patched (2023-05-31 r84481)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 23.04

Matrix products: default
BLAS:   /home/hpages/R/R-4.3.r84481/lib/libRblas.so 
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.11.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: America/Los_Angeles
tzcode source: system (glibc)

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

other attached packages:
[1] GenomicFeatures_1.52.1 AnnotationDbi_1.62.1   Biobase_2.60.0        
[4] GenomicRanges_1.52.0   GenomeInfoDb_1.36.1    IRanges_2.34.1        
[7] S4Vectors_0.38.1       BiocGenerics_0.46.0   

loaded via a namespace (and not attached):
 [1] KEGGREST_1.40.0             SummarizedExperiment_1.30.2
 [3] rjson_0.2.21                lattice_0.21-8             
 [5] vctrs_0.6.3                 tools_4.3.0                
 [7] bitops_1.0-7                generics_0.1.3             
 [9] curl_5.0.1                  parallel_4.3.0             
[11] tibble_3.2.1                fansi_1.0.4                
[13] RSQLite_2.3.1               blob_1.2.4                 
[15] pkgconfig_2.0.3             Matrix_1.5-4.1             
[17] dbplyr_2.3.2                lifecycle_1.0.3            
[19] GenomeInfoDbData_1.2.10     compiler_4.3.0             
[21] stringr_1.5.0               Rsamtools_2.16.0           
[23] Biostrings_2.68.1           progress_1.2.2             
[25] codetools_0.2-19            RCurl_1.98-1.12            
[27] yaml_2.3.7                  pillar_1.9.0               
[29] crayon_1.5.2                BiocParallel_1.34.2        
[31] DelayedArray_0.26.3         cachem_1.0.8               
[33] tidyselect_1.2.0            digest_0.6.31              
[35] stringi_1.7.12              dplyr_1.1.2                
[37] restfulr_0.0.15             grid_4.3.0                 
[39] biomaRt_2.56.1              fastmap_1.1.1              
[41] cli_3.6.1                   magrittr_2.0.3             
[43] S4Arrays_1.0.4              XML_3.99-0.14              
[45] utf8_1.2.3                  prettyunits_1.1.1          
[47] filelock_1.0.2              rappdirs_0.3.3             
[49] bit64_4.0.5                 XVector_0.40.0             
[51] httr_1.4.6                  matrixStats_1.0.0          
[53] bit_4.0.5                   png_0.1-8                  
[55] hms_1.1.3                   memoise_2.0.1              
[57] BiocIO_1.10.0               BiocFileCache_2.8.0        
[59] rtracklayer_1.60.0          rlang_1.1.1                
[61] glue_1.6.2                  DBI_1.1.3                  
[63] xml2_1.3.4                  R6_2.5.1                   
[65] MatrixGenerics_1.12.2       GenomicAlignments_1.36.0   
[67] zlibbioc_1.46.0            

@gernophil
Copy link
Author

gernophil commented Jun 24, 2023

Wow, that's a really impressive answer. Thanks so much for taking your time for this. This really helps :).

Just to clarify this maybe. If I would now take only the non overlapping parts of these exons, these effect shouldn't be there anymore?

@hpages
Copy link
Contributor

hpages commented Jun 24, 2023

If I would now take only the non overlapping parts of these exons, these effect shouldn't be there anymore?

That's correct:

exonic_parts <- exonicParts(txdb)

mcols(exonic_parts)$tx_id <- mcols(exonic_parts)$exon_id <- NULL

gene_ids <- mcols(exonic_parts)$gene_id

exonic_parts[any(gene_ids == "ENSG00000000003.15")]
# GRanges object with 11 ranges and 4 metadata columns:
#        seqnames              ranges strand |                             tx_name            gene_id                           exon_name     exon_rank
#           <Rle>           <IRanges>  <Rle> |                     <CharacterList>    <CharacterList>                     <CharacterList> <IntegerList>
#    [1]     chrX           100627108      - |                   ENST00000373020.9 ENSG00000000003.15                   ENSE00001459322.5             8
#    [2]     chrX 100627109-100629986      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15 ENSE00001459322.5,ENSE00003730948.1           8,7
#    [3]     chrX 100630759-100630866      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15                   ENSE00000868868.1           7,6
#    [4]     chrX 100632485-100632568      - |                   ENST00000373020.9 ENSG00000000003.15                   ENSE00000401072.1             6
#    [5]     chrX 100633405-100633539      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15                   ENSE00003554016.1             5
#    [6]     chrX 100633931-100634029      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15                   ENSE00003658810.1             4
#    [7]     chrX 100635178-100635252      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15                   ENSE00003654571.1             3
#    [8]     chrX 100635558-100635746      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15 ENSE00003662440.1,ENSE00003733424.1             2
#    [9]     chrX 100636608-100636792      - |                   ENST00000373020.9 ENSG00000000003.15                   ENSE00001855382.1             1
#   [10]     chrX 100636793-100636806      - | ENST00000373020.9,ENST00000612152.4 ENSG00000000003.15 ENSE00001855382.1,ENSE00001863395.1             1
#   [11]     chrX 100636807-100637104      - |                   ENST00000612152.4 ENSG00000000003.15                   ENSE00001863395.1             1
#   -------
#   seqinfo: 25 sequences (1 circular) from an unspecified genome; no seqlengths

So 11 non-overlapping exonic parts for this gene. The 8th part (chrX:100635558-100635746:-) corresponds to exons ENSE00003662440.1 and ENSE00003733424.1 collapsed together.

H.

@gernophil
Copy link
Author

Ok, I manages to write the code, so it produces the exact same results (because I wanted to check, what you code is doing :)). However, I am trying to figure out which GENCODE annotations would be better for this purpose. I compared basic and comprehensive annotation files and for the 62703 distinct genes (according to ENSG) 19862 show different total non overlapping exon sizes, no matter, if I use my code or yours. What would you think would be the more suitable file here? Thanks and I hope I don't take too much of your time :).

@hpages
Copy link
Contributor

hpages commented Jun 27, 2023

Yeah so this kind of question is really best asked on the Bioconductor support site. I suppose people will need a little bit more context, e.g. what are you trying to achieve exactly, in order to give advice about which file is best. Thanks!

@hpages hpages closed this as completed Aug 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants