You may not collaborate with anyone on this challenge. You are allowed to use Internet documentation. If you do use existing code (either from Github, Stack Overflow, or other sources), please cite your sources in the README.
Please follow the below instructions on how to submit your answers.
- Create a public fork of this repo and name it
ACM-Research-Coding-Challenge-S21
. To fork this repo, click the button on the top right and click the "Fork" button. - Clone the fork of the repo to your computer using
git clone [the URL of your clone]
. You may need to install Git for this (Google it). - Complete the Challenge based on the instructions below.
- Submit your solution by filling out this form.
Genome analysis is the identification of genomic features such as gene expression or DNA sequences in an individual's genetic makeup. A genbank file (.gb) format contains information about an individual's DNA sequence. The following dataset in Genome.gb
contains a complete genome sequence of Tomato Curly Stunt Virus.
With this file, create a circular genome map and output it as a JPG/PNG/JPEG format. We're not looking for any complex maps, just be sure to highlight the features and their labels.
You may use any programming language you feel most comfortable. We recommend Python because it is the easiest to implement. You're allowed to use any library you want to implement this, just document which ones you used in this README file. Try to complete this as soon as possible.
Regardless if you can or cannot answer the question, provide a short explanation of how you got your solution or how you think it can be solved in your README.md file. However, we highly recommend giving the challenge a try, you just might learn something new!
For this question, I have decided to code in python while using a special module called GenomeDiagram. This module will lessen the amount of hard coding I will have to do to create a circular genome map (the module uses two packages and installation is in the pdf which were installed through pip). I later found out that GenomeDiagram is now apart of BioPython, so just install BioPython and ReportLab libraries for the program to work.
In my program, I used the SeqIO.read function to get all of the necessary information from the genbank file. With that information, I start creating the GenomeDiagram with all of the features and contents of the virus. Lastly, I made a PNG file for the diagram that was required by the client. More can be added with the libraries and these libraries are open source.