diff --git a/ProteoformSuiteInternal/Proteoform.cs b/ProteoformSuiteInternal/Proteoform.cs index ba15a8d3..c2f8f6a7 100644 --- a/ProteoformSuiteInternal/Proteoform.cs +++ b/ProteoformSuiteInternal/Proteoform.cs @@ -301,8 +301,8 @@ private void assign_pf_identity(ExperimentalProteoform e, PtmSet set, Proteoform } } } - //if already been assigned -- check if gene name != this gene name ==> ambiguous - else if (!e.topdown_id && (e.gene_name.get_prefered_name(Lollipop.preferred_gene_label) != this.gene_name.get_prefered_name(Lollipop.preferred_gene_label))) + else if (!e.topdown_id && e.gene_name.get_prefered_name(Lollipop.preferred_gene_label) != this.gene_name.get_prefered_name(Lollipop.preferred_gene_label) + && e.linked_proteoform_references.Count == this.linked_proteoform_references.Count + 1) { e.ambiguous = true; } @@ -315,6 +315,8 @@ private void assign_pf_identity(ExperimentalProteoform e, PtmSet set, Proteoform { e.gene_name.gene_names.Concat(this.gene_name.gene_names); } + + } #endregion Private Methods diff --git a/Test/TestProteoformIdentification.cs b/Test/TestProteoformIdentification.cs index 9ae3b6d2..82911c5f 100644 --- a/Test/TestProteoformIdentification.cs +++ b/Test/TestProteoformIdentification.cs @@ -301,7 +301,7 @@ public void ambiguous_experimentals() Assert.AreEqual(3, fam.experimental_proteoforms.Count); Assert.AreEqual(2, fam.theoretical_proteoforms.Count); Assert.AreEqual(2, fam.gene_names.Count); - Assert.IsTrue(e2.ambiguous); //dont have same path length, still ambiguous + Assert.IsFalse(e2.ambiguous); //dont have same path length, not ambiguous Assert.IsFalse(e1.ambiguous); Assert.IsTrue(e3.ambiguous); }