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.22.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cf76b39f256644190252a82b99df45712ec3e9f7146bd28e736dc3038efa0d3 |
|
MD5 | f5a9e3387c35fdd461261e8973fd0243 |
|
BLAKE2b-256 | 082f2d6999b7d303b1e1ea7e3f04b2d309d364f1378c6e79560e12c870e59e75 |
Hashes for xi_mzidentml_converter-0.1.22-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fa1b83e8f00cf1123922f85557672559993b01cde90721352631205fc1724ce |
|
MD5 | f14920338bc87657d9aa8433d3979309 |
|
BLAKE2b-256 | 0004457b8c7fd9d1dc1046502fb07897339fc28616b7b3de37621fe3553d133e |