This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Creat A Db By Maketranscriptdbfromgff Of Genomicfeatures In Bioconductor

I try to use the makeTranscriptDbFromGFF function of GenomicFeatures to creat a TranscriptDb object. I do as the tutorial

when i run the cmd:

> chrominfo = data.frame(
+       chrome=c('Chr1','Chr2','Chr3','Chr4','Chr5','Chr6','Chr7'), 
+       length=c(29149675,23174626,39782674,23425844,28023477,29076228,19226500),
+       is_circular=c(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE))
> 
> txdb = makeTranscriptDbFromGFF(file='Cucumber_v2i.gff3',
+       format='gff3',
+       exonRankAttributeName='exon_number',
+       chrominfo=chrominfo,
+       dataSource='SoLab',
+       species='Cucumis sativus Linn')

there is a error:

Error in DataFrame(...) : different row counts implied by arguments
Calls: makeTranscriptDbFromGFF ... standardGeneric -> eval -> eval -> eval -> .Method -> DataFrame
Execution halted

How can figure it out? any advice will be appreciated, thank you

bioconductor

1 answer

We can't test out solutions because we can't access that gff file. But you should rename "chrome" to "chrom" Also does your gff actually contain "exon_number" values? if not, this is likely to be the problem

Hi jeales! I corrent the chrome to chrom. I find that exonRankAttributeName causes the error. It is ok now after i remove the exonRankAttributeName. But i think the gff3 file has exon rank info. part of my gff3 file:

Chr1    .    gene    2952    4284    .    -    .    ID=Csa1G000010; Name=Csa1G000010
Chr1    .    mRNA    2952    4284    .    -    .    ID=Csa1M000010.1; Parent=Csa1G000010; Name=Csa1M000010.1
Chr1    .    five_prime_utr    4200    4284    .    -    .    ID=Csa1M000010.1.utr5p1; Parent=Csa1M000010.1
Chr1    .    exon    4131    4284    .    -    .    ID=Csa1M000010.1.exon1; Parent=Csa1M000010.1
Chr1    .    CDS    4131    4199    .    -    0    ID=Csa1M000010.1.cds1; Parent=Csa1M000010.1
Chr1    .    exon    3837    4040    .    -    .    ID=Csa1M000010.1.exon2; Parent=Csa1M000010.1
Chr1    .    CDS    3837    4040    .    -    0    ID=Csa1M000010.1.cds2; Parent=Csa1M000010.1
Chr1    .    exon    2952    3377    .    -    .    ID=Csa1M000010.1.exon3; Parent=Csa1M000010.1
Chr1    .    CDS    3324    3377    .    -    0    ID=Csa1M000010.1.cds3; Parent=Csa1M000010.1
Chr1    .    three_prime_utr    2952    3323    .    -    .    ID=Csa1M000010.1.utr3p1; Parent=Csa1M000010.1

Does the string 'Csa1M000010.1.exon1/2/3' specify the exon rank?

You don't need to specify an exon rank attribute. It's best to let makeTranscriptDbFromGFF() work out the exon rank for you. Exons are usually ordered correctly in GFFs. Unless you know your GFF has exons in the wrong order, i'd remove the exonRankAttributeName.

Yeah, I remove the exon rank, it is ok now.

Log in to answer this question.