Giter VIP home page Giter VIP logo

carveme's People

Contributors

benjasanchez avatar cdanielmachado avatar matthiaskoenig avatar mmundy42 avatar silvtal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

carveme's Issues

EnvironmentError: Solver 'cplex' not available

Hi cdanielmachado

I have the same issue like #14, when I wrote:

python -c 'import cplex'

I have:

mars@mars:~$ python -c 'import cplex'
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named cplex

Now, I installed cplex into
/opt/ibm/ILOG/CPLEX_Studio_Community128/cplex/bin/x86-64_linux/cplex

I used:
sudo ln -s /opt/ibm/ILOG/CPLEX_Studio_Community128/cplex/bin/x86-64_linux/cplex /usr/local/bin/cplex

But I have the same problem.

What am I doing wrong?
Thank you in advance

MARS

Gapfill fails to load sbml: VMH models

Converted VMH (https://www.vmh.life) matlab models(The xml ones have extra metabolite identifiers) into mostly bigg compliant identifiers except when there was no metabolite equivalent. I try gap filling on custom media using the gapfill carveme because, faster and considers entire bigg universe and Cobrapy's gapfilling is not as good and reports infeasible if the search space is big, but will gapfill if you give a targetted set of reactions you know contains the solution.
Anyway I am unable to load the model with --fbc2 or --cobra. (gapfill fails while loading, Everything however works without a hitch on embl gems created using carveme)
I might have made an error with the parsing(converting agora matlab to bigg sbml), posting here incase anyone has some specific insights into the issue or has faced something similar can help me out.

When I use --fbc2

Loading model...
Traceback (most recent call last):
File "/usr/local/bin/gapfill", line 118, in
verbose=args.verbose)
File "/usr/local/bin/gapfill", line 19, in main
model = load_cbmodel(inputfile, flavor=flavor)
File "/usr/local/lib/python3.6/dist-packages/framed/io/sbml.py", line 146, in load_cbmodel
load_gprs=load_gprs, load_metadata=load_metadata)
File "/usr/local/lib/python3.6/dist-packages/framed/io/sbml.py", line 104, in load_sbml_model
load_gprs=load_gprs, load_metadata=load_metadata)
File "/usr/local/lib/python3.6/dist-packages/framed/io/sbml.py", line 315, in _load_cbmodel
_load_fbc2_bounds(sbml_model, model)
File "/usr/local/lib/python3.6/dist-packages/framed/io/sbml.py", line 436, in _load_fbc2_bounds
model.set_flux_bounds(reaction.getId(), params[lb], params[ub])
KeyError: ''

When i use --cobra

Loading model...
Traceback (most recent call last):
File "/usr/local/bin/gapfill", line 118, in
verbose=args.verbose)
File "/usr/local/bin/gapfill", line 19, in main
model = load_cbmodel(inputfile, flavor=flavor)
File "/usr/local/lib/python3.6/dist-packages/framed/io/sbml.py", line 148, in load_cbmodel
fix_cb_model(model, flavor=flavor)
File "/usr/local/lib/python3.6/dist-packages/framed/model/fixes.py", line 24, in fix_cb_model
default_fixes(model)
File "/usr/local/lib/python3.6/dist-packages/framed/model/fixes.py", line 36, in default_fixes
clean_bounds(model)
File "/usr/local/lib/python3.6/dist-packages/framed/model/fixes.py", line 104, in clean_bounds
if reaction.lb <= -threshold:
TypeError: '<=' not supported between instances of 'NoneType' and 'int'

Attaching the AGORA1.03 matlab model converted to sbml
cobrapy ver0.14.2, carveme ver1.2.1, framed ver0.5.1
Abiotrophia_defectiva_ATCC_49176.xml.txt

Thanks in advance

TypeError: not a list

Hello,

I have been using Carveme for a long time now..but I tried to install and run it on new laptop and its giving me error

File "C:\Users\xxxxx\AppData\Local\Continuum\anaconda3\lib\site-packages\cplex_internal_pycplex.py", line 1785, in CPXXnewcols
return _pycplex_platform.CPXXnewcols(env, lp, ccnt, py_obj, py_lb, py_ub, xctype, colname)
TypeError: not a list

Script runs fine until
Reported 23677 pairwise alignments, 24092 HSPs.
2345 queries aligned.

I am using CPLEX 12.8 version and python 3.7.

Thanks

Convert BiGG to EC numbers

Dear Daniel,

I stumbled upon this sentence in the CarveMe publication:

"However, when comparing the total coverage of unique EC
numbers, one can observe that BiGG lags behind modelSEED and KEGG."

I was wondering how you converted BiGG Ids to EC numbers. We have tried to convert BiGG to EC numbers via MetaNetX Ids but this way, we were only ably to convert about 25% of the BiGG reactions.

Really interested how you did it! :-)

Kind regards,

Carina

CPLEX Optimizer is not available for free for academia

I tried following the links given in the docs but had to find out that IBM does not offer their academic deal for the CPLEX Optimizer software anymore. I asked them for sponsoring for my work but since this is crucial for CarveMe to run, it should be indicated in the README.

SyntaxError: unqualified exec is not allowed in function 'get_ode'

Carveme installed fine with no errors, however when I run it the following occurs;

Command; carve genome.faa --output genome.model.xml

Traceback (most recent call last):
File "/usr/local/bin/carve", line 4, in
from carveme import config, project_dir
File "/usr/local/lib/python2.7/dist-packages/carveme/init.py", line 5, in
from framed import set_default_solver, set_default_parameter, Parameter
File "/usr/local/lib/python2.7/dist-packages/framed/init.py", line 14, in
from .io.sbml import load_sbml_model, load_cbmodel, load_odemodel, save_cbmodel, save_sbml_model
File "/usr/local/lib/python2.7/dist-packages/framed/io/sbml.py", line 12, in
from ..model.odemodel import ODEModel
File "/usr/local/lib/python2.7/dist-packages/framed/model/odemodel.py", line 208
exec('from math import log', globals())
SyntaxError: unqualified exec is not allowed in function 'get_ode' it contains a nested function with free variables

Any idea how to solve this error? Python version is 2.7.6

--split-pool (not an issue, just a question)

Greetings Daniel,

I was wondering if you could school me a bit on the specifics of --no-community-biomass, --split-pool, and --init.

As I understand it: a common biomass objective function is output during a merge and thus during simulation they will grow at the same rate; while the --no-community-biomass option allows for species growth a different rates during simulations. But then, the carveme docs it says that with the --split-pool option "...simulation results are the same...", the same as the default output, or the no-community-biomass option?

If i use --init and --split-pool, are the metabolites in the chosen medium what goes in the 'pool'?

No header in the tsv file produced by carve

Carve produces a tsv file where there is a link to a BIGG model and, I guess, Diamond scores. It would be great to add a header to this file to help the curation of the reactions and know which models provide them. Awainting this enhancement, could you give the meanings of these columns ?

Choose Gurobi instead of Cplex

Hi,
I'm trying to run CarveMe with Gurobi, i cannot find information about it the documentation.
I think i have to specify the solver in the config.cfg file, but are there other parameters to specify/change ? Do you have feedback about Gurobi use ?
Thanks

Eukaryotic model

Hi,

I know that the original paper states that Eukaryote universal model isn't yet supported. Has there been any effort in building one recently? if not, where can I find the procedure to build a universal model for, say, yeast strains?
Thanks!

carveme archaea models

I am trying to generate an archaea model starting from Methanosarcina barkeri genome but it doesn't seem to work as I get this error message.

The input genome did not match sufficient genes/reactions in the database.

What should I do? I tried these commands:

carve --dna methanosarcina_barkeri.fasta -u archaea --fbc2 -o carve_methanosarcina_barkeri.xml
carve --dna methanosarcina_barkeri.fasta -o carve_methanosarcina_barkeri.xml
carve --dna methanosarcina_barkeri.fasta -u archaea --fbc2 -o carve_methanosarcina_barkeri.xml

Thank's in advance,
Arianna

FBA on Community Models VS Individual Model

Greetings Daniel,

When I run FBA (cobrapy) on a 2-membered community GEM, I notice that the objective value for the community is nothing more than the sum of the individual FBA values of the two GEMs used to create the SyntComm model. I was under the impression that the --no-community-biomass option would produce simulations that allow each member to grow at a different rates, ultimately allowing the simulation of competition. Was I incorrect in my assumption, or am I missing something critical?

It might be noteworthy to point out the following:
Individual Strain GEMs were made as follows:
carve --dna bug1.fna --fbc2 -o gem1.xml

merged comms as follows:
merge_community gem1.xml gem2.xml --no-community-biomass --split-pool --fbc2 -o gem1_gem2.xml

gem1_fba_value = x
gem2_fba_value = y
gem1_gem2_fba_value = x+y

ImportError: No module named _tkinter

I've installed CPLEX, CPLEX python api, and diamond.
I've then installed carveme using pip.

When running carveme on a single genome I get the following error:

Traceback (most recent call last):
  File "/home/adilavy/.linuxbrew/bin/carve", line 4, in <module>
   from carveme import config, project_dir
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/carveme/__init__.py", line 5, in <module>
    from framed import set_default_solver, set_default_parameter, Parameter
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/framed/__init__.py", line 6, in <module>
    from .cobra.phaseplane import PhPP
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/framed/cobra/phaseplane.py", line 16, in <module>
    import matplotlib.pyplot as plt
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 4, in <module>
    from . import tkagg  # Paint image to Tk photo blitter extension.
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/matplotlib/backends/tkagg.py", line 5, in <module>
    from six.moves import tkinter as Tk
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/six.py", line 203, in load_module
    mod = mod._resolve()
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/site-packages/six.py", line 82, in _import_module
    __import__(name)
  File "/home/adilavy/.linuxbrew/Cellar/python@2/2.7.15_1/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter

warning about the charge number of metabolites

Hi,
I'm getting a list of warnings every time I import a model created with carve me. This is how they look like:
cobra/io/sbml.py:170 UserWarning: charge of o2_c is not a number (0;-1)

Do you know if this is something important that can affect simulations?

merge_community function producing error

Hi

I had created several models using following workflow

carve Enterococcus_faecium_EF2_pro --fbc2 -o Enterococcus_faecium_EF2.xml

then i tried to merge them, to create a community model, but it produced the following error

python /home/naseer/Desktop/Metabolic_Modelling/John_gut/proteins/Merge_community.py *.xml --no-community-biomass
/root/miniconda2/lib/python2.7/site-packages/framed/model/cbmodel.py:366: UserWarning: No biomass reaction detected
warnings.warn(w, UserWarning)
Traceback (most recent call last):
File "/home/naseer/Desktop/Metabolic_Modelling/John_gut/proteins/Merge_community.py", line 91, in
outputfile=args.output)
File "/home/naseer/Desktop/Metabolic_Modelling/John_gut/proteins/Merge_community.py", line 29, in main
merged = community.generate_merged_model()
File "/root/miniconda2/lib/python2.7/site-packages/framed/community/model.py", line 281, in generate_merged_model
raise RuntimeError("Biomass reaction not found in models: {}".format("', '".join(models_missing_biomass)))
RuntimeError: Biomass reaction not found in models: Porphyromonas_asaccharolytica', 'Porphyromonas_bennonis', 'Ruminococcus_torques', 'Streptococcus_anginosus', 'Streptococcus_salivarius

carveme_init fails with "Connection reset by peer" error

Problem description

I'm following the instructions to install carveme and the carveme_init script fails with a "Connection reset by peer" error.

I worked around the problem by manually downloading the files listed in the downloads dictionary in the carveme_init script using the wget command.

Actual output

$ carveme_init
Downloading data/input/genbank_assembly_all.tsv.gz
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/carveme_init", line 28, in <module>
    urllib.urlretrieve(file_url, outputfile)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 98, in urlretrieve
    return opener.retrieve(url, filename, reporthook, data)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 245, in retrieve
    fp = self.open(url, data)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 213, in open
    return getattr(self, name)(url)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 443, in open_https
    h.endheaders(data)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1038, in endheaders
    self._send_output(message_body)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 882, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 844, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1263, in connect
    server_hostname=server_hostname)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 363, in wrap_socket
    _context=self)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 611, in __init__
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 840, in do_handshake
    self._sslobj.do_handshake()
IOError: [Errno socket error] [Errno 54] Connection reset by peer

Versions

System info: OS Darwin OS-release 16.7.0 Python 2.7.13 Package

$ pip show carveme pandas framed
Name: carveme
Version: 0.1.4
Summary: CarveMe: automated metabolic model reconstruction
Home-page: https://github.com/cdanielmachado/carveme
Author: Daniel Machado, Sergej Andrejev
Author-email: [email protected]
License: Apache Software License 2.0
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: pandas, framed
---
Name: pandas
Version: 0.20.3
Summary: Powerful data structures for data analysis, time series,and statistics
Home-page: http://pandas.pydata.org
Author: The PyData Development Team
Author-email: [email protected]
License: BSD
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: numpy, python-dateutil, pytz
---
Name: framed
Version: 0.3.5
Summary: framed - metabolic modeling for python
Home-page: https://github.com/cdanielmachado/framed
Author: Daniel Machado
Author-email: [email protected]
License: Apache License Version 2.0
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: matplotlib, sympy, python-libsbml, scipy, numpy

Running CarveMe on HPC cluster

Greetings,

I noticed that when trying to do a batch job over our cluster like:

bsub -q queue carve -r --dna ./data/input_*.fna -o ./output/

when queue = a cluster with limits (e.g. memory, thread, processes) carveme does not obey the limits imposed and executes too many requests (sorry my lingo in this field is lacking) and the entire job is killed by the management system.

Errors look like this:

Your job looked like:

------------------------------------------------------------
# LSBATCH: User input
carve -r -v --dna ./assemblies/LjRoot16.fna ./assemblies/LjRoot160.fna ./assemblies/LjRoot161.fna 
./assemblies/LjRoot162.fna ./assemblies/LjRoot163.fna ./assemblies/LjRoot164.fna ./assemblies 
/LjRoot165.fna ./assemblies/LjRoot166.fna ./assemblies/LjRoot167.fna ./assemblies/LjRoot168.fna 
./assemblies/LjRoot169.fna -o ./carve_output/
------------------------------------------------------------

TERM_THREADLIMIT: job killed after reaching LSF thread limit.
Exited with exit code 143.

Resource usage summary:

    CPU time   :      8.07 sec.
    Max Memory :      5719 MB
    Max Swap   :    422528 MB

    Max Processes  :       142
    Max Threads    :       744

IBM Says the following about the code:

Exit codes less than 128 relate to application exit values, while exit codes greater than 128 relate to system signal exit values (LSF adds 128 to system values).

I thus talked to IT and they said that it was probably due to the carveme not supporting LSF/carvme communication... is this something that is planned on a future release... just curious

p.s. I also tried running the job that produced the above error on my Lenovo P910 (8Gb RAM, 8 Gb swap) running Ubuntu... is this also an example of carveme not taking into consideration the limits of my computer... and is that something that can be fixed and contributed to?

Best regards,

Ricardo Martinez

carveme_init not found

Dear author,

When I install CARVEME for windows (pip install carveme), the initialitation script carveme_init does not appear, therefore I can not try your program. Looking at your github files, carveme_init appears in your script folder. The point is that the script folder is not generated during the pip installation. What I am doing wrong?
I am running python 3.6.5 with Anaconda3
These are the installed files and folders: init.py pycache config.cfg data reconstruction universe

Best,
Fair

PS. framed and pandas are also not installed.

TypeError: not a list, when run carve

Thanks for providing this useful tool!
After I installed carveme following the instructions, I ran carve --dna Bin.10.gene.fna -o bin10.xml.
Then, I got an error as below:

Traceback (most recent call last):
File "/mdata/lijl/software/miniconda3/envs/carve/bin/carve", line 364, in
ref_score=args.reference_score
File "/mdata/lijl/software/miniconda3/envs/carve/bin/carve", line 198, in main
debug_output=debug_output)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/carveme/reconstruction/carving.py", line 236, in carve_model
ref_reactions=ref_reactions, ref_score=ref_score, debug_output=debug_output)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/carveme/reconstruction/carving.py", line 123, in minmax_reduction
solver.update()
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/framed/solvers/cplex_interface.py", line 206, in update
self.add_variables(var_ids, lbs, ubs, vartypes)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/framed/solvers/cplex_interface.py", line 105, in add_variables
self.problem.variables.add(names=var_ids, lb=lbs, ub=ubs, types=vartypes)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/cplex/_internal/_subinterfaces.py", line 456, in add
obj, lb, ub, types, names, columns)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/cplex/_internal/_baseinterface.py", line 41, in _add_iter
addfun(*args, **kwargs)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/cplex/_internal/_subinterfaces.py", line 378, in _add
types, names)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/cplex/_internal/_procedural.py", line 967, in newcols
xctype, colname)
File "/mdata/lijl/software/miniconda3/envs/carve/lib/python3.6/site-packages/cplex/_internal/_pycplex.py", line 1785, in CPXXnewcols
return _pycplex_platform.CPXXnewcols(env, lp, ccnt, py_obj, py_lb, py_ub, xctype, colname)
TypeError: not a list

My python packages' version are as belows:

$ pip list
Package Version
carveme 1.2.2
certifi 2019.11.28
chardet 3.0.4
cplex 12.10.0.0
cycler 0.10.0
docloud 1.0.375
docplex 2.11.176
enum34 1.1.6
framed 0.5.1
future 0.18.2
idna 2.8
kiwisolver 1.1.0
matplotlib 3.1.2
mpmath 1.1.0
numpy 1.17.4
pandas 0.25.3
pip 19.3.1
pyparsing 2.4.5
python-dateutil 2.8.1
python-libsbml 5.18.0
pytz 2019.3
requests 2.22.0
scipy 1.4.0
setuptools 42.0.2.post20191201
six 1.13.0
sympy 1.5
urllib3 1.25.7
wheel 0.33.6

Could you help me to solve this problem?

Thanks so much.
Pandeng

Parallelization

Is there a way to restrict parallelization to n number of cores, rather than utilize all available cores.

Construction universal model CM

Hi Daniel,

As mentioned before, I am currently in the process of comparing pipelines to construct metabolic models. In order to perform a fair benchmark, I want to export the universal model of CarveMe and add GPRs to it.

I have two questions regarding the CarveMe universal model construction: which models are considered and which genes go into the universal model? In the paper it is stated that reactions and metabolites associated with non-bacterial compartments are removed. However, if I look in the notesfield of reactions and metabolites, it does mention yeast and other non-bacterial models.

The second question is how the BiGG_GPRS file and the BiGG fasta file are linked? For example gene 1503_AT1 from RECON1 is in the GPRS file but I cannot find it in the fasta file. Same goes for ecoli gene E2348C_RS01240. Could you elaborate on this?

Thanks in advance!

Database was built with a different version of Diamond

Hi,

Thanks for this work which looks very promising !
I tried carve but it returns :
Database was built with a different version of Diamond as is incompatible.

How to solve this issue without installing a different version of Diamond (I tried it on a server) ?

Regards,
Ludo

Issue installing cplex

Hello,

When I try running "carve my.faa" I get the following:

Traceback (most recent call last):
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/bin/carve", line 343, in
hard=args.hard
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/bin/carve", line 183, in main
debug_output=debug_output)
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/lib/python3.6/site-packages/carveme/reconstruction/carving.py", line 227, in carve_model
debug_output=debug_output)
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/lib/python3.6/site-packages/carveme/reconstruction/carving.py", line 171, in minmax_reduction
solution = solver.solve()
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/lib/python3.6/site-packages/framed/solvers/cplex_interface.py", line 308, in solve
problem.solve()
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/lib/python3.6/site-packages/cplex/init.py", line 1099, in solve
_proc.mipopt(self._env._e, self._lp)
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/lib/python3.6/site-packages/cplex/_internal/_procedural.py", line 629, in mipopt
check_status(env, status)
File "/c3se/users/zorrilla/Hebbe/.conda/envs/snakemake_env/lib/python3.6/site-packages/cplex/_internal/_procedural.py", line 303, in call
raise CplexSolverError(error_string, env, status)
cplex.exceptions.errors.CplexSolverError: CPLEX Error 1016: Promotional version. Problem size limits exceeded.

From what I can tell, it looks like maybe I have not installed cplex properly? I tried using both pip and conda, but I get the same error messages telling me that I have a promotional version. I followed the installation instructions on the readthedocs page, and the IBM page it references. However, I cannot find the "setup.py" file, nor the path required to set PYTHONPATH in order to set up the python API, because I am working on a server/cluster. Any advice on how I can fix this issue?

Regards,
Francisco

Get an error with merge_community

hello,

i'll try to merge 3 model get in CarveMe :

merge_community Bifidobacterium_longum_NCC2705.xml Bacteroides_uniformis_ATCC_8492.xml Lactobacillus_iners_DSM_13335.xml --no-community-biomass -o community.xml

but i got this error :

File "C:\Users\alexh\Anaconda3\lib\site-packages\framed\model\fixes.py", line 106, in clean_bounds
if reaction.ub >= threshold:
TypeError: '>=' not supported between instances of 'NoneType' and 'int'

have you any idea why ?
thank you for your help

A

Failed to run diamond

When running:
carve genome.faa
I get this error :
Failed to run diamond.
However, I have diamond installed :

which diamond
/opt/bin/bio//diamond

When executing

diamond --help
diamond v0.8.34.96 | by Benjamin Buchfink <[email protected]>
Check http://github.com/bbuchfink/diamond for updates.
Syntax: diamond COMMAND [OPTIONS]
...

I've also tried a newer version of diamond (v0.9.24.125).
I tested python -c 'import subprocess; subprocess.call(["diamond", "help"])' and it seems to work
just fine

EnvironmentError: Solver 'cplex' not available.

I just installed CarveMe and am trying to build a draft reconstruction from an annotated genome I have. When executing the program, however, I get the following lines:

u-172-c057:~ username$ carve /User/Documents/filename.gff Traceback (most recent call last): File "/usr/local/bin/carve", line 3, in <module> from carveme import config, project_dir File "/usr/local/lib/python2.7/site-packages/carveme/__init__.py", line 12, in <module> set_default_solver(config.get('solver', 'default_solver')) File "/usr/local/lib/python2.7/site-packages/framed/solvers/__init__.py", line 61, in set_default_solver raise EnvironmentError("Solver '{}' not available.".format(solvername)) EnvironmentError: Solver 'cplex' not available.

What am I doing wrong?
Thank you in advance
Silvia

retreiving genbank file of universal model

Hi,

I am currently in the process of comparing pipelines to construct metabolic models. In order to perform a fair benchmark, I want to export the universal model and the corresponding genbank file. I managed to retrieve the sbml file and a "genbank_release_221.tsv" file, but not a genbank file.

How can I get the genbank file of the universal model? Thanks in advance!

Metabolite charge is in wrong format in exported SBML file

Problem description

After creating a model, I exported it to SBML and then loaded the model into cobrapy. The cobrapy.io.read_sbml_file() generated a warning for several metabolites because the charge value in the SBML file is invalid.

I think this is side effect of the BiGG universal database. When the same metabolite is in multiple BiGG models and the charge is different in the models, the BiGG universal database includes all of charges in the metabolite data. When that happens, it looks like carveme sets the metabolite charge to a string which is invalid SBML.

I'm not sure if there is a better way to handle these metabolites other than just using the first charge value when exporting to SBML.

Actual output

I built the model with this command:

$ carve --fbc2 --output bt.sbml bt.faa

And then loaded into cobrapy with this command:

>>> import cobra
>>> bt = cobra.io.read_sbml_model('bt.sbml')
cobra/io/sbml.py:170 UserWarning: charge of o2_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of 34dhpha_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of ACP_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of 4hphac_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of 4hphac_p is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of hphaccoa_c is not a number (0;-4)
cobra/io/sbml.py:170 UserWarning: charge of 5mthf_c is not a number (-2;-1)
cobra/io/sbml.py:170 UserWarning: charge of h2s_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of pydx5p_c is not a number (-3;-2)
cobra/io/sbml.py:170 UserWarning: charge of pac_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of imacp_c is not a number (-1;-2)
cobra/io/sbml.py:170 UserWarning: charge of bz_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of bz_e is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of cdigmp_c is not a number (0;-2)
cobra/io/sbml.py:170 UserWarning: charge of focytc_c is not a number (1;2)
cobra/io/sbml.py:170 UserWarning: charge of o2_e is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of dimp_c is not a number (-1;-2)
cobra/io/sbml.py:170 UserWarning: charge of forglu_c is not a number (0;-1;-2)
cobra/io/sbml.py:170 UserWarning: charge of gdptp_c is not a number (-7;-6)
cobra/io/sbml.py:170 UserWarning: charge of glutcoa_c is not a number (0;-5)
cobra/io/sbml.py:170 UserWarning: charge of h2s_e is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of 4hphac_e is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of prlp_c is not a number (-4;-3)
cobra/io/sbml.py:170 UserWarning: charge of indpyr_c is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of mmcoa__R_c is not a number (0;-5)
cobra/io/sbml.py:170 UserWarning: charge of pac_e is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of pac_p is not a number (0;-1)
cobra/io/sbml.py:170 UserWarning: charge of fpram_c is not a number (-2;-1)
cobra/io/sbml.py:170 UserWarning: charge of prfp_c is not a number (-4;-3)

For reference, this is the SBML for o2_c metabolite:

      <species id="M_o2_c" name="O2" compartment="C_c" boundaryCondition="false" constant="false">
        <notes>
          <html xmlns="http://www.w3.org/1999/xhtml">
            <p>CHARGE: 0;-1</p>
            <p>FORMULA: O2</p>
            <p>BioCyc: META:OXYGEN-MOLECULE</p>
            <p>CHEBI: CHEBI:10745;CHEBI:13416;CHEBI:15379;CHEBI:23833;CHEBI:25366;CHEBI:26689;CHEBI:27140;CHEBI:29097;CHEBI:29793;CHEBI:30491;CHEBI:44742;CHEBI:7860</p>
            <p>SEED Compound: cpd00007</p>
            <p>UniPathway Compound: UPC00007</p>
            <p>KEGG Compound: C00007;D00003</p>
            <p>BioPath Molecule: Oxygen</p>
            <p>MetaNetX (MNX) Chemical: MNXM4</p>
            <p>Reactome: 113533;113534;113535;113685;1236709;189461;29368;351593;352327;5668566</p>
            <p>Human Metabolome Database: HMDB01377</p>
          </html>
        </notes>
      </species>

failed in installing carveme

Hi Daniel!
I tried installing carveme on MacOS Mojave and Linux Zorinos but I failed.

Suggestions: a) maybe a subcommand to check if all dependencies are installed ( prokka and other Torsten Seeman commandline tools usually have the subcommand to check if all dependencies are installed)

b) anaconda recipe (please)

Here are my error messages:
Failed building wheel for python-libsbml


gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/miniconda3/include -arch x86_64 -/miniconda3/include -arch x86_64 -DBZIP2_STATIC -DHAVE_MEMMOVE -D_LIB -DUSE_EXPAT -DUSE_ZLIB -DUSE_BZ2 -DUSE_COMP -DUSE_QUAL -DUSE_FBC -DUSE_LAYOUT -DUSE_GROUPS -DUSE_MULTI -DUSE_RENDER -I./base// -I./base//sbml -I./base//sbml/compress -I./base//sbml/validator/constraints -I./base//sbml/packages/comp/validator -I./base//sbml/packages/comp/validator/constraints -I. -I/miniconda3/include/python3.6m -c ./base/libsbml_wrap.cpp -o build/temp.macosx-10.7-x86_64-3.6/./base/libsbml_wrap.o
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
error: command 'gcc' failed with exit status 1

----------------------------------------

Command "miniconda3/bin/python -u -c "import setuptools, tokenize;file='/private/var/folders/s1/05bh_q_s15n3tdrqnn7r0ktr0000gn/T/pip-install-zi3dhml2/python-libsbml/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /private/var/folders/s1/05bh_q_s15n3tdrqnn7r0ktr0000gn/T/pip-record-g511jqr6/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/s1/05bh_q_s15n3tdrqnn7r0ktr0000gn/T/pip-install-zi3dhml2/python-libsbml/

--init M9 yields no output SOMETIMES

Greetings Daniel,

I have been creating some GEMs using carve in the following ways:

carve -r -v --dna ./*.fna --fbc2 -o ./output_dir i.e. NO defined medium
and
carve -r -v --dna ./*.fna --init M9 --fbc2 -o ./output_dir/
and
carve -r -v --dna ./*.fna --init OWNMEDIUM --fbc2 -o ./output_dir/

Of the 200+ assemblies I'm using, only 178 are able to generate an output... the discrepancy here seems to be that the sequences are just not found in the database or the .fna file contain too few sequences to create anything meaningful. This has prompted me to expect that carve will only output 178 drafts--no problem here for now.

However, the --init M9 option is only producing 166 drafts, while all the other --init [x] runs are producing the expected 178, even the one with no defined medium. Of note is the fact that the different sets of 178 GEMs are the same sets are the same (files not content), while the 166 set has 1 output more that the others do not have, yet it is missing 13 that the others have.

I get the following output:
Running diamond... diamond blastx -d /home/martinez/anaconda3/lib/python3.6/site-packages/carveme/data/input/bigg_proteins.dmnd -q /home/martinez/projects/data/lj_sphere/assemblies/LjNodule209.fna -o /home/martinez/projects/data/lj_sphere/assemblies/LjNodule209.tsv --more-sensitive --top 10 Loading universe model... Loading media library... Scoring reactions... Reconstructing a single model Done.

I'm having trouble deducing what this can be attributed to especially since the default settings also produce the same 178 GEMs, and verbose mode doesn't seem to produce an issue. Would you happen to know what might be going awry?

Thanks for your help.

Best regards,

Ricardo Martinez

Problems installing cplex for carveme

Goodmorning everyone!
I am trying to install cplex and carveme but I get the following error message. I am using anaconda3 with python 3.7. I think the problem is that cplex 12.8.0.0 doesn't work with my Python version but neither I manage to install an other cplex version nor I manage to install carveme on python 2.7.

Any suggestions?

Best regards,
Arianna


Exception Traceback (most recent call last)
in ()
----> 1 import carveme

/mnt/data_SSD/anaconda3/lib/python3.7/site-packages/carveme/init.py in ()
3 import os
4 from configparser import ConfigParser
----> 5 from framed import set_default_solver, set_default_parameter, Parameter
6
7 version = '1.2.1'

/mnt/data_SSD/anaconda3/lib/python3.7/site-packages/framed/init.py in ()
2 version = '0.5.1'
3
----> 4 from .cobra.deletion import reaction_deletion, gene_deletion
5 from .cobra.essentiality import essential_genes, essential_reactions
6 from .cobra.phaseplane import PhPP

/mnt/data_SSD/anaconda3/lib/python3.7/site-packages/framed/cobra/deletion.py in ()
6 from future import absolute_import
7
----> 8 from .simulation import FBA, pFBA, MOMA, lMOMA, ROOM
9
10

/mnt/data_SSD/anaconda3/lib/python3.7/site-packages/framed/cobra/simulation.py in ()
5 """
6
----> 7 from ..solvers import solver_instance
8 from ..solvers.solver import Status, VarType
9 from warnings import warn

/mnt/data_SSD/anaconda3/lib/python3.7/site-packages/framed/solvers/init.py in ()
17
18 try:
---> 19 from .cplex_interface import CplexSolver
20
21 solvers['cplex'] = CplexSolver

/mnt/data_SSD/anaconda3/lib/python3.7/site-packages/framed/solvers/cplex_interface.py in ()
10 from collections import OrderedDict, Iterable
11 from .solver import Solver, Solution, Status, VarType, Parameter, default_parameters
---> 12 from cplex import Cplex, infinity, SparsePair
13 import sys
14

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/init.py in ()
41 import weakref
42
---> 43 from .aborter import Aborter
44 from . import _internal
45 from . import callbacks

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/aborter.py in ()
11 # --------------------------------------------------------------------------
12 """Aborter API"""
---> 13 from ._internal import _procedural as _proc
14
15

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/_internal/init.py in ()
19
20 from . import _aux_functions
---> 21 from . import _list_array_utils
22 from . import _ostream
23 from . import _procedural

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/_internal/_list_array_utils.py in ()
12
13 from contextlib import contextmanager
---> 14 from . import _pycplex as CPX
15 from ..six.moves import range
16

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/_internal/_pycplex.py in ()
26 fp.close()
27 return _mod
---> 28 _pycplex_platform = swig_import_helper()
29 del swig_import_helper
30 else:

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/_internal/_pycplex.py in swig_import_helper()
22 if fp is not None:
23 try:
---> 24 _mod = imp.load_module('_pycplex_platform', fp, pathname, description)
25 finally:
26 fp.close()

/mnt/data_SSD/anaconda3/lib/python3.7/imp.py in load_module(name, file, filename, details)
233 raise ValueError(msg)
234 elif type_ == PY_SOURCE:
--> 235 return load_source(name, filename, file)
236 elif type_ == PY_COMPILED:
237 return load_compiled(name, filename, file)

/mnt/data_SSD/anaconda3/lib/python3.7/imp.py in load_source(name, pathname, file)
170 module = _exec(spec, sys.modules[name])
171 else:
--> 172 module = _load(spec)
173 # To allow reloading to potentially work, use a non-hacked loader which
174 # won't rely on a now-closed file object.

/mnt/data_SSD/anaconda3/opt/ibm/ILOG/CPLEX_Studio128/cplex/python/3.6/x86-64_linux/cplex/_internal/_pycplex_platform.py in ()
25 from cplex._internal.py36_cplex1280 import *
26 else:
---> 27 raise Exception(ERROR_STRING)
28 else:
29 raise Exception("The CPLEX Python API is not supported on this platform.")

Exception: CPLEX 12.8.0.0 is not compatible with this version of Python.

observed issues with omission of '--dna ,-o' option in command

Greetings,

I noticed recently that when failing or incorrectly denoting the options '-o' '--dna', like:
(--dna parameter omitted)
carve -r -v -d ./assemblies/INPUT.fna -o ./carve_output/output.xml

I obtain an output named INPUT.tsv file with information like

contig_4 iSSON_1240.SSON_1864 60.3 884 343 6 137418 140063 12 889 1.3e-307 1061.6
contig_4 iECH74115_1262.ECH74115_1910 60.0 883 345 6 137421 140063 13 889 5.1e-307 1059.7

and a folder named "output.xml", what values does this output represent?

The following error was also observed (actual name of files below):

Running diamond...
diamond blastp -d /home/martinez/anaconda3/lib/python3.6/site-packages/carveme/data/input/bigg_proteins.dmnd -q ./assemblies/LjNodule210.fna -o ./assemblies/LjNodule210.tsv --more-sensitive --top 10
Failed to run diamond.

The following (-o paremeter omitted):

carve -r -v -d --dna ./assemblies/INPUT.fna ./carve_output/output.xml

produces both a INPUT.tsv file and INPUT.xml file but not an output.xml file (i.e. name is uchanged) unsure about the actual output itself, as i haven't checked the paremeters effect on the actual output content, but the following error was observed:

Error: Error opening file ./carve_output/without_o.xml
Running diamond...
diamond blastx -d /home/martinez/anaconda3/lib/python3.6/site-packages/carveme/data/input/bigg_proteins.dmnd -q ./assemblies/LjNodule211.fna -o ./assemblies/LjNodule211.tsv --more-sensitive --top 10
Loading universe model...
Scoring reactions...
Reconstructing a single model
Running diamond...
diamond blastx -d /home/martinez/anaconda3/lib/python3.6/site-packages/carveme/data/input/bigg_proteins.dmnd -q ./carve_output/without_o.xml -o ./carve_output/without_o.tsv --more-sensitive --top 10
Failed to run diamond.
Done.

The following command (both parameters omitted):

carve -r -v -d ./assemblies/INPUT.fna ./carve_output/output.xml

produces only a INPUT.tsv file and the following error:

Error: Error opening file ./carve_output/without_both.xml
Running diamond...
diamond blastp -d /home/martinez/anaconda3/lib/python3.6/site-packages/carveme/data/input/bigg_proteins.dmnd -q ./carve_output/without_both.xml -o ./carve_output/without_both.tsv --more-sensitive --top 10
Failed to run diamond.
Running diamond...
diamond blastp -d /home/martinez/anaconda3/lib/python3.6/site-packages/carveme/data/input/bigg_proteins.dmnd -q ./assemblies/LjNodule212.fna -o ./assemblies/LjNodule212.tsv --more-sensitive --top 10
Failed to run diamond.

The solution is definitely to state the options in the command, but I figured someone could overcome a headache by knowing this much ;)

Note none of the outputs go to the actual "carve_output" folder,

Mysterious warnings/error when carving some genomes

Hi Daniel,

I am trying to carve around 3000 genomes I obtained from a complete metagenomics dataset.
I was able to carve most of them, but the last ~150 are giving me a hard time.
Below is the output log file of one such failure. The warnings were also present in the logs of models that were able to be carved, and obtaining a new matplotlibrc file as suggested by the warnings did not help.
It looks like the .tsv file is successfully created, but no .xml file is generated.
Also, I tried playing around with the number of cores allocated, but it looks like 2 cores is sufficient.

Any idea what the problem could be?

Best wishes,
Francisco

[Mon Feb 11 13:26:54 2019] Building DAG of jobs...
[Mon Feb 11 13:26:54 2019] Using shell: /usr/bin/bash
[Mon Feb 11 13:26:54 2019] Provided cores: 2
[Mon Feb 11 13:26:54 2019] Rules claiming more threads will be scaled down.
[Mon Feb 11 13:26:54 2019] Job counts:
[Mon Feb 11 13:26:54 2019] 	count	jobs
[Mon Feb 11 13:26:54 2019] 	1	carveme
[Mon Feb 11 13:26:54 2019] 	1

[Mon Feb 11 13:26:54 2019] rule carveme:
[Mon Feb 11 13:26:54 2019]     input: bins_organized/ERR260149_228.fa
[Mon Feb 11 13:26:54 2019]     output: carvemeOut/ERR260149_228.xml
[Mon Feb 11 13:26:54 2019]     jobid: 0
[Mon Feb 11 13:26:54 2019]     wildcards: fasta=ERR260149_228

/c3se/users/zorrilla/Hebbe/.conda/envs/concoct_env/lib/python2.7/site-packages/matplotlib/colors.py:298: MatplotlibDeprecationWarning: The is_string_like function was deprecated in version 2.1.
  if cbook.is_string_like(arg):
/c3se/users/zorrilla/Hebbe/.conda/envs/concoct_env/lib/python2.7/site-packages/matplotlib/colors.py:351: MatplotlibDeprecationWarning: The is_string_like function was deprecated in version 2.1.
  if not cbook.is_string_like(arg) and cbook.iterable(arg):
/c3se/users/zorrilla/Hebbe/.conda/envs/concoct_env/lib/python2.7/site-packages/matplotlib/colors.py:765: MatplotlibDeprecationWarning: The is_string_like function was deprecated in version 2.1.
  not cbook.is_string_like(colors[0]):

Bad key "hatch.linewidth" on line 38 in
/c3se/users/zorrilla/Hebbe/.conda/envs/concoct_env/lib/python2.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle.
You probably need to get an updated matplotlibrc file from
http://github.com/matplotlib/matplotlib/blob/master/matplotlibrc.template
or from the matplotlib source distribution

Bad key "xtick.top" on line 234 in
/c3se/users/zorrilla/Hebbe/.conda/envs/concoct_env/lib/python2.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle.
You probably need to get an updated matplotlibrc file from
http://github.com/matplotlib/matplotlib/blob/master/matplotlibrc.template
or from the matplotlib source distribution
/c3se/users/zorrilla/Hebbe/.conda/envs/concoct_env/lib/python2.7/site-packages/pandas/core/groupby/groupby.py:4315: FutureWarning: arrays to stack must be passed as a "sequence" type such as list or tuple. Support for non-sequence iterables such as generators is deprecated as of NumPy 1.16 and will raise an error in the future.
  stacked_values = np.vstack(map(np.asarray, values))
[Mon Feb 11 13:34:56 2019] Waiting at most 5 seconds for missing files.
[Mon Feb 11 13:35:01 2019] MissingOutputException in line 23 of /c3se/NOBACKUP/groups/c3-c3se605-17-8/projects_francisco/binning/metabolismPipe/Snakefile:
[Mon Feb 11 13:35:01 2019] Missing files after 5 seconds:
[Mon Feb 11 13:35:01 2019] carvemeOut/ERR260149_228.xml
[Mon Feb 11 13:35:01 2019] This might be due to filesystem latency. If that is the case, consider to increase the wait time with --latency-wait.
[Mon Feb 11 13:35:01 2019] Shutting down, this might take some time.
[Mon Feb 11 13:35:01 2019] Exiting because a job execution failed. Look above for error message
[Mon Feb 11 13:35:01 2019] Complete log: /c3se/NOBACKUP/groups/c3-c3se605-17-8/projects_francisco/binning/metabolismPipe/.snakemake/log/2019-02-11T132654.523552.snakemake.log


Is carve me avaiable for de novo assembled contigs from metagenomic data?

Hi, I just discovered this tool and find it very interesting.
I have whole genome metagenomic sequences from plant roots. I have assembled them into contigs. I used softwares like prokka/prodigal to do gene prediction. Can I use these genes (obviously from many many different bacterial mixed up together) for carveme and get the predicted pathways along with the abundance for those pathways?

Is carveme able to reconstruct genome scale models for fungies?

Reading the paper, the core reaction database is built upon BiGG models. Therefore, in principal carveme should be able to reconstruct genome-scale models for fungies or eukaryotes. However, the implementation has been done on the gut microbial community. So, it would be nice to know if it is possible to use carveme for reconstruction in eukaryotes and if there is any specific parameters needed to be used in doing so.

Thanks,

Amir

error while running on custom media

Hi
I am trying to run carveme on a custom media list , here is the error

carve genome.faa --gapfill TSB --mediadb mylibrary.tsv

Medium X not in database, ignored.
Medium Y not in database, ignored.
Medium Z not in database, ignored.

my library looks like this

medium description compound name
TSB Tryptone broth (anaerobic) ala__L L-Alanine
TSB Tryptone broth (anaerobic) cysi__L L Cystine C6H12N2O4S2
TSB Tryptone broth (anaerobic) his__L L-Histidine
TSB Tryptone broth (anaerobic) lys__L L-Lysine
TSB Tryptone broth (anaerobic) pro__L L-Proline
TSB Tryptone broth (anaerobic) trp__L L-Tryptophan
TSB Tryptone broth (anaerobic) arg__L L-Arginine
TSB Tryptone broth (anaerobic) ile__L L-Isoleucine
TSB Tryptone broth (anaerobic) met__L L-Methionine
TSB Tryptone broth (anaerobic) ser__L L-Serine
TSB Tryptone broth (anaerobic) tyr__L L-Tyrosine
TSB Tryptone broth (anaerobic) gly Glycine
TSB Tryptone broth (anaerobic) ile__L L-Isoleucine
TSB Tryptone broth (anaerobic) phe__L L-Phenylalanine
TSB Tryptone broth (anaerobic) thr__L L-Threonine
TSB Tryptone broth (anaerobic) val__L L-Valine
TSB Tryptone broth (anaerobic) glc__D D-Glucose
TSB Tryptone broth (anaerobic) na1 Sodium
TSB Tryptone broth (anaerobic) cl Chloride
TSB Tryptone broth (anaerobic) k Potassium

Please let me know how to correct this

Alternative universe curation

Dear Daniel,

Finally I am working regularly with Carveme and I would like to reconstruct an Alternative Universe for the bacterial genus Nitrospira since the gramm- universe is not enough in order to obtain a proper reconstruction (which is something expected, due to the life style reactions in this genus).

I would like to know which hints and recomendations can you provide before starting the manual curation for this universal model, since it is an intense time consuming work.

Best and thanks,
Fair.

Bioconda recipe

Do you think you can make a bioconda recipe? It is very straight forward and handles also the dependencies.. thanks

getting carveme to run

I've installed carveme using pip. I then realized that I did not install CPLEX so I've installed CPLEX and CPLEX python api. Diamond was pre-installed.

When I ran carveme I got an error saying that it cannot find cplex, so I used a solution from another issue report:
export PYTHONPATH=$PYTHONPATH:/local/CPLEX_Studio_Community128/cplex/python/2.7/x86-64_linux/
which is the path where CPLEX is found on my drive.
However, now when I run carveme, I get a carveme: command not found
I removed carveme with pip uninstall and re-installed it, but still get the same error.

any ideas how to solve this?

carve -r fails with "unrecognized arguments" error

Problem description

When the -r option is specified, the carve command fails with a "unrecognized arguments" error.

I have a fix. Are you willing to accept pull requests?

Actual output

$ carve -r ./*.faa
usage: carve [-h] [--dna | --egg | --refseq | --genbank]
             [--diamond-args DIAMOND_ARGS] [-r] [-o OUTPUT]
             [-u UNIVERSE | --universe-file UNIVERSE_FILE] [--cobra | --fbc2]
             [-n ENSEMBLE] [-g GAPFILL] [-i INIT] [--mediadb MEDIADB] [-v]
             INPUT
carve: error: unrecognized arguments: ./ec.faa ./ecs.faa ./fp.faa ./hp.faa ./kp.faa ./lp.faa ./st.faa ./sty.faa

Versions

$ pip show carveme pandas framed
Name: carveme
Version: 0.1.4
Summary: CarveMe: automated metabolic model reconstruction
Home-page: https://github.com/cdanielmachado/carveme
Author: Daniel Machado, Sergej Andrejev
Author-email: [email protected]
License: Apache Software License 2.0
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: pandas, framed
---
Name: pandas
Version: 0.20.3
Summary: Powerful data structures for data analysis, time series,and statistics
Home-page: http://pandas.pydata.org
Author: The PyData Development Team
Author-email: [email protected]
License: BSD
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: numpy, python-dateutil, pytz
---
Name: framed
Version: 0.3.5
Summary: framed - metabolic modeling for python
Home-page: https://github.com/cdanielmachado/framed
Author: Daniel Machado
Author-email: [email protected]
License: Apache License Version 2.0
Location: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires: matplotlib, sympy, python-libsbml, scipy, numpy

"Searching alignments... Failed to run diamond." then (from diamond)"Searching alignments... Illegal instruction: 4"

Hi, I'm trying to run carve but initially hit the error:
"Searching alignments... Failed to run diamond."

I then ran the specific diamond command:
diamond blastp -d /miniconda2/lib/python2.7/site-packages/carveme/data/input/bigg_proteins.dmnd -q PROKKA_08182019.faa -o PROKKA_08182019.tsv --more-sensitive --top 10

which resulted in the following error:
Searching alignments... Illegal instruction: 4

Thus, I know diamond is being found properly by carve. But something is happening within diamond to prevent alignment search.

Any help is appreciated - thanks!

p.s. I am attempting to run on this on macOSX - thus using the macOSX diamond installed using conda**

Annotations in the notes

Hi,
I was wondering why in the SBML output file many attributes of reactions and compound are written in the notes - would it maybe be a better idea to have them written as annotations?

Incorrect filepaths in carveme_init

Running carveme_init (after getting the "Database was built with a different version of Diamond" error) gave the following error:

Downloading data/input/refseq_release_84.tsv.gz
Traceback (most recent call last):
...
urllib.error.HTTPError: HTTP Error 404: Not Found

This was fixed after manually updating the paths in carveme_init to data/input/refseq_release_92.tsv.gz and data/input/genbank_release_230.tsv.gz. Carveme was installed using pip3.

Get pathways/subsystems

Most often in the models, reactions are classified into pathways or subsystems. It would be convenient to get this information in the SBML (or in a tabulated file) produced by carveme.

windows executables

Replace scripts with entry_points in setuptools to make windows-compatible executables.

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.