<p>I found a solution.
For variant calling on multple sequence alignment I can recommend snp-sites.
For anyone facing a similar problem of wanting to find substrains, here is an overview of useful tools:
&quot;Computational Methods for Strain-Level Microbial Detection in Colony and Metagenome Sequencing Data&quot;
(<a href="https://www.frontiersin.org/articles/10.3389/fmicb.2020.01925/full" rel="nofollow noreferrer">https://www.frontiersin.org/articles/10.3389/fmicb.2020.01925/full</a>)</p>

CC BY-SA 4.0
2021-05-12T06:40:03.517Z
2021-05-12T06:40:03.517Z
KasperH
<p>I have partly answered this for know! For anyone interested i use kalign to align all 10 strains to a fasta format, then I use snp-sites to output a vcf file that can show each mismatch in accordance to the first strain in the fasta. New problem is that the alignment &quot;stretches&quot; the length of this first strain, because some of the other strains are a bit longer. This means that the position of variants are with reference to the longest strain of the 10 and not the strain I want. It can work for now, but any solution to this, would be helpful.</p>

CC BY-SA 4.0
2021-05-07T11:35:33.660Z
2021-05-07T11:56:34.353Z
2021-05-07T11:56:34.353Z
KasperH
<p>TL;DR Can anyone point me in the direction of a tool that can be used to input different viral substrain reference sequences (fasta) as well as sequence data (fastq/bam/vcf) and find the most likely substrain of the sequenced data?</p>
<p>I am doing multiple sequence alignment of different viral subtype references and would like to get the exact positions and base each time there is a mismatch. I have tried using different tools. For example Clustal Omega can almost give me what I seek, but I have trouble getting the exact position and nucleotide for the mismatches (the full thing is ~8000bp long):</p>
<pre><code>ACTACAATAATCCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGTGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGTGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGTGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAATTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG

*********** *********** ****** ***************************** 
</code></pre>
<p>E.g I would like something like:</p>
<pre><code>Pos 12:
C
T
T
T
T
T
T
T
T
T
T
</code></pre>
<p>For each position with a mismatch.</p>
<p>A problem is that the sequences are slightly different lengths so something like a variant call format on the &quot;main&quot; strain might work, but I'm not sure how I can do this on multiple files of this length.</p>
<p>The end goal is actually to be able to call which substrain is present from NGS data. I imagine using variant calling on the &quot;Main&quot; strain, but getting from there to calling which substrain is in the data is a bit of a long way for me. If someone have any suggestions on tools for this, please enlighten me :)</p>
<p>Thank you very much!</p>

<multiple-sequence-alignment>
Getting exact mismatch data from multiple sequence alignment
# Getting exact mismatch data from multiple sequence alignment

(Asked by: username_0 on 2021-05-06)

TL;DR Can anyone point me in the direction of a tool that can be used to input different viral substrain reference sequences (fasta) as well as sequence data (fastq/bam/vcf) and find the most likely substrain of the sequenced data?
I am doing multiple sequence alignment of different viral subtype references and would like to get the exact positions and base each time there is a mismatch. I have tried using different tools. For example Clustal Omega can almost give me what I seek, but I have trouble getting the exact position and nucleotide for the mismatches (the full thing is ~8000bp long):
ACTACAATAATCCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGTGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGTGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGTGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAATTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG
ACTACAATAATTCATGTATAAAACTAAGGGCGTAACCGAAATCGGTTGAACCGAAACCGG

*********** *********** ****** ***************************** 

E.g I would like something like:
Pos 12:
C
T
T
T
T
T
T
T
T
T
T

For each position with a mismatch.
A problem is that the sequences are slightly different lengths so something like a variant call format on the "main" strain might work, but I'm not sure how I can do this on multiple files of this length.
The end goal is actually to be able to call which substrain is present from NGS data. I imagine using variant calling on the "Main" strain, but getting from there to calling which substrain is in the data is a bit of a long way for me. If someone have any suggestions on tools for this, please enlighten me :)
Thank you very much!

**Tags:** multiple-sequence-alignment

---

## 2 answers

### Answer by username_0 on 2021-05-12. Score: 0 | Accepted answer

I found a solution.
For variant calling on multple sequence alignment I can recommend snp-sites.
For anyone facing a similar problem of wanting to find substrains, here is an overview of useful tools:
"Computational Methods for Strain-Level Microbial Detection in Colony and Metagenome Sequencing Data"
(<https://www.frontiersin.org/articles/10.3389/fmicb.2020.01925/full>)


---

### Answer by username_0 on 2021-05-07. Score: 0

I have partly answered this for know! For anyone interested i use kalign to align all 10 strains to a fasta format, then I use snp-sites to output a vcf file that can show each mismatch in accordance to the first strain in the fasta. New problem is that the alignment "stretches" the length of this first strain, because some of the other strains are a bit longer. This means that the position of variants are with reference to the longest strain of the 10 and not the strain I want. It can work for now, but any solution to this, would be helpful.


---

