Skip to content

Error in finding SNPs using show-snps #291

Open

Description

@shiyi-pan

Hi, Syri is a very good tool, and I've used it for a lot of analysis.

But now I ran into a strange problem,here is my script and ERROR:

python3 syri -c NC_GsojaF.filtered.coords -d NC_GsojaF.filtered.delta -r NC_007942.1.fasta -q GsojaF_polished_final_assembly.fasta

ShV - ERROR - Error in finding SNPs using show-snps: ERROR: 'chloroplast' not found in reference file

Both my reference file and query file only have one sequence named "chloroplast".

Here is my fasta file and mummer ouput files:

syri.zip

I hope you can help me solve this problem in your spare time. I look forward to your reply. Thank you very much.

Activity

  1. lrauschning commented on Jun 23, 2025

    @lrauschning
    Collaborator

    Hi,

    seems the issue is coming from the subcall to mummer's show-snps program.
    Try converting from .delta info .paf format using e.g. paftools, and/or double-check if the nucmer step worked correctly and the sequence names were always 'chloroplast'.
    Hope that helps,

    Leon

  2. shiyi-pan commented on Jun 24, 2025

    @shiyi-pan
    Author

    Hi,Leon. Thank you very much for your reply. The following is the content in the paf file. Both the reference and query sequences contain the 'chloroplast' sequence:

    chloroplast 153275 0 142303 + chloroplast 152218 0 142119 141971 142343 0 NM:i:372 cg:Z:6977M1D17494M6I7283M4I19785M1I163M2D7615M1I3M1I2942M1I13400M1I2590M5I2781M1D27711M1D5168M1I16161M1I1002M1I1220M1I391M1I458M1I105M1I653M1I70M1I806M1I12M1I94M2I84M1I42M1I114M1I63M1I80M1I105M2I127M1I63M1I49M1I73M1I163M1I146M1D142M1I14M1I84M1I268M1I8M1I81M1I279M2I76M1I25M1I35M1I43M1I17M1I28M1I89M1I74M1I15M1I16M1I8M1I78M1I13M1I55M2I11M1I50M1I52M1I49M1I36M1I43M1I65M1D22M1I6M1I13M1I2M1I37M1I39M1I11M1I18M1I16M1I21M1I120M1I6M1I6M1I163M1D5M1I71M1I82M1I15M1I34M1I30M1I29M1D2M1I7M1I16M1I44M1I21M2I4M1I7M1I44M1I25M1D45M1I12M1I110M1I75M1D81M1I29M1I28M1I7M1I58M1I28M1I32M1I16M1I7M1I66M1I56M1I65M1I11M1I116M1I69M1I7M2I6M1I15M1D6M1I33M1D72M1D35M1D21M1I9M1I5M1D11M1I23M1I7M1I5M1D8M1D7M1I9M1D13M1D15M1D9M2I23M1D83M1D2M1I49M1I2M1D13M1I39M1I13M2I15M1D13M1I75M1I16M1I6M1I10M1I32M1D52M1I3M1D48M1I27M1D17M1I25M1I60M1I138M1D10M1I10M1I7M1I18M1I37M1D68M2I14M1D20M1I34M1D67M1D71M1I12M1D104M1I8M1D53M1I98M1D16M1I25M1D15M1D39M1I19M1I32M1D4M1I26M1I5M1I7M1I5M1I11M1I5M1I35M2I15M2I5M2I7M1I21M1I5M1I4M2I17M1I36M1I48M1I37M2I5M1I5M1I12M1I4M1I28M1I9M1I45M3I16M1I4M1I13M2I17M1I3M1I2M1D6M1I7M1I21M2I15M1I3M1I23M4I11M4I6M1I6M2I22M1I13M2I40M4I8M1I14M
    chloroplast 153275 144770 153275 + chloroplast 152218 143741 152218 8471 8509 0 NM:i:38 cg:Z:8M2D11M3I8M1D4M1I3M2I5M3I16M1I5M1D30M1I4M1I226M1I989M2I114M1I26M1I40M1I19M1I245M2I183M1I170M1I51M1I21M1I9M1I59M1I285M1I361M1I355M1I764M2I4462M

  3. lrauschning commented on Jun 24, 2025

    @lrauschning
    Collaborator

    Hi,
    sorry, should have been more clear – I meant trying out converrting the .delta to PAF and then running syri with this as input, and seeing if the error persists.

  4. shiyi-pan commented on Jun 27, 2025

    @shiyi-pan
    Author

    Thank you for your reply. sorry for reply you late. Here is my script to run syri with paf file.
    python3 $PATH_TO_SYRI -c NC_GsojaF.filtered.paf -r NC_007942.1.fasta -q GsojaF_polished_final_assembly.fasta -k -F P --prefix output

    The error longer exists, but a new one has occurred.
    I set the file type to paf ( -F P ), but syri prompts me to read the bam format and the CIGAR error.

    Reading BAM/SAM file - ERROR - Incorrect CIGAR string found. CIGAR string can only have I/D/H/S/X/=. CIGAR STRING: 6977M1D17494M6I7283M4I19785M1I163M2D7615M1I3M1I2942M1I13400M1I2590M5I2781M1D27711M1D5168M1I16161M1I1002M1I1220M1I391M1I458M1I105M1I653M1I70M1I806M1I12M1I94M2I84M1I42M1I114M1I63M1I80M1I105M2I127M1I63M1I49M1I73M1I163M1I146M1D142M1I14M1I84M1I268M1I8M1I81M1I279M2I76M1I25M1I35M1I43M1I17M1I28M1I89M1I74M1I15M1I16M1I8M1I78M1I13M1I55M2I11M1I50M1I52M1I49M1I36M1I43M1I65M1D22M1I6M1I13M1I2M1I37M1I39M1I11M1I18M1I16M1I21M1I120M1I6M1I6M1I163M1D5M1I71M1I82M1I15M1I34M1I30M1I29M1D2M1I7M1I16M1I44M1I21M2I4M1I7M1I44M1I25M1D45M1I12M1I110M1I75M1D81M1I29M1I28M1I7M1I58M1I28M1I32M1I16M1I7M1I66M1I56M1I65M1I11M1I116M1I69M1I7M2I6M1I15M1D6M1I33M1D72M1D35M1D21M1I9M1I5M1D11M1I23M1I7M1I5M1D8M1D7M1I9M1D13M1D15M1D9M2I23M1D83M1D2M1I49M1I2M1D13M1I39M1I13M2I15M1D13M1I75M1I16M1I6M1I10M1I32M1D52M1I3M1D48M1I27M1D17M1I25M1I60M1I138M1D10M1I10M1I7M1I18M1I37M1D68M2I14M1D20M1I34M1D67M1D71M1I12M1D104M1I8M1D53M1I98M1D16M1I25M1D15M1D39M1I19M1I32M1D4M1I26M1I5M1I7M1I5M1I11M1I5M1I35M2I15M2I5M2I7M1I21M1I5M1I4M2I17M1I36M1I48M1I37M2I5M1I5M1I12M1I4M1I28M1I9M1I45M3I16M1I4M1I13M2I17M1I3M1I2M1D6M1I7M1I21M2I15M1I3M1I23M4I11M4I6M1I6M2I22M1I13M2I40M4I8M1I14M. If using minimap2 for alignment, then use the --eqx parameter.

    Thank you again.

  5. lrauschning commented on Jun 30, 2025

    @lrauschning
    Collaborator

    The issue here is that syri expects CIGAR strings reporting exact matches/mismatches (=/X) instead of only aligned (M) tags.
    Maybe your delta file does not contain exact match information, or pathtools drops it during conversion – though I think the default is to keep it?
    If you don't care about SNPs, you can also just replace every M with a = in the file, though that may cause HDR regions to be annotated as syntenic.

  6. mnshgl0110 commented on Jun 30, 2025

    @mnshgl0110
    Member

    Hi @shiyi-pan ,

    Can you please check whether show-snps is working correctly? Something like this should work:

    cat [filename].coords | show-snps -HrTS [filename].delta

    Also, syri should be producing multiple *.out files. Are they all empty or contains these two alignments?

  7. shiyi-pan commented on Jul 1, 2025

    @shiyi-pan
    Author

    Hi @shiyi-pan ,

    Can you please check whether show-snps is working correctly? Something like this should work:

    cat [filename].coords | show-snps -HrTS [filename].delta

    Also, syri should be producing multiple *.out files. Are they all empty or contains these two alignments?

    Here is my script and error:
    cat NC_GsojaF.filtered.coords | show-snps -HrTS NC_GsojaF.filtered.delta

    ERROR: 'chloroplast' not found in reference file

  8. shiyi-pan commented on Jul 1, 2025

    @shiyi-pan
    Author

    Hi @shiyi-pan ,

    Can you please check whether show-snps is working correctly? Something like this should work:

    cat [filename].coords | show-snps -HrTS [filename].delta

    Also, syri should be producing multiple *.out files. Are they all empty or contains these two alignments?

    The issue here is that syri expects CIGAR strings reporting exact matches/mismatches (=/X) instead of only aligned (M) tags. Maybe your delta file does not contain exact match information, or pathtools drops it during conversion – though I think the default is to keep it? If you don't care about SNPs, you can also just replace every M with a = in the file, though that may cause HDR regions to be annotated as syntenic.

    Thank you for your reply. Unfortunately, this time what I mainly want to obtain is the information of SNPs and indels. The compressed package I uploaded contains the original fasta file. Could you please check where the problem lies or if syri is not suitable for this case. Thank you again.

  9. shiyi-pan commented on Jul 1, 2025

    @shiyi-pan
    Author

    Thank you for your reply. Unfortunately, this time what I mainly want to obtain is the information of SNPs and indels. The compressed package I uploaded contains the original fasta file. Could you please check where the problem lies or if syri is not suitable for this case. Thank you again.

  10. lrauschning commented on Jul 1, 2025

    @lrauschning
    Collaborator

    SyRI can call small variants in well-assembled genomes, including chloroplast genomes.
    It seems like something about your .delta file is corrupt. I suggest double-checking your mummer call and/or trying to run the pipeline with a different aligner, e.g. minimap2.
    If you only care about small variants and don't expect your assemblies to have structural variation, you can also use bcftools for variant calling from a SAM/BAM alignment.

  11. shiyi-pan commented on Jul 2, 2025

    @shiyi-pan
    Author

    Thank you very much , I will try bcftools.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions