Giter Site home page Giter Site logo

mannlabs / alphaviz Goto Github PK

View Code? Open in Web Editor NEW
30.0 30.0 2.0 92.16 MB

AlphaViz is a cutting-edge browser-based interactive visualization tool allowing to visualize the processed mass spectrometry data acquired with Bruker instrument.

License: Apache License 2.0

Python 99.99% Shell 0.01% HTML 0.01% Inno Setup 0.01% CSS 0.01%
bruker mass-spectrometry quality-control visualization

alphaviz's People

Contributors

eugeniavoytik avatar jalew188 avatar zhouxiexuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

singjc jalew188

alphaviz's Issues

plot_elution_profile()

plotting.plot_elution_profile() is hard to viz for the details of each fragments when there are many ion matched.

I suggest to use hovermodel="closest" instead of "x unified"

Intensity calculation for MS2

Hi,
I did some more testing and wanted to investigate some AlphaPept vs MaxQuant results in AlphaViz.
Here I noticed that the intensity values for MS2 fragments are different. More specifically, the peaks don't seem to be that intense. Is this expected? In AlphaPept I use .readPasefMsMs(), so maybe @swillems has a clue where this could be coming from.

For reference, this is the spectrum I see in AlphaViz(one-click installer v.1.07)
Screen Shot 2022-02-25 at 11 17 22 AM
Below the spectrum I get from an AP search:
Screen Shot 2022-02-25 at 11 18 34 AM
The axis description seems to be correct, and the fragment intensities are low.
Screen Shot 2022-02-25 at 11 19 39 AM

On another note: Clicking on Autoscale Screen Shot 2022-02-25 at 1 42 03 PM seems to squeeze the sequence annotation of matched ions.
Screen Shot 2022-02-25 at 11 19 15 AM

Additional Feature Suggestion: Right now I need to click the protein to get to the peptide I want to investigate. Here it would be cool if I could directly look up a sequence w/o knowing the protein.

Required MaxQuant version and legacy file support

Hi,
alphaviz is looking very nice and I am excited about this project.

Describe the bug

I encountered a couple of bugs which I think are related to a mismatch in MaxQuant and file versions.

Old files

I tried to look at the sample files from the Online-PASEF-Paper. When using the installer version 0.0.1 I get an ModuleNotFoundError for lfz (see Screenshot). Most likely this is due the files being older and not having the legacy support alphatims version when compiling the installer.

I then installed version 0.0.2 from dev and installed python-lfz. I can upload the data, however will get a ValueError when reading the evidence. Most likely this is as previous MaxQuant versions did not report Mass deviations [Da] (see Screenshot).

MaxQuant version

I did rerun our AlphaPept IRT and later also the HeLa sample with MaxQuant version 1.6.14.0. In both cases I get ValueError as 'Gene names' are not in the list. I was using the default MaxQuant settings - am I missing an option here or maybe using the wrong MaxQuant version?

Potential solutions

  • For the legacy support we could use alphatims with legacy support. Or we could state which files are supported.
  • For the ValueErrors we could check if the columns exists and only use them if they do. Another option would be to define which MaxQuant version with what settings are required.

Please let me know if I was missing any documentation regarding this and I hope this is helpful. Looking forward to get it to run it and test further.

Screenshot 2021-11-08 at 11 31 07
Screenshot 2021-11-08 at 13 02 59
Screenshot 2021-11-08 at 13 42 22

Can alphaviz check protein IDs outside `import_diann_output `?

I just tried AlphaViz to load Thermo DIA Raw file following tutorial_DIANN.ipynb, but I got:

~/Workspace/alphaviz/alphaviz/io.py in create_diann_proteins_table(diann_df, fasta)
    476     }, inplace=True)
    477     proteins['# proteins'] = proteins['Protein IDs'].apply(lambda x: len(x.split(',')))
--> 478     proteins['Protein names'], proteins['Sequence lengths'] = zip(
    479         *proteins['Protein IDs'].apply(lambda x: alphaviz.preprocessing.get_protein_info(fasta, x)))
    480     first_columns = ['Protein IDs', 'Protein names', 'Gene names', '# proteins', '(EXP) # peptides', '# MS/MS', 'Sequence lengths']

ValueError: not enough values to unpack (expected 2, got 0)

create_diann_proteins_table() in alphaviz.io. import_diann_output() crashed, probably because the protein ids in fasta = alphaviz.io.read_fasta(fasta_file) are different from the protein ids in the library.

It seemed that the protein extraction step:

proteins['Protein names'], proteins['Sequence lengths'] = zip(
        *proteins['Protein IDs'].apply(lambda x: alphaviz.preprocessing.get_protein_info(fasta, x)))

got empty information...

My suggestion is to disable fasta check in import_diann_output, we can create another fasta check function. If fasta check fails, we can still go on to visualize peptides and manually input protein sequences for following steps.

IndexError when opening 1 Protein file

Describe the bug
Hi, I wanted to briefly check something on our Bruker IRT testfile. I had analyzed it with MaxQuant 2.0.3.1 (output files attached). When opening it and clicking on the protein, I get an IndexError. Maybe this is becuase there is only one Protein in the sample?

On another note: This was the Windows Release 1.0.7, however I got the notification that I could download the newer 1.0.5 on GitHub.

txt.zip
bug02

Possible to use the 'plot_mass_spectra()' function with DIA-NN?

Hi,

I am running AlphaViz in Python, and I wonder if there is a way to use the plot_mass_spectra function on a diaPASEF dataset analyzed with DIA-NN? When I read the documentation, it seems like this function is compatible with datasets analyzed by MaxQuant but it would be great if it could also work with DIA-NN.

Best regards,

Marc

KGG peptides

Hi,

I was wondering is it possible to look at ubiquitinated peptides (UniMod:121) with AlphaViz?
I was going to use the predict mode, but I can't see the nomenclature for it in the modifications table.

Thanks!

Error: The DIA-NN output files necessary for the visualization are not found.

I added the paths to the full DiaNN output folder, the raw file folder, and the full path to the fasta file interface to AlphaViz 1.1.15 GUI web interface. The Raw File Loads, and chromatograms are displayed, but AlphaViz returns the error "The DIA-NN output files necessary for the visualization are not found.". I tried this with two different datasets from DiaNN 1.8 to the same effect. The folders have the full DiaNN output in them.

MacOS Log
Last login: Fri Feb 10 11:44:49 on ttys000
/Applications/alphaviz.app/Contents/MacOS/alphaviz_gui ; exit;
redacted ~ % /Applications/alphaviz.app/Contents/MacOS/alphaviz_gui ; exit;
WARNING:root:WARNING: No Bruker libraries are available for this operating system. Intensities are uncalibrated, resulting in (very) small differences. However, mobility and m/z values need to be estimated. While this estimation often returns acceptable results with errors < 0.02 Th, huge errors (e.g. offsets of 6 Th) have already been observed for some samples!
Current AlphaViz version is up-to-date with GitHub.
Launching server at http://localhost:54017
WARNING:root:WARNING: No Bruker libraries are available for this operating system. Intensities are uncalibrated, resulting in (very) small differences. However, mobility and m/z values need to be estimated. While this estimation often returns acceptable results with errors < 0.02 Th, huge errors (e.g. offsets of 6 Th) have already been observed for some samples!
Reading the DIA-NN output files...
2023-02-10 14:32:57> Importing data from redacted/Desktop/input/esf4_0058_DMSO_Slot2-28_1_139.d
2023-02-10 14:32:57> Reading frame metadata for redacted/Desktop/input/esf4_0058_DMSO_Slot2-28_1_139.d
2023-02-10 14:32:58> Reading 64,275 frames with 2,589,379,016 detector events for redacted/Desktop/input/esf4_0058_DMSO_Slot2-28_1_139.d
2023-02-10 14:34:29> Indexing redacted/Desktop/input/esf4_0058_DMSO_Slot2-28_1_139.d...
2023-02-10 14:34:29> Bruker DLL not available, estimating mobility values
2023-02-10 14:34:29> Bruker DLL not available, estimating mz values
2023-02-10 14:34:29> Indexing quadrupole dimension
2023-02-10 14:34:54> Succesfully imported data from redacted/Desktop/input/esf4_0058_DMSO_Slot2-28_1_139.d
Reading the DIA-NN output files...

Windows Log
Current AlphaViz version is up-to-date with GitHub.
Launching server at http://localhost:54438
Reading the DIA-NN output files...

Version

  • Installation type = GUI release
  • system = MacOS 12.6.3 and Windows 10
  • version = AlphaViz 1.1.15
  • machine = Intel iMac and x86_64 PC

MS2-Spectrum annotation on Mac

Hi,

I have been trying alphaviz a bit more. I was able to run alphaviz on an M1 Mac with macOS Monterey. โœ…
When checking the MS2 spectrum annotation I noticed that there are some differences between different operating systems - it seems that the ion annotation is not present on Mac:

Windows
Screen Shot 2022-01-31 at 1 51 16 PM

Mac
Screen Shot 2022-01-31 at 1 52 31 PM

For another Sequence, ther is some annotation:

Windows
Screen Shot 2022-01-31 at 1 55 50 PM

Mac
Screen Shot 2022-01-31 at 1 56 20 PM

When looking at the masses of the ion that is displayed they are slightly different - so maybe the reason for the difference is the missing bruker libraries?

Windows
Screen Shot 2022-01-31 at 2 00 23 PM
Mac
Screen Shot 2022-01-31 at 2 00 11 PM

I am assuming that the hits and mass deviation are taking from the msms.txt from MaxQuant, so I wouldn't have a good clue whats happening here :)

On another side Note: Would it be possible to link the x-axis of the Intensity plot to the error plot (i.e. that the ion hits are displayed at the same mz position as the error?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.