Coder Social home page Coder Social logo

modsim / fluxml Goto Github PK

View Code? Open in Web Editor NEW
9.0 11.0 6.0 2.03 MB

A Universal Modeling Language for Metabolic Flux Analysis

License: MIT License

Makefile 0.54% C++ 85.73% Python 8.41% Shell 0.07% M4 1.74% C 2.22% Perl 0.73% Yacc 0.52% HTML 0.04%
metabolic-engineering metabolic-models metabolic-network modeling-language specification-language metabolic-flux-analysis 13c-mfa

fluxml's People

Contributors

ants-on avatar csachs avatar gmat avatar mbeyss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fluxml's Issues

not helpful error message / needless strict element order

Parsing failed: cfg "XXX": error parsing measurement element: [unexpected extra content in element "model"]

This occurs if inside <configuration><measurement><model> either a non existing tag is introduced, or the order of tags is switched.

In the first case the error should explicitly mention the wrong element.
The second case should actually not be an error

missing Notation.inc file ?

Hi,
the compilation hits this :

data/Notation.cc:1105:10: fatal error: Notation.inc: No such file or directory
 #include "Notation.inc"

There's no file named like this in the repository. Is it missing ? Or a fie to rename ?
Tks for your help,

No time stamp is added for parameter measurements

For flux/pool (ratio) measurement groups no time stamp is added (getTimeStampSet returns an empty set). It would be better to add -1 to the set, because you can than generically get measurement data by iterating over the set. Right now, this works for all measurements but the parameter measurements.
Also, it does not make sense to even have such a set if it would supposed to be empty in every scenario.

Errors/Warnings go nowhere, when using the API

libFluxML has extensive output options for helpful output, as #6 showed, those go nowhere if the user did not specify a destination via PUBLISHLOG(destination). This is essentially a bug in documentation.

There is a multitude of compiler warnings

  • reorder
  • sign-compare
  • tautological-compare
  • unused-variable / unused-but-set-variable
  • switch

libFluxML should compile without warnings.The tautological-compares might be hard to fix, as they come from auto generated code

Segmentation Fault accures when FluxML file does not exist

When trying to instantiate the FluxMLDocument class like

flux::xml::FluxMLDocument doc("<Not existing file>"); 

an seg fault accures. GDB says it happens in line 112 of FluxMLDocument.cc when you try to get the document from the DOMReader.

It also happens in your example program when you give it an invalid fluxml path.

Multi-Isotope string is not parsed correctly

Information about multi-isotope tracers are stored by the iso_cfg_ character pointer map for each pool. However, the character pointers used as map keys are not like "N" for nitrogen as expected, but "N"+a string of mishmash characters.

Input pools can not be named like a flux

Otherwise an error is raised

FluxML parsing error: input pool "XXX" specified in equality constraint

or

FluxML parsing error: input pool "XXX" specified in inequality constraint

This originates in fluxml/FluxMLInput.cc, where all equality/inequality constraints are checked for input pool names. It should only be equality constraints for pools.

I would argue, that it is bad practice to have fluxes and pools of the same name, nonetheless this should be fixed.

also: In the error the actual constraint should be printed

building on macOS with ARM

Hey,

FluxML relies on sys/prctl.h and other sys files. These files are not available on linux.
Perhaps we can find a way to replace/remove them for macOS builds.

Why not an SBML package?

Hello FluxML dev team,

I read the specifications for FluxML and I have a very naive question: why didn't you choose to make an SBML package instead of creating a stand-alone file format? Did I miss something?

In the paper, you argue that:

  1. "[...] the set of common features [between FluxML and SBML] is not that large."
  2. another author already made a prototype using (and abusing) SBML's <notes> tag

If anyone would agree with 2/ which is indeed regarded as bad-practice in the SBML community, I guess the 1/ is more subject to interpretation, especially considering that SBML is precisely supposed to be a common ground for all software that deal with... well, systems biology. I was very surprised you didn't mentioned the SBML's packages there. SBML is designed to be enriched by packages, like the classic fbc package that add all the features needed for flux balance constraints and that you can find in every single genome-scale model out there.

So, with that in mind, I was wondering if there was some kind of technical issue that forced you to make you own file format; and if that's not the case, if you are considering creating an SBML package for metabolic flux analysis based on you great work on FluxML?

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.