<p><em>Its really easy</em>. No formula is needed.</p>
<p>Protein matrices are based on observed frequencies from nucleotide alignments for a variety of genes. They are not based on <em>a priori</em> formulas (it's not like nucleotides). Later matrices incorporated phylogenetic criteria using maximum likelihood - it's really complicated how it works.</p>
<p>Blosum used odds-ratio (OR) I think without a phylogenetic tree. I suspect raw OR. Explaining with/without a phylogenetic tree is a full lecture in phylogenetic theory, just think it'll be a raw value calculated directly.</p>
<p>So lets just run with raw OR based matrix ...</p>
<p><em>So</em> ... <code>*</code> is a stop-codon it carries the lowest weight in the matrix because each protein only has one of them. <em>So</em> a stop-codon frequency in comparison to any amino acid is going to be extremely low - because for that aligned position there's only stop-codons (i.e. no other amino acids).  Thus its <code>-4</code> here (lowest value in the matrix).</p>
<p><strong>What about the 1?</strong>
<em>However</em>, when you compare a stop codon frequency ... between proteins, well its occurrence is always 1 to 1, right? Each protein has one stop codon, compare it to another protein ... thats got one stop-codon too. So one million proteins which are nicely aligned to be homologues (thats how its calculated) have one million stop codons ... thus its <code>1</code> no matter how many protein there are in the alignment. The alignment position is always the same because stop codons (at least in Blosum) are always homologous.</p>
<p>Once more, comparing a stop codon (in a protein), with the other stop codon in another protein some the same homologous &quot;amino acid&quot; site - no matter which protein it is - its always going to be <code>1</code> because its a universal feature of all proteins.</p>
<p>Thats how it works and I would simply cite</p>
<blockquote>
<p>Henikoff, S.; Henikoff, J.G. (1992). &quot;Amino Acid Substitution Matrices from Protein Blocks&quot;. PNAS. 89 (22): 10915–10919</p>
</blockquote>
<hr />
<p>I've checked the paper and the authors didn't use stop codons, nor did they use any phylogenetic criteria (that was easy to guess). I know they didn't include stop codons because because,</p>
<ol>
<li>The Sigma function for matrix operations has a <code>20</code> above it (i.e. 20 amino acids), there's no allowance for stop codons.</li>
<li>The matrices they present omit stop codons.</li>
</ol>
<p>When NCBI are leveraging this matrix they need answers for all possibilities, the idea that <code>X</code> (any amino acid) or <code>*</code> is omitted would not be cool for them. Thus they could have approached the authors to fill in this information, this would probably mean redoing the alignments to include the stop codon (which the authors wouldn't have liked), or NCBI could have added it after the event (its a pretty safe addition) because the log-ratio of an invariant site is always <code>1</code>. The authors/NCBI would just need to be sure the  stop codon was in the same position for all protein alignments in Blosum.</p>
<p>You might find the wiki more understandable  <a href="https://en.wikipedia.org/wiki/BLOSUM" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/BLOSUM</a></p>

CC BY-SA 4.0
2023-10-22T10:28:16.597Z
Thank you for this detailed answer. I really appreciate it!
maciejwww
CC BY-SA 4.0
2023-10-22T10:32:53.587Z
Would you be so kind to point out a paragraph containing this information? I know this paper and couldn't find it. Or just a definition that says an asterisk is a stop-codon, because the rest can be inferred out of it, I assume.
maciejwww
CC BY-SA 4.0
2023-10-22T15:25:42.820Z
Thanks @maciejwww I answered you question below the '-------------'
M__
CC BY-SA 4.0
2023-10-22T17:22:09.283Z
Thank you so much!
maciejwww
CC BY-SA 4.0
2023-10-22T01:28:00.690Z
2023-10-22T15:32:07.063Z
2023-10-22T15:32:07.063Z
M__
<p>Does anyone here know how to calculate a value for the asterisk (*) code that appears in substitution matrices?<br />
From my observation, to all pairs with a one asterisk, the lowest value from the matrix is set. For <code>**</code> it's <code>1</code>. <a href="https://bio.davidson.edu/courses/genomics/2008/Simpson/Tutorial.html" rel="nofollow noreferrer">Example: BLOSUM62</a>.
But, it's just my observation, I couldn't find any source or explanation how it was calculated (for the exemplary BLOSUM62 or any other substitution matrix).</p>
<p>I'd appreciate sources, especially scientific papers.</p>

CC BY-SA 4.0
2023-10-15T11:17:35.733Z
Can you please explain what you mean by "a value"? You already gave the values: 1 for another stop, and -4 for any aminoacid in the example you linked to. What else do you need?
terdon
CC BY-SA 4.0
2023-10-15T19:14:38.807Z
I want to know what's the formula / method behind these values / scores.
maciejwww
CC BY-SA 4.0
2023-10-15T20:52:09.630Z
OK, in which matrix exactly, then? PAM? BLOSUM? Which PAM? Which BLOSUM? do you know that the asterisk stands for a stop codon?
terdon
CC BY-SA 4.0
2023-10-15T23:51:15.563Z
Ye, I heard about it.
maciejwww
CC BY-SA 4.0
2023-10-15T23:53:24.550Z
BLOSUM would be the best, but as I couldn't find it for a long time, so I would appreciate any source.
maciejwww
<amino-acids><substitution>
Asterisk (*) calculation method
# Asterisk (*) calculation method

(Asked by: username_0 on 2023-10-15)

Does anyone here know how to calculate a value for the asterisk (\*) code that appears in substitution matrices?  
From my observation, to all pairs with a one asterisk, the lowest value from the matrix is set. For `**` it's `1`. [Example: BLOSUM62](https://bio.davidson.edu/courses/genomics/2008/Simpson/Tutorial.html).
But, it's just my observation, I couldn't find any source or explanation how it was calculated (for the exemplary BLOSUM62 or any other substitution matrix).

I'd appreciate sources, especially scientific papers.

**Tags:** amino-acids, substitution
> **Comments:**
> **username_1**: Can you please explain what you mean by "a value"? You already gave the values: 1 for another stop, and -4 for any aminoacid in the example you linked to. What else do you need?  
> **username_0**: I want to know what's the formula / method behind these values / scores.  
> **username_1**: OK, in which matrix exactly, then? PAM? BLOSUM? Which PAM? Which BLOSUM? do you know that the asterisk stands for a stop codon?  
> **username_0**: Ye, I heard about it.  
> **username_0**: BLOSUM would be the best, but as I couldn't find it for a long time, so I would appreciate any source.  

---

## 1 answers

### Answer by username_2 on 2023-10-22. Score: 2 | Accepted answer

*Its really easy*. No formula is needed.

Protein matrices are based on observed frequencies from nucleotide alignments for a variety of genes. They are not based on *a priori* formulas (it's not like nucleotides). Later matrices incorporated phylogenetic criteria using maximum likelihood - it's really complicated how it works.

Blosum used odds-ratio (OR) I think without a phylogenetic tree. I suspect raw OR. Explaining with/without a phylogenetic tree is a full lecture in phylogenetic theory, just think it'll be a raw value calculated directly.

So lets just run with raw OR based matrix ...

*So* ... `*` is a stop-codon it carries the lowest weight in the matrix because each protein only has one of them. *So* a stop-codon frequency in comparison to any amino acid is going to be extremely low - because for that aligned position there's only stop-codons (i.e. no other amino acids). Thus its `-4` here (lowest value in the matrix).

**What about the 1?**
*However*, when you compare a stop codon frequency ... between proteins, well its occurrence is always 1 to 1, right? Each protein has one stop codon, compare it to another protein ... thats got one stop-codon too. So one million proteins which are nicely aligned to be homologues (thats how its calculated) have one million stop codons ... thus its `1` no matter how many protein there are in the alignment. The alignment position is always the same because stop codons (at least in Blosum) are always homologous.

Once more, comparing a stop codon (in a protein), with the other stop codon in another protein some the same homologous "amino acid" site - no matter which protein it is - its always going to be `1` because its a universal feature of all proteins.

Thats how it works and I would simply cite

> Henikoff, S.; Henikoff, J.G. (1992). "Amino Acid Substitution Matrices from Protein Blocks". PNAS. 89 (22): 10915–10919

---

I've checked the paper and the authors didn't use stop codons, nor did they use any phylogenetic criteria (that was easy to guess). I know they didn't include stop codons because because,

1. The Sigma function for matrix operations has a `20` above it (i.e. 20 amino acids), there's no allowance for stop codons.
2. The matrices they present omit stop codons.

When NCBI are leveraging this matrix they need answers for all possibilities, the idea that `X` (any amino acid) or `*` is omitted would not be cool for them. Thus they could have approached the authors to fill in this information, this would probably mean redoing the alignments to include the stop codon (which the authors wouldn't have liked), or NCBI could have added it after the event (its a pretty safe addition) because the log-ratio of an invariant site is always `1`. The authors/NCBI would just need to be sure the stop codon was in the same position for all protein alignments in Blosum.

You might find the wiki more understandable <https://en.wikipedia.org/wiki/BLOSUM>

> **Comments:**
> **username_0**: Thank you for this detailed answer. I really appreciate it!  
> **username_0**: Would you be so kind to point out a paragraph containing this information? I know this paper and couldn't find it. Or just a definition that says an asterisk is a stop-codon, because the rest can be inferred out of it, I assume.  
> **username_2**: Thanks @maciejwww I answered you question below the '-------------'  
> **username_0**: Thank you so much!  

---

