This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Grouping chromosomes to give them similar labels

Hi,

I have some fungal genomes assembled where i kind of know which chromosomes are core and accessory based on

  1. sample-vs-reference genome alignments
  2. gene and repeat density on chromosomes

This tells me for example S1 has 5 accessory chromosomes (S01_chr12 to S01_chr16)

Based on similar approach i know the accessory chr in all 11 samples. totaling 48 Chrs (some small unplaced scaffolds). All these ACs are of different length and currently the labeling is based on size sorted chromosome numbering.

I want to cluster these accessory chromosomes so we can label them similarly to downstream analsysis get kind of easy.

the concept is

if S01_chr12, S02_chr14, S11_chr13 are similar then rename them as chrA in all samples. similarly chrB chrC and so on.

the problem

  1. I kinda have no idea how to work on this approach, 1st i thought of creating a MSA of all 48 seqs and then a tree with IQtree but realiyed this won't be a good approach as each chr is of different length, there will be some sytanic parts but also repeat content is really high here.
  2. Someone suggested to try Kmer based phylogeny a try but looking at it, it seems to be a metagenomics approach and i am not sure if it will work. Can you suggest any resources for this approach ?
  3. Any other approach or pathway you can suggest for this approach ?

Any help is appriciated. Thank you.

genome assemblies fungal hifi

S01_chr12, S02_chr14, S11_chr13 are similar

By what criteria?

based on sequence similarity and also samples belong to same specie complex where Horizontal gene/chr transfer is known o happen. also starships might be playing this role.

i kind of tried a similar approach while doing ACs.vs.ACs alignments and ploted that, those were 11 genome files each containing different number of ACs, but at the end the final alignment combinations were in 55 files. at this point the ploting was an issue. I somehow have to plot them all in one frame so i can see which combinations are coming up. if i try to do all 48 ACs as 48.vs.48 alignments, the final combinations are 1128 and yet again ploting them is an issue. i can go on with 1vs1 plots.

Example plot of 11.vs.11 samples looks like thisenter image description here

some chr are mapping as whole and some are partially mapping to different regions, this is with minIdentity>95% and min_alignment_length>1000bp cutoffs.

Yeah, I love Circos and all, but the plots are often a complete mess. In this case, it obfuscates more than it helps. imo this shows why a circular plot is not suitable for this task and why the linear synteny plot could work better.

i would try linear plot for same data. 1vs1 circos plots do look good to find what i have been looking for.

Indeed, 1v1 with circos is fine, especially if you depict each chromosome separately.

2 answers

I propose to base your naming on a linear synteny plot, e.g. using syntenyPlotterR. Your question implies that the ancestral chromosome organization could be a relevant criterion to resolve the naming, say if we reconstruct the chromosome structure of the common ancestor, e.g. using DESCHRAMBLER, and name them simply Chr1... ChrN, you could name all highly conserved chromosomes the same way. For mosaic chromosomes or rearrangements, you could use a naming scheme that reflects their components. For 11 samples, you could likely do this manually based on the synteny plot. This method works with pairwise alignments and should be computationally feasible.

i kind of have done something similar wher ei mapped the accessory chr of all samples again all other samples and genereated circos plots based on synteny, but that was getiing too much overwhelming to properly read and group the chromosomes.

are you suggesting to manually go through the synteny and generate somthing like a table where chromosomes that seen more homologous across all samples are on one row, then na,e that whole row as chrA. something like this ?

Yes, something like this. It may work out with the linear plot where the ancestor is the reference on top. I think a circular plot would make it too difficult to spot the similarity over multiple samples. But I must admit that I have never had to do this (I'm at the level of your average LLM here ;); I expect that the higher the overall similarity is, the easier it gets. The naming would then be by column in the graph.

It may or may not work out. But with your approach, I'd somehow expect to see a synteny plot in a future manuscript anyway. So, the effort wouldn't be wasted.

The plotting is the part that won't scale, and I don't think you actually need it. You already have the all-vs-all alignments - turn each pairwise alignment into one number rather than a picture and you've got a 48x48 matrix you can just cluster.

From the PAF, something like bases of A covered by alignments to B divided by length of A, made symmetric by averaging both directions. Then 1 minus that as a distance, hierarchical clustering, cut the tree, each cluster becomes chrA / chrB / chrC. That's a short pandas + scipy script over files you've already generated, and the grouping ends up reproducible instead of eyeballed.

The k-mer suggestion was also better than it sounded - Mash and sourmash aren't metagenomics-specific, they're general genome distance tools, and mash triangle hands you that same matrix directly in seconds. Two things to watch there: with chromosomes of very different lengths Jaccard distance is biased against the short ones, so sourmash containment behaves better; and given your repeat content I'd mask repeats first either way, or unrelated ACs will look similar purely through shared TEs.

Thanks for the sugegstion. The genomes under study are already repeatmasked with EarlGrey and annotated using funannotate. I will look into Sourmash then.

Log in to answer this question.