Code Monkey home page Code Monkey logo

sysmedos / lipidlynxx Goto Github PK

View Code? Open in Web Editor NEW
12.0 12.0 6.0 16.33 MB

LipidLynxX provides the possibility to convert, cross-match, and link various lipid annotations to the tools supporting lipid ontology, pathway, and network analysis aiming systems-wide integration and functional annotation of lipidome dynamics in health and disease.

Home Page: https://www.biorxiv.org/content/10.1101/2020.04.09.033894v2

License: GNU General Public License v3.0

Python 78.88% HTML 18.32% Jupyter Notebook 2.80%
lipid lipidomics nomenclature

lipidlynxx's People

Contributors

dependabot-support avatar pyup-bot avatar zhixuni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lipidlynxx's Issues

Unknown internal error [Bug]

When I load my dataset to Linux2 the following error occurs during Lynx Progress stage:

'invalid literal for int() with base 10: '0).'
Unknown internal error. If you cannot resolve it please contact the developers at GitLab.'

How can this be solved?

Use LipidLynxX in Python directly?

Is your feature request related to a problem? Please describe.

Right now LipidLynxX can be used from the Web GUI and with a Web API.
Is there any way to use the conversion in Python directly? Probably it works already but is not documented...

Describe the solution you'd like
In practice, I would be looking to do something like

import lipidlynx.parser as lp

lp.parse_lipid("SM 21:0;2O/21:1") 

and get back some kind of pandas dataframe or similar with the lipid level matrix.

Describe alternatives you've considered
The GOSLIN packages do something similar, but don't currently cover all features the latest LIPIDMAPS nomenclature.

[Bug] Linker problems with specific lipids

When using lipids in the linker/converter e.g. PE(22:6_16:1) the tool is able to convert them correctly into a notation which works with Swisslipids: Shorthand Notation: PE 16:1_22:6 ; LipidLynxX Notation: PE(16:1_22:6) .

However, For some lipids this does not work correctly:

Examples:

  1. Etherlipids: PE(O-22:6_16:1) should be converted into PE(O-16:1_22:6) (Swisslipids ID: SLM:000069971), but does not work. So no Swisslipid DB entries are found.
  2. Sphingolipids: Cer(d14:0/26:0) is wrongly converted into Cer(14:0/26:0) , but the correct Swisslipids entry is Ceramide (d14:0/26:0) (Swisslipids ID: SLM:000391713 )

[Bug]

Describe the bug
Not sure whether it is a bug but none of my lipids (200+) with lipidmap ids are coverted.

To Reproduce
Here are some example lipidmap ids, if search directly on lipid map website, there are info about them.
I could also send you the full list.

LMFA01170085
LMFA01170076
LMFA01030600
LMFA07010271
LMFA01170018
LMFA01060187
LMFA01030162
LMGP10010436
LMGP04010558
LMGP03010228
LMGP10010899
LMGP04010654
LMGP06010399
LMGP04010974
LMGP04010041
LMGP04010593
LMGP06010011
LMGP04010043
LMGP06010860
LMGP02050025
LMGP10010038
LMGP06010401
LMGP06010881
LMGP04010884
LMGP04010974

Expected behavior
At least some should be included in the lipidlynxX?

Screenshots

Desktop (please complete the following information):

  • OS: [e.g. linux]
  • Browser: [e.g. firefox]
  • LipidLynxX Version: [latest website version]

Additional context
I have the name and sys_name for those lipids (retrived from lipidmaps), let me know if you need them.

Thanks!

A question about Lipid LynxX[Feature request]

Hi Zhixu
Iโ€™d like to use LipidLynxX to convert lipid names in my dataset.
However, I only get annotation for 30 of 135 lipids.
I am new to lipidomics data. Could you give me some suggestions? How I can get the LipidLynxX indentifier for all the 135 lipids I have?

[Bug] lipidlynxx website conversion appears to be broken

Describe the bug
The website conversion service is broken, as of 2021-03-08 at 11:30 EST

To Reproduce
Steps to reproduce the behavior:

  1. Go to http://lipidmaps.org/lipidlynxx/converter/

  2. Click on "Convert" without changing any settings

  3. See error

    500 Server Error
    OSError: [Errno 24] Too many open files

    File /lipidmaps/python-3.8.4/lib/python3.8/multiprocessing/popen_fork.py, line 68, in _launch
    65.

    1. def _launch(self, process_obj):
      
    2.     code = 1
      
    3.     parent_r, child_w = os.pipe()
      
    4.     child_r, parent_w = os.pipe()
      
    5.     self.pid = os.fork()
      
    6.     if self.pid == 0:
      

Expected behavior
Expect the default input example to work without changing anything

Screenshots
Attached screenshot of starting screen, and of the error output.

Screenshot from 2021-03-08 11-02-19

Screenshot from 2021-03-08 11-02-26

Desktop (please complete the following information):

  • OS: Linux
  • Browser: Chrome 88.0.4324.96 (Official Build) (64-bit)
  • LipidLynxX Version: whatever is on the website

LipidLynxX can't be finished.

When I run LipidLynxX both on the web and in a local, the page is always "LipidLynxX is running", the the program can't be completed. Even the example lipid names were submitted.

few Lipids from Lipimatch are not getting convrted

Cer-NDS(d20:0/18:0)

Cer-NS(d18:2/22:0)

HexCer-NS(d18:1/23:0)

plasmanyl-TG(O-20:0_14:0_18:2)

These lipids identification is the output of lipidmatch. Software could not convert into lipidlynx format.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

How to read 1Z-alkenylglycerophosphoethanolamines [GP0207] in LipidLynxX [Question]

Hi,

I wanted to ask how do I correctly convert 1Z-alkenylglycerophosphoethanolamines or LPC-P in LipidLynxX.

Initially I thought this is possible because the BioPAN documentation says that it supports the input of LPC-O and LPC-P and to my understanding, BioPAN is using LipidLynxX as a "backend" tools

image

What I did is to key in the names as follows

image

but it gives me LPC-O instead with one additional double bond

image

I tried to convert it from "Bulk" to "Molecular Species"

image

But the system seems to run indefinitely...

image

Could you help me out in this ?

Problem with running "python LipidLynxX.py" after installation

Hello,

I followed the installation user guide (section "Install from source code") here: https://github.com/SysMedOs/LipidLynxX/blob/master/doc/LipidLynxX_UserGuide.pdf
The installation went smootly, however, when it comes to running the command python LipidLynxX.py I have the following error:

Traceback (most recent call last):
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/LipidLynxX.py", line 19, in
from lynx.app import app
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/init.py", line 1, in
from lynx.controllers.converter import Converter
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/controllers/converter.py", line 19, in
from lynx.controllers.encoder import Encoder
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/controllers/encoder.py", line 22, in
from lynx.controllers.decoder import Decoder
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/controllers/decoder.py", line 21, in
from lynx.controllers.formatter import Formatter
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/controllers/formatter.py", line 21, in
from lynx.models.cv import CV
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/models/cv.py", line 20, in
from lynx.models.defaults import default_cv_file
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/models/defaults.py", line 32, in
default_input_rules = build_input_rules(app_cfg_info["input_rules"])
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/utils/params_loader.py", line 111, in build_input_rules
temp_rules = InputRules(f, logger)
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/models/rules.py", line 61, in init
self.rules = self.build()
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/models/rules.py", line 262, in build
sum_rules = self.replace_refs(sum_rules)
File "/Users/ilyesabdelhamid/Documents/Lipotype/Lipid_Net_Building/LINEX2/LipidLynxX/lynx/models/rules.py", line 144, in replace_refs
replaced_pattern = re.sub(
File "/Users/ilyesabdelhamid/opt/anaconda3/envs/envlynx/lib/python3.9/site-packages/regex/regex.py", line 278, in sub
return pat.sub(repl, string, count, pos, endpos, concurrent, timeout)
File "/Users/ilyesabdelhamid/opt/anaconda3/envs/envlynx/lib/python3.9/site-packages/regex/regex.py", line 710, in _compile_replacement_helper
is_group, items = _compile_replacement(source, pattern, is_unicode)
File "/Users/ilyesabdelhamid/opt/anaconda3/envs/envlynx/lib/python3.9/site-packages/regex/_regex_core.py", line 1737, in _compile_replacement
raise error("bad escape \%s" % ch, source.string, source.pos)
regex._regex_core.error: bad escape \s at position 37

I tried with different versions of python (3.7.13 and 3.9) but same issue.

Thank you in advance for your help.

Sincerely,
Ilyes

Readme fatal issue[Bug]

Describe the bug
After following instruction to install LipidLynxX in the local machine(Ubuntu 18.04), I met error:

ImportError: cannot import name 'Literal' from 'typing'

To Reproduce
Steps to reproduce the behavior:
After running the main script: python LipidLynxX.py, you will get the error.

Expected Fixed Method
Change the code in this step:

Now you can create a virtual environment for LipidLynxX. For Windows users, please use the Anaconda Prompt instead of Commandline Pront or Power Shell here a virtual environment named envlynx is created. You might have to type y for enter to confirm the creation of this virtual environment.

conda create -n envlynx python=3.7

to this code
conda create -n envlynx python=3.8

Additional context
Why cause this? Because the python 3.7 do not support typing.Literal. See the link for details.

Hope you fix the Readme soon!

LipidLynxX in a docker environment

Docker installation for LipidLynX

Many webtools run nowadays in a docker environment, to simplify the installation and maintaining process.
Maybe a dockerfile & instructions can be included in the repository.

Here are instructions I made, how to run the app in a docker container:

Steps

Clone LipidLynxX

git clone --depth=50 --branch=master https://github.com/SysMedOs/LipidLynxX.git LipidLynxX

Modify Configuration

Change the app_url variable in the file LipidLynxX/lynx/config.ini to 0.0.0.0

Build Docker container

sudo docker build -t lipidlynx .

Run the image

sudo docker run -p 127.0.0.1:5000:1399 lipidlynx

Access LipidLynxX

open http://127.0.0.1:5000 in your webbrowser

Dockerfile

FROM python:3.7-buster

COPY . .

WORKDIR /LipidLynxX
RUN pip install -r requirements.txt

EXPOSE 1399

# Important In the file LipidLynxX/lynx/config.ini, the app_url has to be set to 0.0.0.0 !
CMD ["python", "LipidLynxX.py"]

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.