xi-mzidentml-converter uses pyteomics (https://pyteomics.readthedocs.io/en/latest/index.html) to parse mzIdentML files (v1.2.0) and extract crosslink information. Results are written to a relational database (PostgreSQL or SQLite) using sqlalchemy.
Project description
xi-mzidentml-converter
xi-mzidentml-converter uses pyteomics (https://pyteomics.readthedocs.io/en/latest/index.html) to parse mzIdentML files (v1.2.0) and extract crosslink information. Results are written to a relational database (PostgreSQL or SQLite) using sqlalchemy.
Requirements:
python3.10
pipenv
sqlite3 or postgresql (these instruction use posrgresql)
1. Installation
Clone git repository :
git clone https://github.com/Rappsilber-Laboratory/xi-mzidentml-converter.git
cd into the repository:
cd xi-mzidentml-converter
Checkout python3 branch:
git checkout python3
2. create a postgresql role and database to use
sudo su postgres
psql
create database xiview;
create user xiadmin with login password 'your_password_here';
grant all privileges on database xiview to xiadmin;
find the hba.conf file in the postgresql installation directory and add a line to allow the xiadmin role to access the database: e.g.
sudo nano /etc/postgresql/13/main/pg_hba.conf
then add the line:
local xiview xiadmin md5
then restart postgresql:
sudo service postgresql restart
3. Configure the python environment for the file parser
edit the file xiSPEC_ms_parser/credentials.py to point to your postgressql database. e.g. so its content is:
hostname = 'localhost'
username = 'xiadmin'
password = 'your_password_here'
database = 'xiview'
port = 5432
Set up the python environment:
cd xiSPEC_ms_parser
pipenv install --python 3.10
run create_db_schema.py to create the database tables:
python create_db_schema.py
parse a test dataset:
python process_dataset.py -d ~/PXD038060 -i PXD038060
The argument -d
is the directory to read files from and -i
is the project identifier to use in the database.
To run tests
Make sure we have the right db user available
psql -p 5432 -c "create role ximzid_unittests with password 'ximzid_unittests';"
psql -p 5432 -c 'alter role ximzid_unittests with login;'
psql -p 5432 -c 'alter role ximzid_unittests with createdb;'
psql -p 5432 -c 'GRANT pg_signal_backend TO ximzid_unittests;'
run the tests
pipenv run pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for xi-mzidentml-converter-0.1.23.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fb6cb0be18b5e9658eaf85a091dbc723cd3607da4b0767e7dc9c4ccb7a4448e |
|
MD5 | 648175ad5040a9d9bcaef2ad0c4562c5 |
|
BLAKE2b-256 | b3e0ace2cb4ae18eaf03233722e20dac9d72a13975b7ae451bdd7a27124571f0 |
Hashes for xi_mzidentml_converter-0.1.23-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f909026c86a4ab4e54ae42213644a123b7690a9b54c4073b4060c0af9bc65fb |
|
MD5 | 8d57c9c950736d6478892c1df2c7cabe |
|
BLAKE2b-256 | 1dc774f4a42a012799ba2b046df952d2a9dcbf90fc203857227c6ed3489cdf29 |