I assume that 0-based start is the problem here. how to edit these coordinates so that the intervals remain the same in terms of the region it spans? should it be 1 based? (i thought until now that the0-based start and 1-based end in bed format was compatible with htseq).
The BED format is 0-based, by definition, but you aren't giving it a BED file, you're giving it a GFF file, which by definition is 1-based. You shouldn't produce 0-based GFFs or 1-based BEDs because programs that take these files as input will expect them to conform to the definition of the format. For example, because BAM files are 0-based, when you run htseq-count with a BAM file and a GFF file, it will properly shift everything by 1 bp. If you give it a hand-crafted 0-based GFF file (assuming it doesn't produce the error you're getting) then it would still do this shifting but it would be incorrect and reads that are right on the edge could be counted as outside using a 0-based GFF and inside using a 1-based GFF, or vice versa. This 1 bp difference may not have a huge impact on the gene counts created, but you never know.
To answer you question, all you need to do is add 1 to both start coordinate in you GFF file. You can do this using the awk command, very similar to ATpoint's answer:
awk 'OFS="\t" {print $1, $2, $3, $4+1, $5, $6, $7, $8, $9}' in.gff > out.gff
Edit: Note that the GFF specification does not define whether the end coordinate is inclusive or exclusive. Ensembl's GTF annotations use an inclusive end, and I believe htseq-count expects this, so I haven't added 1 to the end coordinate which acts to convert the exclusive end used by the BED format into an inclusive end.
It would be a lot easier with
featureCounts:thank you for the suggestion. since I'm already very familiar with htseq and made the gtf file that it likes, i prefer to continue to use htseq. i would like to know how to get around this error that the program raises- specifically why 0-based start is not compatible? and how to fix it?
GTF is 1-based. Convert 0- to 1-based coordinates. Should do the trick.
Thank you for your help !
Please use the formatting bar (especially the

codeoption) to present your post better. I've done it for you this time.Thank you!
Hi Colin, thank you So much for the very thorough explanation. It's very clear. I just had one question- htseq is 0-based, open ended. So if I don't add +1 to the end coordinate column here, wouldn't the last base of every window get omitted when htseq assigns the reads from my bam file? Or perhaps I understood wrong. I guess my question is, if gtf is end-inclusive (by definition of being 1-based) and htseq is end-exclusive (by definition of being 0-based), when I add +1 to only the starting coordinate,the last base of every window would be left out by htseq( unless I add +1 also to the end coordinate)? Thanks again for the very concise explanation.