protected virtual void InitData()
            {
                List <DocNode> docNodes = new List <DocNode>();
                List <List <PointPairList> > pointPairLists = new List <List <PointPairList> >();
                List <String> docNodeLabels = new List <string>();

// ReSharper disable CanBeReplacedWithTryCastAndCheckForNull
                if (_docNode is TransitionDocNode)
                {
                    var nodeTran = (TransitionDocNode)_docNode;
                    ReplicateGroups = GetReplicateGroups(GetReplicateIndices(nodeTran)).ToArray();
                    docNodes.Add(nodeTran);
                    pointPairLists.Add(GetPointPairLists(null, nodeTran, _displayType));
                    docNodeLabels.Add(ChromGraphItem.GetTitle(nodeTran));
                }
                else if (_docNode is TransitionGroupDocNode)
                {
                    var nodeGroup = (TransitionGroupDocNode)_docNode;
                    ReplicateGroups = GetReplicateGroups(GetReplicateIndices(nodeGroup)).ToArray();
                    if (_displayType == DisplayTypeChrom.single || _displayType == DisplayTypeChrom.total)
                    {
                        docNodes.Add(nodeGroup);
                        pointPairLists.Add(GetPointPairLists(nodeGroup, _displayType));
                        docNodeLabels.Add(ChromGraphItem.GetTitle(nodeGroup));
                    }
                    else
                    {
                        foreach (TransitionDocNode nodeTran in GraphChromatogram.GetDisplayTransitions(nodeGroup, _displayType))
                        {
                            docNodes.Add(nodeTran);
                            pointPairLists.Add(GetPointPairLists(nodeGroup, nodeTran, _displayType));
                            docNodeLabels.Add(ChromGraphItem.GetTitle(nodeTran));
                        }
                    }
                }
                else if (_docNode is PeptideDocNode)
                {
                    var nodePep = (PeptideDocNode)_docNode;
                    ReplicateGroups = GetReplicateGroups(GetReplicateIndices(nodePep)).ToArray();
                    foreach (TransitionGroupDocNode nodeGroup in nodePep.Children)
                    {
                        if (!_paneKey.IncludesTransitionGroup(nodeGroup))
                        {
                            continue;
                        }
                        docNodes.Add(nodeGroup);
                        pointPairLists.Add(GetPointPairLists(nodeGroup, DisplayTypeChrom.total));
                        docNodeLabels.Add(ChromGraphItem.GetTitle(nodeGroup));
                    }
                }
// ReSharper restore CanBeReplacedWithTryCastAndCheckForNull
                PointPairLists = pointPairLists;
                DocNodes       = docNodes;
                DocNodeLabels  = docNodeLabels;
            }
예제 #2
0
            protected virtual List <LineInfo> GetPeptidePointPairLists(PeptideGroupDocNode peptideGroup, PeptideDocNode nodePep, bool multiplePeptides)
            {
                var pointPairLists = new List <LineInfo>();

                foreach (TransitionGroupDocNode nodeGroup in nodePep.Children)
                {
                    if (!_paneKey.IncludesTransitionGroup(nodeGroup))
                    {
                        continue;
                    }
                    pointPairLists.Add(new LineInfo(nodeGroup, ChromGraphItem.GetTitle(nodeGroup), GetPointPairLists(nodePep, nodeGroup, DisplayTypeChrom.all)));
                }
                return(pointPairLists);
            }
예제 #3
0
            protected virtual void InitData()
            {
                List <DocNode>               docNodes       = new List <DocNode>();
                List <IdentityPath>          docNodePaths   = new List <IdentityPath>();
                List <List <PointPairList> > pointPairLists = new List <List <PointPairList> >();
                List <String> docNodeLabels = new List <string>();

                ReplicateGroups = new ReplicateGroup[0];
                foreach (var docNodePath in _selectedDocNodePaths)
                {
                    var nodeArray        = _document.ToNodeArray(docNodePath);
                    var docNode          = nodeArray.Last();
                    var replicateIndices = Enumerable.Range(0, _document.Settings.MeasuredResults.Chromatograms.Count);
                    // ReSharper disable CanBeReplacedWithTryCastAndCheckForNull
                    if (docNode is TransitionDocNode)
                    {
                        var nodeTran = (TransitionDocNode)docNode;
                        ReplicateGroups = GetReplicateGroups(replicateIndices).ToArray();
                        docNodes.Add(nodeTran);
                        docNodePaths.Add(docNodePath);
                        pointPairLists.Add(GetPointPairLists((PeptideDocNode)nodeArray[1], (TransitionGroupDocNode)nodeArray[2], nodeTran, _displayType));
                        docNodeLabels.Add(ChromGraphItem.GetTitle(nodeTran));
                    }
                    else if (docNode is TransitionGroupDocNode)
                    {
                        var nodeGroup      = (TransitionGroupDocNode)docNode;
                        var peptideDocNode = (PeptideDocNode)nodeArray[1];
                        ReplicateGroups = GetReplicateGroups(replicateIndices).ToArray();
                        if (_displayType == DisplayTypeChrom.single || _displayType == DisplayTypeChrom.total)
                        {
                            docNodes.Add(nodeGroup);
                            docNodePaths.Add(docNodePath);
                            pointPairLists.Add(GetPointPairLists(peptideDocNode, nodeGroup, _displayType));
                            docNodeLabels.Add(ChromGraphItem.GetTitle(nodeGroup));
                        }
                        else
                        {
                            foreach (TransitionDocNode nodeTran in GraphChromatogram.GetDisplayTransitions(nodeGroup,
                                                                                                           _displayType))
                            {
                                docNodes.Add(nodeTran);
                                docNodePaths.Add(new IdentityPath(docNodePath, nodeTran.Id));
                                pointPairLists.Add(GetPointPairLists(peptideDocNode, nodeGroup, nodeTran, _displayType));
                                docNodeLabels.Add(ChromGraphItem.GetTitle(nodeTran));
                            }
                        }
                    }
                    else if (docNode is PeptideDocNode)
                    {
                        var nodePep = (PeptideDocNode)docNode;
                        ReplicateGroups = GetReplicateGroups(replicateIndices).ToArray();
                        var isMultiSelect = _selectedDocNodePaths.Count > 1 ||
                                            (_selectedDocNodePaths.Count == 1 && Program.MainWindow != null &&
                                             Program.MainWindow.SelectedNode is PeptideGroupTreeNode);
                        foreach (var tuple in GetPeptidePointPairLists((PeptideGroupDocNode)nodeArray[0], nodePep, isMultiSelect))
                        {
                            docNodes.Add(tuple.Node);
                            docNodePaths.Add(docNodePath);
                            pointPairLists.Add(tuple.PointPairList);
                            docNodeLabels.Add(tuple.DisplaySeq);
                        }
                    }
                }
                // ReSharper restore CanBeReplacedWithTryCastAndCheckForNull
                PointPairLists = pointPairLists;
                DocNodes       = docNodes;
                _docNodePaths  = ImmutableList.ValueOf(docNodePaths);
                DocNodeLabels  = docNodeLabels;

                var oldGroupNames    = ReplicateGroups.Select(g => g.GroupName).ToArray();
                var uniqueGroupNames = oldGroupNames.Distinct().ToArray();

                // Instert "All" groups and point pair lists in their correct positions
                InsertAllGroupsAndPointPairLists(uniqueGroupNames, docNodes.Count);

                // Collect all references to points that have a valid Y value
                var references = CollectValidPointRefs(uniqueGroupNames, oldGroupNames, docNodes.Count);

                // Merge groups if their replicate index is the same and each peptide only occurs in one of the files
                MergeGroups(uniqueGroupNames, references);

                // Remove groups that don't have any peptides in them
                RemoveEmptyGroups(docNodes.Count);
            }
예제 #4
0
 public NotFoundChromGraphItem(TransitionGroupDocNode nodeGroup)
     : base(string.Format(Resources.NotFoundChromGraphItem_NotFoundChromGraphItem__0__not_found, ChromGraphItem.GetTitle(nodeGroup)))
 {
 }
예제 #5
0
 public FailedChromGraphItem(TransitionGroupDocNode nodeGroup, Exception x)
     : base(string.Format(Resources.FailedChromGraphItem_FailedChromGraphItem__0__load_failed__1__, ChromGraphItem.GetTitle(nodeGroup), x.Message))
 {
 }