pytheas1 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pytheas1-1.1.0/LICENSE +21 -0
- pytheas1-1.1.0/PKG-INFO +305 -0
- pytheas1-1.1.0/README.md +281 -0
- pytheas1-1.1.0/pyproject.toml +47 -0
- pytheas1-1.1.0/setup.cfg +4 -0
- pytheas1-1.1.0/src/pytheas1/__init__.py +10 -0
- pytheas1-1.1.0/src/pytheas1/__main__.py +5 -0
- pytheas1-1.1.0/src/pytheas1/_compat.py +48 -0
- pytheas1-1.1.0/src/pytheas1/cli.py +153 -0
- pytheas1-1.1.0/src/pytheas1/data/Charge_tables/QTOF/charges_MS1.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/Charge_tables/QTOF/charges_MS2.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/Charge_tables/QTOF_and_other_spectrometers/charges_MS1.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/Charge_tables/QTOF_and_other_spectrometers/charges_MS2.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/Charge_tables/QTOF_training_set_only/charges_MS1_calibration.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/Charge_tables/QTOF_training_set_only/charges_MS2_calibration.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/RNAmodifications_template.txt +18 -0
- pytheas1-1.1.0/src/pytheas1/data/charges_MS1.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/charges_MS2.txt +21 -0
- pytheas1-1.1.0/src/pytheas1/data/js/color_tables.js +93 -0
- pytheas1-1.1.0/src/pytheas1/data/js/mapping_output.js +109 -0
- pytheas1-1.1.0/src/pytheas1/data/js/sorttable.js +495 -0
- pytheas1-1.1.0/src/pytheas1/data/js/visualize_spectra.js +16 -0
- pytheas1-1.1.0/src/pytheas1/data/nts_heavy.xlsx +0 -0
- pytheas1-1.1.0/src/pytheas1/data/nts_light.xlsx +0 -0
- pytheas1-1.1.0/src/pytheas1/final_report/__init__.py +0 -0
- pytheas1-1.1.0/src/pytheas1/final_report/final_report_library.py +247 -0
- pytheas1-1.1.0/src/pytheas1/gui.py +566 -0
- pytheas1-1.1.0/src/pytheas1/gui_spec.py +402 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/__init__.py +0 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/calc_mass_gui.py +1054 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/consolidate_gui.py +191 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/consolidate_tools.py +404 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/decoy_gui.py +143 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/enzyme_gui.py +371 -0
- pytheas1-1.1.0/src/pytheas1/in_silico_digestion/modify_gui.py +365 -0
- pytheas1-1.1.0/src/pytheas1/matching_scoring/__init__.py +0 -0
- pytheas1-1.1.0/src/pytheas1/matching_scoring/match_library.py +1088 -0
- pytheas1-1.1.0/src/pytheas1/matching_scoring/stats_tools.py +1150 -0
- pytheas1-1.1.0/src/pytheas1/params.py +59 -0
- pytheas1-1.1.0/src/pytheas1/sequence_mapping/__init__.py +0 -0
- pytheas1-1.1.0/src/pytheas1/sequence_mapping/mapping_library.py +462 -0
- pytheas1-1.1.0/src/pytheas1/stages.py +396 -0
- pytheas1-1.1.0/src/pytheas1/statistical_analysis/__init__.py +0 -0
- pytheas1-1.1.0/src/pytheas1/statistical_analysis/statistics_library.py +188 -0
- pytheas1-1.1.0/src/pytheas1/visualization_spectra/__init__.py +0 -0
- pytheas1-1.1.0/src/pytheas1/visualization_spectra/visualization_library.py +881 -0
- pytheas1-1.1.0/src/pytheas1.egg-info/PKG-INFO +305 -0
- pytheas1-1.1.0/src/pytheas1.egg-info/SOURCES.txt +53 -0
- pytheas1-1.1.0/src/pytheas1.egg-info/dependency_links.txt +1 -0
- pytheas1-1.1.0/src/pytheas1.egg-info/entry_points.txt +2 -0
- pytheas1-1.1.0/src/pytheas1.egg-info/requires.txt +10 -0
- pytheas1-1.1.0/src/pytheas1.egg-info/top_level.txt +1 -0
- pytheas1-1.1.0/tests/test_golden.py +40 -0
- pytheas1-1.1.0/tests/test_gui.py +187 -0
- pytheas1-1.1.0/tests/test_package.py +115 -0
pytheas1-1.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Luigi D'Ascenzo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
pytheas1-1.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pytheas1
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: Pytheas 1: automated analysis of RNA tandem mass spectrometry data (refreshed packaging of the published code)
|
|
5
|
+
Author: Luigi D'Ascenzo
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/jwilliamson16/Pytheas1
|
|
8
|
+
Project-URL: Issues, https://github.com/jwilliamson16/Pytheas1/issues
|
|
9
|
+
Project-URL: Original repository, https://github.com/ldascenzo/pytheas
|
|
10
|
+
Project-URL: Paper, https://doi.org/10.1038/s41467-022-30057-5
|
|
11
|
+
Requires-Python: >=3.10
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Requires-Dist: numpy>=1.25
|
|
15
|
+
Requires-Dist: pandas>=2.0
|
|
16
|
+
Requires-Dist: matplotlib>=3.7
|
|
17
|
+
Requires-Dist: biopython>=1.80
|
|
18
|
+
Requires-Dist: pyteomics>=4.5
|
|
19
|
+
Requires-Dist: openpyxl>=3.0
|
|
20
|
+
Requires-Dist: PyQt5>=5.15
|
|
21
|
+
Provides-Extra: test
|
|
22
|
+
Requires-Dist: pytest>=7; extra == "test"
|
|
23
|
+
Dynamic: license-file
|
|
24
|
+
|
|
25
|
+
# Pytheas 1, refreshed
|
|
26
|
+
|
|
27
|
+
**Pytheas finds RNA sequences and modifications in tandem mass spectra by database search**
|
|
28
|
+
(D'Ascenzo et al., *Nature Communications* 13, 2424 (2022)). It runs in six stages:
|
|
29
|
+
1. in silico digestion with known modifications;
|
|
30
|
+
2. MS2 matching with the Sp score;
|
|
31
|
+
3. target-decoy FDR;
|
|
32
|
+
4. a final report;
|
|
33
|
+
5. sequence maps;
|
|
34
|
+
6. annotated spectra.
|
|
35
|
+
|
|
36
|
+
**This repository packages the published code from https://github.com/ldascenzo/pytheas** so
|
|
37
|
+
that it installs with pip and runs on current Python, with a new desktop GUI.
|
|
38
|
+
|
|
39
|
+
**The analysis is unchanged.**
|
|
40
|
+
- The algorithms are the published ones. The analysis code was changed only where current
|
|
41
|
+
libraries no longer run it.
|
|
42
|
+
- Each stage was checked against the original code running on its original software stack.
|
|
43
|
+
- The one difference from the paper is the author's own 2022 fix to Sp scoring, which is
|
|
44
|
+
already in the upstream code.
|
|
45
|
+
|
|
46
|
+
See [VALIDATION.md](https://github.com/jwilliamson16/Pytheas1/blob/main/VALIDATION.md).
|
|
47
|
+
|
|
48
|
+
## Install
|
|
49
|
+
|
|
50
|
+
You need Python 3.10 or newer. Install into a virtual environment; deleting its folder
|
|
51
|
+
uninstalls it.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
python3 -m venv ~/venvs/pytheas1
|
|
55
|
+
source ~/venvs/pytheas1/bin/activate # Windows: ~\venvs\pytheas1\Scripts\activate
|
|
56
|
+
pip install pytheas1
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Other ways to get the package:**
|
|
60
|
+
- **The wheel (`.whl`)** is on the [Releases](https://github.com/jwilliamson16/Pytheas1/releases) page:
|
|
61
|
+
`pip install pytheas1-1.1.0-py3-none-any.whl`.
|
|
62
|
+
- **From a clone:** `git clone https://github.com/jwilliamson16/Pytheas1.git`, then `pip install .` inside it. The clone is about
|
|
63
|
+
100 MB, mostly the paper's datasets in `paper_data/`.
|
|
64
|
+
|
|
65
|
+
**What gets installed:**
|
|
66
|
+
- all the dependencies: numpy, pandas, matplotlib, Biopython, pyteomics, openpyxl and PyQt5;
|
|
67
|
+
- the default nucleotide sheets and charge tables;
|
|
68
|
+
- a `pytheas1` command.
|
|
69
|
+
|
|
70
|
+
## Try it on the paper's Training_set
|
|
71
|
+
|
|
72
|
+
The [Releases](https://github.com/jwilliamson16/Pytheas1/releases) page has `pytheas1_demo.zip`. It holds the Training_set
|
|
73
|
+
inputs (sequences, modifications, charge tables, spectra) and a parameter file with the
|
|
74
|
+
settings of the original README demo. Unzip it to get a `pytheas1_demo` folder.
|
|
75
|
+
|
|
76
|
+
**To make the same folder from a clone:**
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
mkdir pytheas1_demo
|
|
80
|
+
cp paper_data/Training_set/{calibration_set_sequences.fasta,calibration_set.mgf,modfile_calibration_set.txt,charges_MS1_calibration.txt,charges_MS2_calibration.txt} pytheas1_demo/
|
|
81
|
+
cp examples/training_set/pytheas1_parameters.json pytheas1_demo/
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**To run it:**
|
|
85
|
+
- **In the GUI:** `pytheas1 --workdir pytheas1_demo` opens on the folder with the settings
|
|
86
|
+
loaded. Click **Run all**.
|
|
87
|
+
- **On the command line:** `pytheas1 --nogui --load_vars --workdir pytheas1_demo --all`.
|
|
88
|
+
|
|
89
|
+
**Results:** all six stages take a few minutes. The final report lists the 137
|
|
90
|
+
identifications of the paper's Training_set, with the Sp values described in
|
|
91
|
+
VALIDATION.md.
|
|
92
|
+
|
|
93
|
+
## Use
|
|
94
|
+
|
|
95
|
+
### GUI
|
|
96
|
+
|
|
97
|
+
Run `pytheas1`, or `pytheas1 --workdir FOLDER` to open it on a folder.
|
|
98
|
+
- **Tabs:** there is one tab per stage, with the options, order and help text of the original
|
|
99
|
+
Gooey forms. A blank input that comes from an earlier stage shows the file it will use.
|
|
100
|
+
- **Working folder:** choose one first. Settings saved there as `pytheas1_parameters.json`
|
|
101
|
+
load automatically.
|
|
102
|
+
- **Buttons:** **Run** on a tab runs that stage. **Run all** runs the six in order. **Stop**
|
|
103
|
+
ends the run.
|
|
104
|
+
- **GUI and command line give the same result.** A run saves the settings to
|
|
105
|
+
`pytheas1_parameters.json` and runs `pytheas1 --nogui --load_vars --workdir FOLDER
|
|
106
|
+
--<stage>`, so it also produces the same run record. Its output streams into the log, and
|
|
107
|
+
each tab shows ✓ or ✗ when its stage finishes.
|
|
108
|
+
|
|
109
|
+
### Command line
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
pytheas1 --write_params my_run.json # every setting, at its default
|
|
113
|
+
pytheas1 --nogui --load_vars --params my_run.json --all
|
|
114
|
+
pytheas1 --nogui --load_vars --params my_run.json --digest --match
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**The parameter file** has one section per stage: `digest`, `match`, `stats`, `report`,
|
|
118
|
+
`mapping` and `visualize`.
|
|
119
|
+
- Each section lists only the settings that differ from the defaults.
|
|
120
|
+
- Inputs that come from an earlier stage can be left out; they are picked up automatically.
|
|
121
|
+
Examples are the digest for Match, or the match output for the report.
|
|
122
|
+
- Input files can be given by name, relative to the working folder.
|
|
123
|
+
|
|
124
|
+
**Run records.** Each run writes two files to `pytheas1_runs/` in the working folder:
|
|
125
|
+
- `<time>.json`, recording the settings used, the files written and the library versions;
|
|
126
|
+
- `<time>.log`, the run's complete console output.
|
|
127
|
+
|
|
128
|
+
`log.txt` is the original Match stage's own three-line summary.
|
|
129
|
+
|
|
130
|
+
### What each option means
|
|
131
|
+
|
|
132
|
+
The original program's manual is reproduced below under "Original README". It explains what
|
|
133
|
+
each stage does and every option. Its installation and launch instructions are for the
|
|
134
|
+
original Gooey version; for this package, use the ones above.
|
|
135
|
+
|
|
136
|
+
## Status
|
|
137
|
+
|
|
138
|
+
- **macOS:** tested with Python 3.12.
|
|
139
|
+
- **Windows and Linux:** not yet tested. Please report problems.
|
|
140
|
+
- **Tests:** `pytest` runs every stage against the original code's outputs in about five
|
|
141
|
+
minutes. `pytest -m "not slow"` takes seconds and skips Match and visualization.
|
|
142
|
+
|
|
143
|
+
## Questions and bug reports
|
|
144
|
+
|
|
145
|
+
Open an [issue](https://github.com/jwilliamson16/Pytheas1/issues). For a bug, attach the run's `.log` and `.json` from
|
|
146
|
+
`pytheas1_runs/`.
|
|
147
|
+
|
|
148
|
+
Known bugs of the original program, kept for fidelity, are listed in
|
|
149
|
+
[KNOWN_ISSUES.md](https://github.com/jwilliamson16/Pytheas1/blob/main/KNOWN_ISSUES.md). [PORTING.md](https://github.com/jwilliamson16/Pytheas1/blob/main/PORTING.md) lists every change made to the
|
|
150
|
+
analysis code.
|
|
151
|
+
|
|
152
|
+
## Credit and license
|
|
153
|
+
|
|
154
|
+
Pytheas was written by Luigi D'Ascenzo (The Scripps Research Institute) and is distributed
|
|
155
|
+
under the MIT License (`LICENSE`). The 2026 packaging and GUI are from the Williamson lab,
|
|
156
|
+
Scripps Research.
|
|
157
|
+
|
|
158
|
+
Please cite:
|
|
159
|
+
|
|
160
|
+
> D'Ascenzo L., Popova A.M., Abernathy S., Sheng K., Limbach P.A., Williamson J.R. *Pytheas:
|
|
161
|
+
> a software package for the automated analysis of RNA sequences and modifications via
|
|
162
|
+
> tandem mass spectrometry.* Nat Commun 13, 2424 (2022).
|
|
163
|
+
> https://doi.org/10.1038/s41467-022-30057-5
|
|
164
|
+
|
|
165
|
+
Pytheas2 is a separate, newer program from the same group. It is available as a web service
|
|
166
|
+
through Cassia LLC: https://cassiallc.com
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
# Original README
|
|
171
|
+
|
|
172
|
+
# Pytheas installation and basic usage notes
|
|
173
|
+
|
|
174
|
+
## General notes
|
|
175
|
+
Pytheas has been fully tested on Windows 10, Linux (Ubuntu 20.04+) and macOS (10.14+, note that you need to use `pythonw` when launching the scripts on macOS). In the current release, there are two supported versions, one with a graphical interface (GUI) and one exclusively command line based (CL). The GUI version is the preferred one, but in case the user experiences issues while using it, the CL version is a good alternative albeit less user-friendly. For the purposes of inputs and outputs the scripts of the two versions are identical. Both versions require to call the component of the Pytheas workflow via command line, but the GUI version offers to the user a graphical interface to select the parameters and run the analysis. A third option is to run Pytheas through Docker, using the provided Dockerfile to build the image.
|
|
176
|
+
Several instances of files and libraries needed for the execution of other scripts (either already present or created while running Pytheas) are packaged together in the same directory, please be careful if moving the scripts from their original position as it may break some dependencies. It is therefore suggested to run the scripts in their provided directories and transfer around only the output files generated.
|
|
177
|
+
|
|
178
|
+
## Pytheas Installation
|
|
179
|
+
### Download GitHub repository
|
|
180
|
+
From the [GitHub repository](https://github.com/ldascenzo/pytheas) Pytheas can be downloaded either selecting the green “Code” button and choosing “Download ZIP” or cloning locally the git repository. The first option downloads a compressed directory with all the files, including the two GUI version and CL version main working directories. To clone the git repository, install git ([Windows instructions](https://git-scm.com/download/win)), then open a shell prompt (in Windows under *Start > Command Prompt*) and navigate into the desired directory for cloning Pytheas repository. Then, within this directory run `git clone https://github.com/ldascenzo/pytheas.git`
|
|
181
|
+
This will create a *pytheas* directory at the chosen location, with all the files needed to run Pytheas.
|
|
182
|
+
|
|
183
|
+
### Windows 10/11
|
|
184
|
+
Download the latest [Anaconda version](https://docs.anaconda.com/anaconda/install/) based on the Windows version in usage (by April 2021 it is *Python 3.8 Windows 64-bit Graphical Installer*).
|
|
185
|
+
Install Anaconda leaving the standard options selected.
|
|
186
|
+
|
|
187
|
+
Open an Anaconda Powershell Prompt (*Start menu -> Anaconda Powershell Prompt*).
|
|
188
|
+
Within the prompt install some Python packages needed for Pytheas execution.
|
|
189
|
+
```
|
|
190
|
+
conda create -n pytheas-env python=3.10 -y
|
|
191
|
+
conda activate pytheas-env
|
|
192
|
+
conda install -y numpy==1.23.1 pandas==1.4.1 matplotlib==3.5.0
|
|
193
|
+
conda install -y -c conda-forge gooey biopython
|
|
194
|
+
conda install -y -c bioconda pyteomics
|
|
195
|
+
conda install -y -c anaconda openpyxl
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Linux (Ubuntu 20.04)
|
|
199
|
+
Install the latest Python 3 version
|
|
200
|
+
```
|
|
201
|
+
$ sudo apt-get update
|
|
202
|
+
$ sudo apt-get install python3
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Install pip, Python package manager to easily download, update and maintain all the libraries
|
|
206
|
+
```
|
|
207
|
+
$ sudo apt install -y python3-pip
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Install some additional libraries that will be needed later, confirming with *Y* when needed during the installation.
|
|
211
|
+
```
|
|
212
|
+
$ sudo apt-get install git curl libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 libsdl2-2.0-0
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Install the wxPython package, which will be used for the GUI version.
|
|
216
|
+
```
|
|
217
|
+
$ wget -P ~ "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl"
|
|
218
|
+
$ pip3 install ~/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Navigate to the local pytheas directory, then install all the requirements needed from the file *requirements.txt*. In case of problems with any of those, please refer to the respective documentations.
|
|
222
|
+
```
|
|
223
|
+
$ pip3 install -r requirements.txt
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### macOS
|
|
227
|
+
The Anaconda installation described for the Windows version is the recommended way of installing Pytheas dependencies. On top of the Windows instructions, the requirements to run the GUI version are installing python.app with
|
|
228
|
+
|
|
229
|
+
```conda install -c anaconda python.app```
|
|
230
|
+
|
|
231
|
+
And calling the scripts using `pythonw`
|
|
232
|
+
|
|
233
|
+
## Pulling Pytheas image through Docker
|
|
234
|
+
### Windows 10/11
|
|
235
|
+
Install [Docker Desktop](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
|
|
236
|
+
Open a Command Prompt (from the Start menu) and pull the Pytheas Docker image
|
|
237
|
+
```
|
|
238
|
+
docker pull ldascenzo/pytheas:latest
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Linux (Ubuntu 20.04)
|
|
242
|
+
Follow the installation instructions for [Docker](https://docs.docker.com/engine/install/ubuntu/)
|
|
243
|
+
Open a Terminal prompt to pull the Pytheas Docker image
|
|
244
|
+
```
|
|
245
|
+
docker pull ldascenzo/pytheas:latest
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Usage info for Linux, Windows, macOS and Docker versions
|
|
249
|
+
### Windows 10/11
|
|
250
|
+
Using an *Anaconda Powershell Prompt*, navigate to the local pytheas directory. If for example the directory is in C:\Users\MainUser\pytheas the command will be
|
|
251
|
+
`cd C:\Users\MainUser\pytheas`
|
|
252
|
+
|
|
253
|
+
Navigate inside the directory of the chosen version (by default the GUI version) and run the scripts inside the respective sub-directories by using
|
|
254
|
+
```python pytheas_<script_name>.py```
|
|
255
|
+
|
|
256
|
+
Select the options and parameters using the provided graphical interface. Refer to the Fig.1 of the main text and to the manual for more details on the order of the workflow and the usage/output of the single scripts.
|
|
257
|
+
### Linux (Ubuntu 20.04)
|
|
258
|
+
Navigate within the Pytheas version directory (GUI or CL) and launch the scripts with
|
|
259
|
+
```python3 pytheas_<script_name>.py```
|
|
260
|
+
|
|
261
|
+
Note that python3 instead of python may not be necessary if the default Python installation is set to be the 3. Refer to the Fig.1 of the main text and to the manual for more details on the order of the workflow and the usage/output of the single scripts.
|
|
262
|
+
|
|
263
|
+
### macOS
|
|
264
|
+
Navigate within the Pytheas version directory (GUI or CL) and launch the scripts with
|
|
265
|
+
```pythonw pytheas_<script_name>.py```
|
|
266
|
+
|
|
267
|
+
### Docker image
|
|
268
|
+
Open a Bash shell within the container
|
|
269
|
+
```docker run -it ldascenzo/pytheas /bin/bash```
|
|
270
|
+
|
|
271
|
+
Navigate within the main Pytheas directory, in the command line version
|
|
272
|
+
```# cd pytheas/CL_version```
|
|
273
|
+
|
|
274
|
+
From there run Pytheas scripts following the normal instructions for the CL version
|
|
275
|
+
To transfer files between the Docker container and the host, use the following
|
|
276
|
+
```docker cp <container name>:/file/path/within/container /host/path/target```
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
## Demo: running an analysis on the Pytheas training set (RNA oligomers)
|
|
280
|
+
After the installation of Pytheas and all the dependencies, the training set output files can be reproduced by running the following steps. All three steps of this simple demo can be run in a few minutes on an average laptop or desktop computer.
|
|
281
|
+
|
|
282
|
+
### 1. in silico digestion
|
|
283
|
+
Within the GUI_version/in_silico_digestion directory, the digest file can be obtained by running
|
|
284
|
+
```python pytheas_insilico_digestion.py```
|
|
285
|
+
And changing the standard options for (all files are found within the Training_set directory):
|
|
286
|
+
- RNA_sequences = calibration_set_sequences.fasta
|
|
287
|
+
- Enzyme = None
|
|
288
|
+
- Nucleotides_light = nts_light.xlsx
|
|
289
|
+
- decoys = selected
|
|
290
|
+
- list_of_known_RNA_modifications = modfile_calibration_set.txt
|
|
291
|
+
- RNA_5end_chemistry = OH
|
|
292
|
+
- RNA_3end_chemistry = P
|
|
293
|
+
|
|
294
|
+
### 2. Matching and scoring
|
|
295
|
+
Within the GUI_version/matching_scoring directory, the matching and scoring files can be obtained by running
|
|
296
|
+
```python pytheas_matching_scoring.py```
|
|
297
|
+
And changing the standard options for (all files except the digest are found within the Training_set directory):
|
|
298
|
+
- Theoretical_digest = digest file obtained from the previous step
|
|
299
|
+
- MS_data = calibration_set.mgf
|
|
300
|
+
- isotopic_species = light
|
|
301
|
+
|
|
302
|
+
### 3. Final report
|
|
303
|
+
Within the GUI_version/final_report, the final_report can be obtained by running
|
|
304
|
+
```python pytheas_final_report.py```
|
|
305
|
+
Using the matching file obtained in the previous step as Match_output
|
pytheas1-1.1.0/README.md
ADDED
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
# Pytheas 1, refreshed
|
|
2
|
+
|
|
3
|
+
**Pytheas finds RNA sequences and modifications in tandem mass spectra by database search**
|
|
4
|
+
(D'Ascenzo et al., *Nature Communications* 13, 2424 (2022)). It runs in six stages:
|
|
5
|
+
1. in silico digestion with known modifications;
|
|
6
|
+
2. MS2 matching with the Sp score;
|
|
7
|
+
3. target-decoy FDR;
|
|
8
|
+
4. a final report;
|
|
9
|
+
5. sequence maps;
|
|
10
|
+
6. annotated spectra.
|
|
11
|
+
|
|
12
|
+
**This repository packages the published code from https://github.com/ldascenzo/pytheas** so
|
|
13
|
+
that it installs with pip and runs on current Python, with a new desktop GUI.
|
|
14
|
+
|
|
15
|
+
**The analysis is unchanged.**
|
|
16
|
+
- The algorithms are the published ones. The analysis code was changed only where current
|
|
17
|
+
libraries no longer run it.
|
|
18
|
+
- Each stage was checked against the original code running on its original software stack.
|
|
19
|
+
- The one difference from the paper is the author's own 2022 fix to Sp scoring, which is
|
|
20
|
+
already in the upstream code.
|
|
21
|
+
|
|
22
|
+
See [VALIDATION.md](https://github.com/jwilliamson16/Pytheas1/blob/main/VALIDATION.md).
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
You need Python 3.10 or newer. Install into a virtual environment; deleting its folder
|
|
27
|
+
uninstalls it.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
python3 -m venv ~/venvs/pytheas1
|
|
31
|
+
source ~/venvs/pytheas1/bin/activate # Windows: ~\venvs\pytheas1\Scripts\activate
|
|
32
|
+
pip install pytheas1
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Other ways to get the package:**
|
|
36
|
+
- **The wheel (`.whl`)** is on the [Releases](https://github.com/jwilliamson16/Pytheas1/releases) page:
|
|
37
|
+
`pip install pytheas1-1.1.0-py3-none-any.whl`.
|
|
38
|
+
- **From a clone:** `git clone https://github.com/jwilliamson16/Pytheas1.git`, then `pip install .` inside it. The clone is about
|
|
39
|
+
100 MB, mostly the paper's datasets in `paper_data/`.
|
|
40
|
+
|
|
41
|
+
**What gets installed:**
|
|
42
|
+
- all the dependencies: numpy, pandas, matplotlib, Biopython, pyteomics, openpyxl and PyQt5;
|
|
43
|
+
- the default nucleotide sheets and charge tables;
|
|
44
|
+
- a `pytheas1` command.
|
|
45
|
+
|
|
46
|
+
## Try it on the paper's Training_set
|
|
47
|
+
|
|
48
|
+
The [Releases](https://github.com/jwilliamson16/Pytheas1/releases) page has `pytheas1_demo.zip`. It holds the Training_set
|
|
49
|
+
inputs (sequences, modifications, charge tables, spectra) and a parameter file with the
|
|
50
|
+
settings of the original README demo. Unzip it to get a `pytheas1_demo` folder.
|
|
51
|
+
|
|
52
|
+
**To make the same folder from a clone:**
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
mkdir pytheas1_demo
|
|
56
|
+
cp paper_data/Training_set/{calibration_set_sequences.fasta,calibration_set.mgf,modfile_calibration_set.txt,charges_MS1_calibration.txt,charges_MS2_calibration.txt} pytheas1_demo/
|
|
57
|
+
cp examples/training_set/pytheas1_parameters.json pytheas1_demo/
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**To run it:**
|
|
61
|
+
- **In the GUI:** `pytheas1 --workdir pytheas1_demo` opens on the folder with the settings
|
|
62
|
+
loaded. Click **Run all**.
|
|
63
|
+
- **On the command line:** `pytheas1 --nogui --load_vars --workdir pytheas1_demo --all`.
|
|
64
|
+
|
|
65
|
+
**Results:** all six stages take a few minutes. The final report lists the 137
|
|
66
|
+
identifications of the paper's Training_set, with the Sp values described in
|
|
67
|
+
VALIDATION.md.
|
|
68
|
+
|
|
69
|
+
## Use
|
|
70
|
+
|
|
71
|
+
### GUI
|
|
72
|
+
|
|
73
|
+
Run `pytheas1`, or `pytheas1 --workdir FOLDER` to open it on a folder.
|
|
74
|
+
- **Tabs:** there is one tab per stage, with the options, order and help text of the original
|
|
75
|
+
Gooey forms. A blank input that comes from an earlier stage shows the file it will use.
|
|
76
|
+
- **Working folder:** choose one first. Settings saved there as `pytheas1_parameters.json`
|
|
77
|
+
load automatically.
|
|
78
|
+
- **Buttons:** **Run** on a tab runs that stage. **Run all** runs the six in order. **Stop**
|
|
79
|
+
ends the run.
|
|
80
|
+
- **GUI and command line give the same result.** A run saves the settings to
|
|
81
|
+
`pytheas1_parameters.json` and runs `pytheas1 --nogui --load_vars --workdir FOLDER
|
|
82
|
+
--<stage>`, so it also produces the same run record. Its output streams into the log, and
|
|
83
|
+
each tab shows ✓ or ✗ when its stage finishes.
|
|
84
|
+
|
|
85
|
+
### Command line
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
pytheas1 --write_params my_run.json # every setting, at its default
|
|
89
|
+
pytheas1 --nogui --load_vars --params my_run.json --all
|
|
90
|
+
pytheas1 --nogui --load_vars --params my_run.json --digest --match
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**The parameter file** has one section per stage: `digest`, `match`, `stats`, `report`,
|
|
94
|
+
`mapping` and `visualize`.
|
|
95
|
+
- Each section lists only the settings that differ from the defaults.
|
|
96
|
+
- Inputs that come from an earlier stage can be left out; they are picked up automatically.
|
|
97
|
+
Examples are the digest for Match, or the match output for the report.
|
|
98
|
+
- Input files can be given by name, relative to the working folder.
|
|
99
|
+
|
|
100
|
+
**Run records.** Each run writes two files to `pytheas1_runs/` in the working folder:
|
|
101
|
+
- `<time>.json`, recording the settings used, the files written and the library versions;
|
|
102
|
+
- `<time>.log`, the run's complete console output.
|
|
103
|
+
|
|
104
|
+
`log.txt` is the original Match stage's own three-line summary.
|
|
105
|
+
|
|
106
|
+
### What each option means
|
|
107
|
+
|
|
108
|
+
The original program's manual is reproduced below under "Original README". It explains what
|
|
109
|
+
each stage does and every option. Its installation and launch instructions are for the
|
|
110
|
+
original Gooey version; for this package, use the ones above.
|
|
111
|
+
|
|
112
|
+
## Status
|
|
113
|
+
|
|
114
|
+
- **macOS:** tested with Python 3.12.
|
|
115
|
+
- **Windows and Linux:** not yet tested. Please report problems.
|
|
116
|
+
- **Tests:** `pytest` runs every stage against the original code's outputs in about five
|
|
117
|
+
minutes. `pytest -m "not slow"` takes seconds and skips Match and visualization.
|
|
118
|
+
|
|
119
|
+
## Questions and bug reports
|
|
120
|
+
|
|
121
|
+
Open an [issue](https://github.com/jwilliamson16/Pytheas1/issues). For a bug, attach the run's `.log` and `.json` from
|
|
122
|
+
`pytheas1_runs/`.
|
|
123
|
+
|
|
124
|
+
Known bugs of the original program, kept for fidelity, are listed in
|
|
125
|
+
[KNOWN_ISSUES.md](https://github.com/jwilliamson16/Pytheas1/blob/main/KNOWN_ISSUES.md). [PORTING.md](https://github.com/jwilliamson16/Pytheas1/blob/main/PORTING.md) lists every change made to the
|
|
126
|
+
analysis code.
|
|
127
|
+
|
|
128
|
+
## Credit and license
|
|
129
|
+
|
|
130
|
+
Pytheas was written by Luigi D'Ascenzo (The Scripps Research Institute) and is distributed
|
|
131
|
+
under the MIT License (`LICENSE`). The 2026 packaging and GUI are from the Williamson lab,
|
|
132
|
+
Scripps Research.
|
|
133
|
+
|
|
134
|
+
Please cite:
|
|
135
|
+
|
|
136
|
+
> D'Ascenzo L., Popova A.M., Abernathy S., Sheng K., Limbach P.A., Williamson J.R. *Pytheas:
|
|
137
|
+
> a software package for the automated analysis of RNA sequences and modifications via
|
|
138
|
+
> tandem mass spectrometry.* Nat Commun 13, 2424 (2022).
|
|
139
|
+
> https://doi.org/10.1038/s41467-022-30057-5
|
|
140
|
+
|
|
141
|
+
Pytheas2 is a separate, newer program from the same group. It is available as a web service
|
|
142
|
+
through Cassia LLC: https://cassiallc.com
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
# Original README
|
|
147
|
+
|
|
148
|
+
# Pytheas installation and basic usage notes
|
|
149
|
+
|
|
150
|
+
## General notes
|
|
151
|
+
Pytheas has been fully tested on Windows 10, Linux (Ubuntu 20.04+) and macOS (10.14+, note that you need to use `pythonw` when launching the scripts on macOS). In the current release, there are two supported versions, one with a graphical interface (GUI) and one exclusively command line based (CL). The GUI version is the preferred one, but in case the user experiences issues while using it, the CL version is a good alternative albeit less user-friendly. For the purposes of inputs and outputs the scripts of the two versions are identical. Both versions require to call the component of the Pytheas workflow via command line, but the GUI version offers to the user a graphical interface to select the parameters and run the analysis. A third option is to run Pytheas through Docker, using the provided Dockerfile to build the image.
|
|
152
|
+
Several instances of files and libraries needed for the execution of other scripts (either already present or created while running Pytheas) are packaged together in the same directory, please be careful if moving the scripts from their original position as it may break some dependencies. It is therefore suggested to run the scripts in their provided directories and transfer around only the output files generated.
|
|
153
|
+
|
|
154
|
+
## Pytheas Installation
|
|
155
|
+
### Download GitHub repository
|
|
156
|
+
From the [GitHub repository](https://github.com/ldascenzo/pytheas) Pytheas can be downloaded either selecting the green “Code” button and choosing “Download ZIP” or cloning locally the git repository. The first option downloads a compressed directory with all the files, including the two GUI version and CL version main working directories. To clone the git repository, install git ([Windows instructions](https://git-scm.com/download/win)), then open a shell prompt (in Windows under *Start > Command Prompt*) and navigate into the desired directory for cloning Pytheas repository. Then, within this directory run `git clone https://github.com/ldascenzo/pytheas.git`
|
|
157
|
+
This will create a *pytheas* directory at the chosen location, with all the files needed to run Pytheas.
|
|
158
|
+
|
|
159
|
+
### Windows 10/11
|
|
160
|
+
Download the latest [Anaconda version](https://docs.anaconda.com/anaconda/install/) based on the Windows version in usage (by April 2021 it is *Python 3.8 Windows 64-bit Graphical Installer*).
|
|
161
|
+
Install Anaconda leaving the standard options selected.
|
|
162
|
+
|
|
163
|
+
Open an Anaconda Powershell Prompt (*Start menu -> Anaconda Powershell Prompt*).
|
|
164
|
+
Within the prompt install some Python packages needed for Pytheas execution.
|
|
165
|
+
```
|
|
166
|
+
conda create -n pytheas-env python=3.10 -y
|
|
167
|
+
conda activate pytheas-env
|
|
168
|
+
conda install -y numpy==1.23.1 pandas==1.4.1 matplotlib==3.5.0
|
|
169
|
+
conda install -y -c conda-forge gooey biopython
|
|
170
|
+
conda install -y -c bioconda pyteomics
|
|
171
|
+
conda install -y -c anaconda openpyxl
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Linux (Ubuntu 20.04)
|
|
175
|
+
Install the latest Python 3 version
|
|
176
|
+
```
|
|
177
|
+
$ sudo apt-get update
|
|
178
|
+
$ sudo apt-get install python3
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Install pip, Python package manager to easily download, update and maintain all the libraries
|
|
182
|
+
```
|
|
183
|
+
$ sudo apt install -y python3-pip
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Install some additional libraries that will be needed later, confirming with *Y* when needed during the installation.
|
|
187
|
+
```
|
|
188
|
+
$ sudo apt-get install git curl libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 libsdl2-2.0-0
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Install the wxPython package, which will be used for the GUI version.
|
|
192
|
+
```
|
|
193
|
+
$ wget -P ~ "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl"
|
|
194
|
+
$ pip3 install ~/wxPython-4.1.0-cp38-cp38-linux_x86_64.whl
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Navigate to the local pytheas directory, then install all the requirements needed from the file *requirements.txt*. In case of problems with any of those, please refer to the respective documentations.
|
|
198
|
+
```
|
|
199
|
+
$ pip3 install -r requirements.txt
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### macOS
|
|
203
|
+
The Anaconda installation described for the Windows version is the recommended way of installing Pytheas dependencies. On top of the Windows instructions, the requirements to run the GUI version are installing python.app with
|
|
204
|
+
|
|
205
|
+
```conda install -c anaconda python.app```
|
|
206
|
+
|
|
207
|
+
And calling the scripts using `pythonw`
|
|
208
|
+
|
|
209
|
+
## Pulling Pytheas image through Docker
|
|
210
|
+
### Windows 10/11
|
|
211
|
+
Install [Docker Desktop](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
|
|
212
|
+
Open a Command Prompt (from the Start menu) and pull the Pytheas Docker image
|
|
213
|
+
```
|
|
214
|
+
docker pull ldascenzo/pytheas:latest
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Linux (Ubuntu 20.04)
|
|
218
|
+
Follow the installation instructions for [Docker](https://docs.docker.com/engine/install/ubuntu/)
|
|
219
|
+
Open a Terminal prompt to pull the Pytheas Docker image
|
|
220
|
+
```
|
|
221
|
+
docker pull ldascenzo/pytheas:latest
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Usage info for Linux, Windows, macOS and Docker versions
|
|
225
|
+
### Windows 10/11
|
|
226
|
+
Using an *Anaconda Powershell Prompt*, navigate to the local pytheas directory. If for example the directory is in C:\Users\MainUser\pytheas the command will be
|
|
227
|
+
`cd C:\Users\MainUser\pytheas`
|
|
228
|
+
|
|
229
|
+
Navigate inside the directory of the chosen version (by default the GUI version) and run the scripts inside the respective sub-directories by using
|
|
230
|
+
```python pytheas_<script_name>.py```
|
|
231
|
+
|
|
232
|
+
Select the options and parameters using the provided graphical interface. Refer to the Fig.1 of the main text and to the manual for more details on the order of the workflow and the usage/output of the single scripts.
|
|
233
|
+
### Linux (Ubuntu 20.04)
|
|
234
|
+
Navigate within the Pytheas version directory (GUI or CL) and launch the scripts with
|
|
235
|
+
```python3 pytheas_<script_name>.py```
|
|
236
|
+
|
|
237
|
+
Note that python3 instead of python may not be necessary if the default Python installation is set to be the 3. Refer to the Fig.1 of the main text and to the manual for more details on the order of the workflow and the usage/output of the single scripts.
|
|
238
|
+
|
|
239
|
+
### macOS
|
|
240
|
+
Navigate within the Pytheas version directory (GUI or CL) and launch the scripts with
|
|
241
|
+
```pythonw pytheas_<script_name>.py```
|
|
242
|
+
|
|
243
|
+
### Docker image
|
|
244
|
+
Open a Bash shell within the container
|
|
245
|
+
```docker run -it ldascenzo/pytheas /bin/bash```
|
|
246
|
+
|
|
247
|
+
Navigate within the main Pytheas directory, in the command line version
|
|
248
|
+
```# cd pytheas/CL_version```
|
|
249
|
+
|
|
250
|
+
From there run Pytheas scripts following the normal instructions for the CL version
|
|
251
|
+
To transfer files between the Docker container and the host, use the following
|
|
252
|
+
```docker cp <container name>:/file/path/within/container /host/path/target```
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
## Demo: running an analysis on the Pytheas training set (RNA oligomers)
|
|
256
|
+
After the installation of Pytheas and all the dependencies, the training set output files can be reproduced by running the following steps. All three steps of this simple demo can be run in a few minutes on an average laptop or desktop computer.
|
|
257
|
+
|
|
258
|
+
### 1. in silico digestion
|
|
259
|
+
Within the GUI_version/in_silico_digestion directory, the digest file can be obtained by running
|
|
260
|
+
```python pytheas_insilico_digestion.py```
|
|
261
|
+
And changing the standard options for (all files are found within the Training_set directory):
|
|
262
|
+
- RNA_sequences = calibration_set_sequences.fasta
|
|
263
|
+
- Enzyme = None
|
|
264
|
+
- Nucleotides_light = nts_light.xlsx
|
|
265
|
+
- decoys = selected
|
|
266
|
+
- list_of_known_RNA_modifications = modfile_calibration_set.txt
|
|
267
|
+
- RNA_5end_chemistry = OH
|
|
268
|
+
- RNA_3end_chemistry = P
|
|
269
|
+
|
|
270
|
+
### 2. Matching and scoring
|
|
271
|
+
Within the GUI_version/matching_scoring directory, the matching and scoring files can be obtained by running
|
|
272
|
+
```python pytheas_matching_scoring.py```
|
|
273
|
+
And changing the standard options for (all files except the digest are found within the Training_set directory):
|
|
274
|
+
- Theoretical_digest = digest file obtained from the previous step
|
|
275
|
+
- MS_data = calibration_set.mgf
|
|
276
|
+
- isotopic_species = light
|
|
277
|
+
|
|
278
|
+
### 3. Final report
|
|
279
|
+
Within the GUI_version/final_report, the final_report can be obtained by running
|
|
280
|
+
```python pytheas_final_report.py```
|
|
281
|
+
Using the matching file obtained in the previous step as Match_output
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=77"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "pytheas1"
|
|
7
|
+
dynamic = ["version"]
|
|
8
|
+
description = "Pytheas 1: automated analysis of RNA tandem mass spectrometry data (refreshed packaging of the published code)"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
license-files = ["LICENSE"]
|
|
12
|
+
authors = [{name = "Luigi D'Ascenzo"}]
|
|
13
|
+
requires-python = ">=3.10"
|
|
14
|
+
dependencies = [
|
|
15
|
+
"numpy>=1.25",
|
|
16
|
+
"pandas>=2.0",
|
|
17
|
+
"matplotlib>=3.7",
|
|
18
|
+
"biopython>=1.80",
|
|
19
|
+
"pyteomics>=4.5",
|
|
20
|
+
"openpyxl>=3.0",
|
|
21
|
+
"PyQt5>=5.15",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[project.optional-dependencies]
|
|
25
|
+
test = ["pytest>=7"]
|
|
26
|
+
|
|
27
|
+
[project.scripts]
|
|
28
|
+
pytheas1 = "pytheas1.cli:main"
|
|
29
|
+
|
|
30
|
+
[project.urls]
|
|
31
|
+
Homepage = "https://github.com/jwilliamson16/Pytheas1"
|
|
32
|
+
Issues = "https://github.com/jwilliamson16/Pytheas1/issues"
|
|
33
|
+
"Original repository" = "https://github.com/ldascenzo/pytheas"
|
|
34
|
+
Paper = "https://doi.org/10.1038/s41467-022-30057-5"
|
|
35
|
+
|
|
36
|
+
[tool.setuptools.dynamic]
|
|
37
|
+
version = {attr = "pytheas1.__version__"}
|
|
38
|
+
|
|
39
|
+
[tool.setuptools.packages.find]
|
|
40
|
+
where = ["src"]
|
|
41
|
+
|
|
42
|
+
[tool.setuptools.package-data]
|
|
43
|
+
pytheas1 = ["data/*.xlsx", "data/*.txt", "data/js/*.js", "data/Charge_tables/*/*.txt"]
|
|
44
|
+
|
|
45
|
+
[tool.pytest.ini_options]
|
|
46
|
+
testpaths = ["tests"]
|
|
47
|
+
markers = ["slow: runs the Match stage (minutes)"]
|
pytheas1-1.1.0/setup.cfg
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""Pytheas 1: automated analysis of RNA tandem mass spectrometry data.
|
|
2
|
+
|
|
3
|
+
Refreshed packaging of Pytheas (D'Ascenzo et al., Nature Communications
|
|
4
|
+
2022; https://github.com/ldascenzo/pytheas, MIT License, (c) 2021 Luigi
|
|
5
|
+
D'Ascenzo). The analysis code is the published library code, ported to
|
|
6
|
+
current Python, numpy, pandas, matplotlib and Biopython without changing its
|
|
7
|
+
algorithms; see PORTING.md for every change.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
__version__ = "1.1.0"
|