Skip to content

Commit

Permalink
merge master into GUI-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinkovalchik committed Jan 15, 2019
2 parents be13e49 + 59c94de commit b740658
Show file tree
Hide file tree
Showing 22 changed files with 26,377 additions and 5,508 deletions.
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
Briefly describe what you were trying to do and what went wrong. Be general, there is room for specifics below.

**Description of raw file**
Provide details about the raw file you are trying to process. e.g. Is it DDA? MS2 or SPS-MS3? How long was the run and how big is the file?

**Command line arguments**
If this is something that happened while running RawTools, enter the exact arguments used on the command line (e.g. RawTools parse -f C:\myfile.raw -mpx -R)

**Command line output**
Please paste the entire output from the command line, if applicable (i.e. everything that appeared after you hit enter until things stopped working).
```
[Paste output here, between the triple quotes]
```

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop & RawTools information:**
- OS: [e.g. iOS]
- RawTools version: [e.g. 1.3.3]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
28 changes: 18 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,31 @@

Welcome to the RawTools page! RawTools is an open-source and freely available package designed to perform scan data parsing and quantification, and quality control analysis of Thermo Orbitrap raw mass spectrometer files. RawTools is written in C# and uses the Thermo RawFileReader library. RawTools is fully compatible with Windows, Linux, and MacOS operating systems. RawTools is the replacement for the previously described [RawQuant](https://github.com/kevinkovalchik/RawQuant) Python package.

The RawTools manuscript preprint is [available on bioRxiv](https://www.biorxiv.org/content/early/2018/09/15/418400).
The RawTools manuscript was just accepted for the Journal of Proteome Research special issue on Software Tools and Resources, [here](https://pubs.acs.org/doi/10.1021/acs.jproteome.8b00721). The RawTools original manuscript preprint is [available on bioRxiv](https://www.biorxiv.org/content/early/2018/09/15/418400).

<br>

### RawTools releases
### RawTools releases and installation

To obtain the latest compiled release of RawTools or to obtain an older version, please visit the [Releases page](https://github.com/kevinkovalchik/RawTools/releases).

If you need help installing and using RawTools, please visit the wiki page appropriate for your system and follow the instructions outlined [here](https://github.com/kevinkovalchik/RawTools/wiki).

<br>

### Notable news

* The Shiny application is now back online [here](https://rawtoolsqcdv.bcgsc.ca/). [2018-10-01]

* The RawTools Shiny application has been revamped to use a new interface and to provide functionality for plotting of 'Matrix' and 'chromatogram' outputs. Matrix files are generated using the RawTools parse functionality and can be useful for visualizing data temporally across the acquisition. Chromatogram files are also generated using the parse functionality, with the `--chro` flag. The new application is currently available on GitHub [from here](https://github.com/kevinkovalchik/RawTools/tree/master/documentation/manuscript/RawTools_RShiny_Application). The web page can be accessed from [this link](https://rawtoolsqcdv.bcgsc.ca/). [2018-09-26]
* [Version 1.4.0 released](https://github.com/kevinkovalchik/RawTools/releases/tag/1.4.0) [2019-01-08]

* RawTools now offers support for X! Tandem in as a search engine to facilitate calculation of identification-related metrics. IdentiPy remains available and the user may decide which search engine they wish to use. We are working on updating the help documentation to reflect this addition. [2018-09-24]
* A RawTools GUI is in the works and should be released soon! Initially this will simply allow you to set up RawTools parameters and run the program using a graphical interface instead of the command line. In the future we plan to add some basic features to visualy explore raw files, as well as to visualize some of the parse and QC data similar to our R Shiny app. If you have any features you would like to see in this regard, let us know by creating a [feature request](https://github.com/kevinkovalchik/RawTools/issues/new?assignees=&labels=&template=feature_request.md&title=)! [2019-01-07]

<br>
* Thanks to a lot of behind the scenes work, the file downloads of plots from the Shiny app are now working! [2018-12-06]

### Getting help
* The R Shiny application now has greater support for plot customisation. We have also added the ability to highlight points on QC plots. Lastly, we have added a new 'multi-plot' page where multiple scan matrix files can be input at once and plots for all files will be generated alongside one another in the same space. The latest version is live on the web and available here. [2018-11-29]

If you need help getting started with RawTools or with understanding the output, please visit the [RawTools Wiki](https://github.com/kevinkovalchik/RawTools/wiki).
* The Shiny application has been updated to allow downloading of pdf versions of the created plots. These images can be imported to programs like Adobe Illustrator and will be treated as vector images. We have also added the ability to mouseover data points to see values, as well as corrected some bugs. We have also added the ability to add mean and median lines to the QC plots. The latest Shiny web interface is available [here](https://rawtoolsqcdv.bcgsc.ca/). [2018-11-07]

If you have noticed an error in RawTools or have an idea for a new feature, please make a post on the [Issues page](https://github.com/kevinkovalchik/RawTools/issues).
* RawTools now offers support for X! Tandem in as a search engine to facilitate calculation of identification-related metrics. IdentiPy remains available and the user may decide which search engine they wish to use. We are working on updating the help documentation to reflect this addition. [2018-09-24]

<br>

Expand All @@ -36,6 +36,14 @@ If you are just here looking for the web application page for visualizing your q

<br>

### Getting help

If you need help getting started with RawTools or with understanding the output, please visit the [RawTools Wiki](https://github.com/kevinkovalchik/RawTools/wiki).

If you have noticed an error in RawTools or have an idea for a new feature, please make a post on the [Issues page](https://github.com/kevinkovalchik/RawTools/issues).

<br>

### Staying up to date

If you want to see what features we have in mind or are actively working on integrating into RawTools, visit the [Projects page](https://github.com/kevinkovalchik/RawTools/projects) for more details.
Expand Down
20 changes: 19 additions & 1 deletion RawTools/Algorithms/ChargeStateCalculator.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
using System;
// Copyright 2018 Kevin Kovalchik & Christopher Hughes
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Kevin Kovalchik and Christopher Hughes do not claim copyright of
// any third-party libraries ditributed with RawTools. All third party
// licenses are provided in accompanying files as outline in the NOTICE.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down
20 changes: 19 additions & 1 deletion RawTools/Algorithms/MonoIsoPredictor.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
using System;
// Copyright 2018 Kevin Kovalchik & Christopher Hughes
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Kevin Kovalchik and Christopher Hughes do not claim copyright of
// any third-party libraries ditributed with RawTools. All third party
// licenses are provided in accompanying files as outline in the NOTICE.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down
16 changes: 13 additions & 3 deletions RawTools/ArgumentParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,19 @@ class TestOptions
public IEnumerable<string> InputFiles { get; set; }
}

[Verb("examples", HelpText = "Display some common peptide modification in mass@aa format and examples of usage.")]
class ExampleMods
{ }
[Verb("examples", HelpText = "This function provides command line examples and explanations of how to use RawTools. " +
"Examples of common peptide modifications in the mass@aa format used in RawTools can also be found here. " +
"To view the examples, enter \">RawTools examples --help\".")]
class ExampleOptions
{
[Option("modifications", HelpText = "Display some common peptide modification in mass@aa format and examples of how to use " +
"the --fmods, --nmod, --kmod and --xmod arguments. To view these examples enter \">RawTools examples --modifications\"")]
public bool DisplayModifications { get; set; }

[Option("interface", HelpText = "Display examples of of to use RawTools command line interface. " +
"To view these examples enter \">RawTools examples --interface\"")]
public bool InterfaceExamples { get; set; }
}

[Verb("parse", HelpText = "Perform meta and quant data parsing. Also performs data processing, MGF file creation, and saves meta/quant data and run metrics to disk.")]
class ParseOptions
Expand Down
20 changes: 19 additions & 1 deletion RawTools/Constants/Constants.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
using System;
// Copyright 2018 Kevin Kovalchik & Christopher Hughes
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Kevin Kovalchik and Christopher Hughes do not claim copyright of
// any third-party libraries ditributed with RawTools. All third party
// licenses are provided in accompanying files as outline in the NOTICE.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down
31 changes: 31 additions & 0 deletions RawTools/Data/Extraction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
using RawTools.Data.Containers;
using RawTools.Data.Collections;
using RawTools.Utilities;
using RawTools.Utilities.ScanData;
using RawTools.Algorithms;
using Serilog;

Expand Down Expand Up @@ -694,6 +695,7 @@ public static void ExtractAll(this RawDataCollection rawData, IRawDataPlus rawFi
// add the retention time
rawData.retentionTimes.Add(i, rawFile.RetentionTimeFromScanNumber(i));
rawData.Performed.Add(Operations.RetentionTimes);
// add the precursor mass
PrecursorMasses.ExtractPrecursorMasses(rawData, rawFile, i);
Expand Down Expand Up @@ -756,6 +758,35 @@ public static void ExtractAll(this RawDataCollection rawData, IRawDataPlus rawFi
rawData.Performed.Add(Operations.Ms3SegmentedScans);
}
}
if (refineMassCharge)
{
P = new ProgressIndicator(rawData.scanIndex.ScanEnumerators[MSOrderType.Ms2].Length, "Refining precursor charge state and monoisotopic mass");
P.Start();
int refinedCharge;
double refinedMass;
//if (!rawData.Performed.Contains(Operations.PeakRetAndInt))
//{
// rawData.CalcPeakRetTimesAndInts(rawFile);
//}
foreach (int scan in rawData.scanIndex.ScanEnumerators[MSOrderType.Ms2])
{
// refine precursor mass and charge
// var centroid = rawData.GetAverageScan(rawFile, scan);
//rawData.centroidStreams[rawData.precursorScans[scan].MasterScan]
(refinedCharge, refinedMass) =
MonoIsoPredictor.GetMonoIsotopicMassCharge(rawData.centroidStreams[rawData.precursorScans[scan].MasterScan],
rawData.precursorMasses[scan].ParentMZ, rawData.trailerExtras[scan].ChargeState);
rawData.trailerExtras[scan].ChargeState = refinedCharge;
rawData.precursorMasses[scan].MonoisotopicMZ = refinedMass;
P.Update();
}
P.Done();
}
}
}
*/
Expand Down
20 changes: 19 additions & 1 deletion RawTools/Data/TestContainers.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
using System;
// Copyright 2018 Kevin Kovalchik & Christopher Hughes
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Kevin Kovalchik and Christopher Hughes do not claim copyright of
// any third-party libraries ditributed with RawTools. All third party
// licenses are provided in accompanying files as outline in the NOTICE.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down
Loading

0 comments on commit b740658

Please sign in to comment.