I have a list of genes nearly 20000: gene name (column1) and coordinates (columns 2 and 3)

head genes
    Ma0_73Ns    2359    2923        
    Ma0_73Ns    4727    4868

I want to find the chromosomal location of each gene, on which chromosome each gene located? my study organism is Helianthus annuus (sunflower)

  • 2
    $\begingroup$ From what organism? $\endgroup$
    – benn
    Apr 24, 2018 at 18:54
  • $\begingroup$ Do you know what the coordinates you mention refer to? $\endgroup$
    – Sarah
    Apr 24, 2018 at 22:32
  • $\begingroup$ Biomart is the best tool for that. You don't even need any script for that. The user interphase is pretty neat and easy. You can refer to this tutorial for easy understanding - Click to watch Regards Arman $\endgroup$ Nov 13, 2022 at 15:47

3 Answers 3


Helianthus annuus is an Ensembl plants genome. You should be able to use the bioMart there to pull out genomic co-ordinates (chromosomes etc) for genes. However, searching for the gene names you posted does not return any results. The same is true of the two websites posted above. Are they real gene names or just examples you made up for the post?


Ok so I found two websites that could help. The one I found first is more intuitive to go through, but it looks like it could be outdated as the second website I found seems more recent so it probably has a more complete genome to use as the reference. (Sorry, I haven't worked personally with sunflowers and don't know for sure where you would go for the "official" reference genome, or if there even is an "official" one, but hopefully one of these websites will help.)

1) This is a website I found that looks like it is a website for the sunflower genome and includes gene annotation information. (The recent publications list only goes up till 2015 though so it may not be the most recent data)


If you scroll down to the bottom of this page there is a text file detailing the descriptions of how the files are formatted.

For example, the linked to file gives the following:

  • Ha412v1r1_CDS_v1.0.fasta.gz

    • Description: Nucleotide CDS for each gene
    • Header format: >TranscriptID GeneID Chromosome_start_end_strand
    • Example: >Ha1_00044280-RA Ha1_00044280 Ha1_94590914-94591860_-

If you download this fasta file you could then create a python script that will read in the file and extract the headers. If each header is a string variable called "mytext", you could then extract the TranscriptID, GeneID, and chromosomal info and using mytext.split(" "). You could then split on "_" to further parse the chromosomal location info. You could save the extracted information in a dictionary using the gene name as a key and parse through the original file you mentioned containing the list of genes, in order to get the chromosomal location information you desire. The one caveat is that this is assuming that your gene names are the same as the geneIDs the above website uses.

I did not exhaustively examine the list of files and perhaps there is another one that would be a better one to parse through for your purpose, but the linked to text file gives more details on the files and their formats and presumably they could be parsed in a similar manner.

2) Double checking my first answer I found this article:

Badouin H, Gouzy J, Grassa CJ, Murat F, Staton SE, Cottret L, Lelandais-Brière C, Owens GL, Carrère S, Mayjonade B, Legrand L. The sunflower genome provides insights into oil metabolism, flowering and Asterid evolution. Nature. 2017 Jun;546(7656):148.

Which links to a website as follows:

"The integrative web interface Heliagene provides visualization, querying tools for data mining and network exploration for the community (https://www.heliagene.org)."

So it looks like this website also has reference genomes for sunflowers, although a lot of the annotation information seems to be locked unless you have a login. Like I mentioned previously, this website is a little less intuitive to go through but you might be able to find something helpful here if you think the other website isn't official or recent enough.


If you can add a column of RefSeq identifiers for each gene to your table, first download a whole-genome GFF file for your organism:

wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/annotation_releases/4232/101/GCF_002127325.2_HanXRQr2.0-SUNRISE/GCF_002127325.2_HanXRQr2.0-SUNRISE_genomic.gff.gz

and then open the file in Python using a package like gffutils and extract all the rows which contain a RefSeq identifier located in table (the RefSeq identifier is the first column in the gff file linked in the wget command above). For all the rows you extract, which chromosome it belongs to will be stated in the Attributes column, which you can also extract using gffutils.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.