Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
838d143
initial setup
trishorts Jun 23, 2025
235cc91
conversion of terms iso to flashdeconv
trishorts Jun 23, 2025
2caae7c
log transfor spectrum
trishorts Jun 23, 2025
da81409
some helper methods within decon
trishorts Jun 23, 2025
bd81d54
trying to work ou t the logic with a test case
trishorts Jun 23, 2025
6dbc6d6
something happening
trishorts Jun 24, 2025
1495aae
idk
trishorts Jun 26, 2025
8aa2b0b
yadda
trishorts Jun 30, 2025
aaa809c
this is working but you have to get tolerance correct
trishorts Jul 1, 2025
3511053
now intensities are being grouped
trishorts Jul 1, 2025
447d4b2
stuck making neutral mass spectrum and having deconvolute know it is …
trishorts Jul 1, 2025
a885936
unit tests for flashdevonv2
trishorts Jul 2, 2025
ebb8340
Merge remote-tracking branch 'upstream/master' into flashDeconv
trishorts Jul 2, 2025
f38efc3
eliminate failing test
trishorts Jul 2, 2025
108b225
eliminate unused code in NeutralMassSpectrum
trishorts Jul 2, 2025
ba0df3a
remove unused code
trishorts Jul 2, 2025
e0379c9
use classic decon for the final stage where all peaks are charge one
trishorts Jul 2, 2025
2892329
correctly produce final charge 1 spectrum
trishorts Jul 2, 2025
575ddb5
add two proteoform unit test
trishorts Jul 2, 2025
2813f71
ut
trishorts Jul 7, 2025
3b15dd2
Merge remote-tracking branch 'upstream/master' into flashDeconv
trishorts Jul 14, 2025
717dbec
sorta working but not
trishorts Jul 16, 2025
d1f0f53
now finding correct peaks
trishorts Jul 17, 2025
57086a4
unit tests for real and artificial proteoform of same sequence
trishorts Jul 17, 2025
14b70ea
remove unused tests
trishorts Jul 17, 2025
91405ab
artificial spectrum unit test
trishorts Jul 21, 2025
0cf31f6
flash decon with real spectrum simple
trishorts Jul 21, 2025
54596a0
search complex spectrum
trishorts Jul 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Diagnostics.CodeAnalysis;
using MassSpectrometry;
using MassSpectrometry.Deconvolution.Parameters;
using NUnit.Framework;
using UsefulProteomicsDatabases;

Expand Down Expand Up @@ -47,13 +48,15 @@ static StandardDeconvolutionTest()
List<DeconvolutionParameters> topDownDeconvolutionParametersToTest =
[
new ClassicDeconvolutionParameters(1, 60, 4, 3),
new IsoDecDeconvolutionParameters()
new IsoDecDeconvolutionParameters(),
new FlashDeconvDeconvolutionParameters(1, 60, Polarity.Positive)
];

List<DeconvolutionParameters> bottomUpDeconvolutionParametersToTest =
[
new ClassicDeconvolutionParameters(1, 12, 4, 3),
new IsoDecDeconvolutionParameters()
new IsoDecDeconvolutionParameters(),
new FlashDeconvDeconvolutionParameters(1, 60, Polarity.Positive)
];


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using MassSpectrometry;
using MassSpectrometry.Deconvolution.Parameters;
using MzLibUtil;
using Readers;

Expand Down Expand Up @@ -34,8 +35,11 @@ public SinglePeakDeconvolutionTestCase(DeconvolutionParameters deconParameters,
.GetAllScansList()
.First(p => p.OneBasedScanNumber == scanNumber).MassSpectrum;

// 8.5 was selected as this is the magic number found in Classic Deconvolution
RangeToDeconvolute = new MzRange(selectedIonMz - 8.5, selectedIonMz + 8.5);
if (deconParameters is FlashDeconvDeconvolutionParameters)
RangeToDeconvolute = null!;
else
// 8.5 was selected as this is the magic number found in Classic Deconvolution
RangeToDeconvolute = new MzRange(selectedIonMz - 8.5, selectedIonMz + 8.5);
}

/// <summary>
Expand Down
432 changes: 432 additions & 0 deletions mzLib/MassSpectrometry/Deconvolution/Algorithms/FlashDeconv2.cs

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions mzLib/MassSpectrometry/Deconvolution/Deconvoluter.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using Chemistry;
using MassSpectrometry.Deconvolution.Algorithms;
using MzLibUtil;

namespace MassSpectrometry
Expand Down Expand Up @@ -58,6 +59,7 @@ private static DeconvolutionAlgorithm CreateAlgorithm(DeconvolutionParameters pa
{
DeconvolutionType.ClassicDeconvolution => new ClassicDeconvolutionAlgorithm(parameters),
DeconvolutionType.ExampleNewDeconvolutionTemplate => new ExampleNewDeconvolutionAlgorithmTemplate(parameters),
DeconvolutionType.FlashDeconv2 => new FlashDeconv2(parameters),
DeconvolutionType.IsoDecDeconvolution => new IsoDecAlgorithm(parameters),
_ => throw new MzLibException("DeconvolutionType not yet supported")
};
Expand Down
1 change: 1 addition & 0 deletions mzLib/MassSpectrometry/Deconvolution/DeconvolutionType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ public enum DeconvolutionType
{
ClassicDeconvolution,
ExampleNewDeconvolutionTemplate,
FlashDeconv2,
IsoDecDeconvolution,
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace MassSpectrometry.Deconvolution.Parameters
{
internal class FlashDeconvDeconvolutionParameters : DeconvolutionParameters
{
public override DeconvolutionType DeconvolutionType { get; protected set; } = DeconvolutionType.FlashDeconv2;

public FlashDeconvDeconvolutionParameters(int minCharge, int maxCharge, Polarity polarity = Polarity.Positive)
: base(minCharge, maxCharge, polarity)
{

}
}
}
271 changes: 271 additions & 0 deletions mzLib/Test/DataFiles/4734.304mZchargeOneProteoformSpectrum.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
278.55257 5.82
278.61156 14.79
278.67052 20.59
278.72946 20.46
278.7884 16.12
278.84732 10.65
278.90623 6.1
278.96515 3.1
279.02406 1.42
279.08297 0.59
279.14188 0.23
279.20079 0.08
279.25971 0.03
279.31863 0.01
279.37756 0
295.89915 5.82
295.96183 14.79
296.02448 20.59
296.0871 20.46
296.14971 16.12
296.21232 10.65
296.27492 6.1
296.33752 3.1
296.40011 1.42
296.4627 0.59
296.52529 0.23
296.58789 0.08
296.65049 0.03
296.71309 0.01
296.7757 0
296.8383 0
315.55861 5.82
315.62547 14.79
315.69229 20.59
315.75909 20.46
315.82588 16.12
315.89266 10.65
315.95943 6.1
316.0262 3.1
316.09297 1.42
316.15973 0.59
316.2265 0.23
316.29326 0.08
316.36003 0.03
316.42681 0.01
316.4936 0
316.56037 0
338.02656 5.82
338.0982 14.79
338.16979 20.59
338.24136 20.46
338.31292 16.12
338.38447 10.65
338.45601 6.1
338.52755 3.1
338.59909 1.42
338.67062 0.59
338.74215 0.23
338.81369 0.08
338.88523 0.03
338.95677 0.01
339.02834 0
339.09988 0
363.95112 5.82
364.02827 14.79
364.10537 20.59
364.18245 20.46
364.25951 16.12
364.33656 10.65
364.41361 6.1
364.49065 3.1
364.56769 1.42
364.64472 0.59
364.72176 0.23
364.7988 0.08
364.87584 0.03
364.95289 0.01
365.02996 0
365.107 0
394.19644 5.82
394.28002 14.79
394.36354 20.59
394.44704 20.46
394.53053 16.12
394.614 10.65
394.69747 6.1
394.78093 3.1
394.86439 1.42
394.94784 0.59
395.0313 0.23
395.11476 0.08
395.19822 0.03
395.28169 0.01
395.36518 0
395.44865 0
429.94091 5.82
430.03208 14.79
430.1232 20.59
430.21429 20.46
430.30537 16.12
430.39643 10.65
430.48748 6.1
430.57853 3.1
430.66958 1.42
430.76062 0.59
430.85167 0.23
430.94271 0.08
431.03376 0.03
431.12482 0.01
431.2159 0
431.30695 0
472.83428 5.82
472.93456 14.79
473.0348 20.59
473.135 20.46
473.23518 16.12
473.33535 10.65
473.43551 6.1
473.53566 3.1
473.63581 1.42
473.73596 0.59
473.83611 0.23
473.93625 0.08
474.03641 0.03
474.13657 0.01
474.23676 0
474.33692 0
525.2595 5.82
525.37093 14.79
525.4823 20.59
525.59363 20.46
525.70494 16.12
525.81624 10.65
525.92753 6.1
526.03881 3.1
526.15009 1.42
526.26137 0.59
526.37264 0.23
526.48392 0.08
526.59521 0.03
526.7065 0.01
526.81781 0
526.9291 0
590.79103 5.82
590.91639 14.79
591.04168 20.59
591.16693 20.46
591.29215 16.12
591.41736 10.65
591.54256 6.1
591.66776 3.1
591.79294 1.42
591.91813 0.59
592.04331 0.23
592.1685 0.08
592.2937 0.03
592.4189 0.01
592.54413 0
592.66933 0
675.04585 5.82
675.18912 14.79
675.3323 20.59
675.47545 20.46
675.61856 16.12
675.76166 10.65
675.90475 6.1
676.04782 3.1
676.19089 1.42
676.33396 0.59
676.47703 0.23
676.6201 0.08
676.76319 0.03
676.90627 0.01
677.0494 0
677.19248 0
787.38561 5.82
787.55276 14.79
787.71981 20.59
787.88681 20.46
788.05378 16.12
788.22073 10.65
788.38766 6.1
788.55458 3.1
788.7215 1.42
788.88841 0.59
789.05532 0.23
789.22224 0.08
789.38917 0.03
789.55611 0.01
789.72308 0
789.89001 0
944.66128 5.82
944.86185 14.79
945.06232 20.59
945.26272 20.46
945.46308 16.12
945.66342 10.65
945.86374 6.1
946.06404 3.1
946.26434 1.42
946.46464 0.59
946.66493 0.23
946.86523 0.08
947.06555 0.03
947.26587 0.01
947.46624 0
947.66656 0
1180.57478 5.82
1180.8255 14.79
1181.07607 20.59
1181.32658 20.46
1181.57703 16.12
1181.82745 10.65
1182.07785 6.1
1182.32823 3.1
1182.57861 1.42
1182.82898 0.59
1183.07935 0.23
1183.32972 0.08
1183.58012 0.03
1183.83052 0.01
1184.08099 0
1184.33138 0
1573.76394 5.82
1574.09824 14.79
1574.43234 20.59
1574.76634 20.46
1575.10028 16.12
1575.43418 10.65
1575.76804 6.1
1576.10189 3.1
1576.43572 1.42
1576.76955 0.59
1577.10337 0.23
1577.4372 0.08
1577.77106 0.03
1578.10493 0.01
1578.43889 0
1578.77275 0
2360.14228 5.82
2360.64371 14.79
2361.14487 20.59
2361.64588 20.46
2362.14678 16.12
2362.64763 10.65
2363.14842 6.1
2363.64919 3.1
2364.14994 1.42
2364.65068 0.59
2365.15142 0.23
2365.65217 0.08
2366.15296 0.03
2366.65376 0.01
2367.15469 0
2367.65549 0
4719.27727 5.82
4720.28015 14.79
4721.28247 20.59
4722.28448 20.46
4723.28629 16.12
4724.28798 10.65
4725.28957 6.1
4726.29111 3.1
4727.29261 1.42
4728.29409 0.59
4729.29557 0.23
4730.29706 0.08
4731.29864 0.03
4732.30025 0.01
4733.30211 0
4734.30371 0
Loading
Loading