schneebergerlab / syri

Synteny and Rearrangement Identifier
https://schneebergerlab.github.io/syri/
MIT License
306 stars 36 forks source link

I tried to compare the SV of two genomes with different number of chromosomes, but I got an error #113

Closed leyanKk closed 2 years ago

leyanKk commented 2 years ago

I used parameters of --no-chrmatch,and the error return is: ''' Reading Coords - WARNING - Chromosomes IDs do not match. Reading Coords - WARNING - --no-chrmatch is set. Not matching chromosomes automatically. Reading Coords - WARNING - chromosome18, chromosome10, chromosome3, chromosome4, chromosome2, chromosome7, chromosomeX, chromosome15, chromosome8, chromosome13, chromosome6, chromosome17, chromosome11, chromosome14, chromosome5, chromosome1, chromosome12, chromosomeY, chromosome16, chromosome9, chromosome19, LG01, LG02 present in only one genome. Removing corresponding alignments Traceback (most recent call last): File "/data/01/user190/biosoft/syri/syri/syri/bin/syri", line 247, in startSyri(args, coords[["aStart", "aEnd", "bStart", "bEnd", "aLen", "bLen", "iden", "aDir", "bDir", "aChr", "bChr"]]) File "syri/pyxFiles/synsearchFunctions.pyx", line 467, in syri.pyxFiles.synsearchFunctions.startSyri File "syri/pyxFiles/synsearchFunctions.pyx", line 860, in syri.pyxFiles.synsearchFunctions.outSyn File "/data/00/user/user190/mly/conda/yes/envs/syri/lib/python3.5/site-packages/pandas/core/generic.py", line 4389, in setattr return object.setattr(self, name, value) File "pandas/_libs/properties.pyx", line 69, in pandas._libs.properties.AxisProperty.set File "/data/00/user/user190/mly/conda/yes/envs/syri/lib/python3.5/site-packages/pandas/core/generic.py", line 646, in _set_axis self._data.set_axis(axis, labels) File "/data/00/user/user190/mly/conda/yes/envs/syri/lib/python3.5/site-packages/pandas/core/internals.py", line 3323, in set_axis 'values have {new} elements'.format(old=old_len, new=new_len)) ValueError: Length mismatch: Expected axis has 0 elements, new values have 7 elements '''

mnshgl0110 commented 2 years ago

SyRI expects that two genomes would have homologous chromosomes. So, please have the same number of chromosome sequences, that are homologous to each other, in the two genome fasta files before doing the alignment.

SyRI can try to find homologous sequences automatically, but using --no-chrmatch turns off that functionality. So, use --no-chrmatch only when the homologous chromosomes have exactly the same names. If the homologous chromosomes have different names then do not use --no-chrmatch. From https://github.com/schneebergerlab/syri/issues/79: --no-chrmatch is to regulate homologous chromosomes identification when the assemblies have different chromosome IDs. Using this option tells SyRI that homologous chromosomes have exactly the same chromosome IDs in the two assemblies, so SyRI should not try to match homologous chromosomes.

leyanKk commented 2 years ago

Thanks for your help. I'll give it a try

leyanKk commented 2 years ago

image image I tried to simulate pseudochromosomes using Chroder, but I couldn't find a match on any chromosome in the reference genome. At first, chromosome 1 didn't match, so I deleted chromosome 1 in the Coords file and ref.fas, but it kept dropping errors. Should I keep deleting chromosomes down?

mnshgl0110 commented 2 years ago

So, I assume that initially you were trying to use SyRI with incomplete assemblies. In which case, the original issue is now resolved. For chroder, a new issue can be opened.