Add in a genoVi and plotly function to generate circular plots showcasing phylon gene location per strain.
Main Plotly function
-
plot_phylon_locations(phylon_name, gff_file, reference_genome):
-
Parameters:
- eggNOG annotations file (part of
NmfData)
- gff_file (part of
NmfData)
- reference_genome (genome_id or list of genome_id): Reference Genome ID(s)
-
Returns: plotly interactive plot (fig) with interactive circular map
Logic:
-
1 function for processing gff files (return list of genes in a strain in order: per strain which is dict key)
-
1 function for finding common genes (100% of strains)
- Future work: n-1, n-2 thresholding
-
1 function for finding common genes (makes sure it only happens once)
- Find strains which were filtered out from this function and (future work:) analyze them
-
1 big function that creates strain groups
-
1 function for reference order (used for mapping) and mapping
-
1 big function to make dataframes
-
1 function for plotting
Additional work:
- Make sure it works for chromosomes+plasmids
For NmfData:
- We need to process ALL gff files prior to running (only needs to happen ONCE) [lazy method implementation]
- Have Reference Genome property (make sure it can be set, can also be a list)
For downloads.py:
- Can search for reference genomes
Add in a genoVi and plotly function to generate circular plots showcasing phylon gene location per strain.
Main Plotly function
plot_phylon_locations(phylon_name, gff_file, reference_genome):
Parameters:
NmfData)NmfData)Returns: plotly interactive plot (fig) with interactive circular map
Logic:
1 function for processing gff files (return list of genes in a strain in order: per strain which is dict key)
1 function for finding common genes (100% of strains)
1 function for finding common genes (makes sure it only happens once)
1 big function that creates strain groups
1 function for reference order (used for mapping) and mapping
1 big function to make dataframes
1 function for plotting
Additional work:
For NmfData:
For
downloads.py: