joerivstrien / process_maxquant Goto Github PK
View Code? Open in Web Editor NEWcode process maxquant output (protein-groups.txt)
code process maxquant output (protein-groups.txt)
The file '20210128_BHM_DDM_XL-CP_all_proteinGroups' has the sample names "iBAQ BHM_DDM_DMTMM_01" and "iBAQ BHM_DDM_PhoX_01" where the program only detects "iBAQ BHM" as sample name resulting in an error. So, make sure that sample names are detect which are "iBAQ {sample_name}_[0-9]{2}" or something like that.
Currently, I assume that the settings file the user can change is always correct. Everyone makes mistakes so I should write code to validate whether the settings file is valid.
In the settings file the user should be able to dictate the order of the columns in the excel file. This also means that some functions should be made to check whether the user has entered valid column names. Additionally, the samples should be inserted in the excel in a alphabetically way instead of a random order.
The columns in the excel file have the following order: the original columns, the user can dictate which order these appear in the excel file - samples, should be sorted alphabetically - new columns, will be sorted at random.
The user should be able to say I want the program to search through the symbol or synonyms column.
When the program tries to fetch data from uniprot it is using uniprot identifiers(hopefully). In order to get these identifiers fasta headers are examined and the identifier is extracted from the fasta header. A function needs to be made which evaluates whether the input, identifiers, are present. If not, skip fetching data from uniprot.
When running the tool on a dataset with gi numbers instead of uniprot ID's, but leaving the option "uniprot_step" on, the tool and GUI shut down/crash instead of the error being displayed in the GUI.
Traceback:
Traceback (most recent call last): File "/home/joeri/Documents/coding_projects/process_maxquant/gui_file_acceptor.py", line 149, in execute_process_maxquant_script protein_groups_dataframe = fetch_uniprot_annotation_step(self, protein_groups_dataframe, settings_dict) File "/home/joeri/Documents/coding_projects/process_maxquant/process_maxquant.py", line 948, in fetch_uniprot_annotation_step protein_data_dict = fetch_uniprot_annotation(gui_object, protein_groups_dataframe["identifier"], settings_dict["uniprot_step"]) File "/home/joeri/Documents/coding_projects/process_maxquant/process_maxquant.py", line 305, in fetch_uniprot_annotation request.raise_for_status() File "/home/joeri/miniconda3/envs/py3new/lib/python3.9/site-packages/requests/models.py", line 943, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://www.ebi.ac.uk/proteins/api/proteins?offset=0&size=100&accession=10048432,...110625963,110625975,110625979 Aborted (core dumped)
Whenever an error message appears it is printed in the GUI. However, the program resumes and the errors message should go away. This doesn't happen and should be changed.
This is a minor thing but should be done in order to prevent confusion.
When running the tool on a protein_groups file with 6 samples, (each having 60 slices) an error occurs during the clustering step.
The GUI displays the following error:
An exception occurred while applying clustering on a sample
Maximum recursion depth exceeded in comparison.
relevant lines in log file before error occurs:
INFO:root:Step 4, cluster the fractions per sample using hierarchical clustering.
INFO:root:Start hierarchical clustering for sample T5
(not sure why it starts clustering T5? maybe something went wrong with parsing the other samples? Samples are T1 - T6)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.