Skip to content
develop
Go to file
Code

Latest commit

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update setup.py

* Update bindings.h

* Update setup.py

* Update setup_old.py

* Update bindings.cpp

* Update setup.py

* Update setup.py

* Update volestipy.pyx

* Update test1.py

* Create test1_old.py

* Update test1.py

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update bindings.h

* Update bindings.cpp

* Update bindings.h

* Update bindings.cpp

* Update volestipy.pyx

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update bindings.h

* Update bindings.cpp

* Update volestipy.pyx

* Update bindings.h

* Update bindings.cpp

* Update bindings.h

* Update setup.py

* Update bindings.cpp

* Update bindings.h

* Update bindings.cpp

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update bindings.cpp

* Update volestipy.pyx

* Update volume_cb_hpolytope.cpp

* Update test1.py

* Update bindings.cpp

* Update test1.py

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update bindings.cpp

* Update volestipy.pyx

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Create .gitignore

* Delete test1_old.py

* Delete setup_old.py

* Delete bindings_old.h

* Delete bindings_old.cpp

* Delete volestipy_old.pyx

* Update volestipy.pyx

* Update bindings.cpp

* Update bindings.h

* Update .gitignore

* Update volume_cb_hpolytope.cpp

* Update test1.py

* Update test2.py

* Update bindings.h

* Update setup.py

* Update credits.md

* on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file

* first attempt - not working - for rounding

* rounding function: does not work; trying to figure it out

* round_val now works; still new_A and new_b need to be included

* Create metabolic_net_pipeline.ipynb

* Update metabolic_net_pipeline.ipynb

* Update metabolic_net_pipeline.ipynb

* Update metabolic_net_pipeline.ipynb

* Update metabolic_net_pipeline.ipynb

* Update metabolic_net_pipeline.ipynb

* Update volestipy.pyx

* Update bindings.cpp

* Create test_rounding.py

* Create test1.py

* Create test2.py

* Delete test2.py

* Update test1.py

* Create metabolic_net_pipeline-checkpoint.ipynb

* Update setup.py

* Update .gitignore

* Delete test1.py

git rm test1.py

* Delete test2.py

git rm test2.py

* Update bindings.h

new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.h

* Update bindings.cpp

new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.cpp

* Update volestipy.pyx

new class for the preprocessing and the get_full_dimensional_polytope() function in the volestipy.pyx

* Update bindings.h

working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version

* Update bindings.cpp

working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version

* Update volestipy.pyx

working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version

* Update bindings.h

set member variables for lowDimHPolytopeCPP class

* Update bindings.cpp

remove unessecary vars

* Update volestipy.pyx

remove unecessary vars in self.full_dim_polytope

* Update bindings.h

build the instructor for the full_dimensional_polytope() function

* Update bindings.cpp

1st draft for the get_full_dimensional_polytope() function

* Update volestipy.pyx

1st draft for the python interface of the get_full_dimensional_polytope() function

* Update bindings.h

using transpose matrices for N and A_full
removing the "extra" from the shift and b_full vectors as it is not needed

* Update bindings.cpp

2nd draft for the lowDimHPolytopeCPP class.
we changed the N and A_full matrices to transpose to feed them in the cpp file like this.
we removed the _extra from the vectors

* Update volestipy.pyx

2nd draft for the lowDimHPolytopeCPP class.
changed "_extra" vectors when needed.
first draft that actually compiles

* Create test_get_full_dim_polytope.py

test file for the get_full_dimensional_polytope function
not ready yet

* Update test_get_full_dim_polytope.py

changed the Aeq

* Update test_get_full_dim_polytope.py

final test for the get_full_dimensional_polytope() function

* Update bindings.cpp

print the N transpose and the full A transpose matrices from the C++ code

* Update volestipy.pyx

Attention! What C++ returns is the transpose matrix.
Thus, the [i,j] element of the full A is the [j,i] of what C++ returns. That is what we fixed here

* Update test_get_full_dim_polytope.py

print all the outputs of the get_full_dimensional_polytope() function

* Update bindings.cpp

remove test prints

* Update volestipy.pyx

remove test printing statements
add all the output in the return statement on the get_full_dim_polytope()
improved comments

* Delete metabolic_net_pipeline.ipynb

remove the jupyter notebook

* Delete metabolic_net_pipeline-checkpoint.ipynb

remove the hidden directory for the jupyter notebook

* Update volestipy.pyx

Exceptions for the low_dim_polytope_cpp constructor added.
Deletion of the A_full and the b_full variables after the initialization of the object.

* Update bindings.h

CheBall was removed from the case of the lowDimHPolytopeCPP

* Update volestipy.pyx

just some functions of gurobipy

* Update volestipy.pyx

first draft for the pre_process() python function

* Create test_preprocess.py

a test file for the pre_process() function

* Update volestipy.pyx

correct obj function. Aeq line was replaced by a such from A.

* Update volestipy.pyx

make dependencies more readable

* Update volestipy.pyx

test sparse function

* Update test_preprocess.py

change dimensions

* Update volestipy.pyx

loop for all the lines of A and models for each of those and its minus

* Update test_preprocess.py

change the dimensions

* Update volestipy.pyx

draft to check whether it works fine!

* Update volestipy.pyx

change name in model.addConstr from "c2" to "c" in all the constraints described, fixed the solutions
remove unecessary print statements

* Update test_preprocess.py

add print statement for the results of the pre_process() function

* Update test_preprocess.py

build Aeq in a way to be more like to a stoichiometric matrix

* Update volestipy.pyx

add model.update() and model.display() function every time we add constraints or change the objective function

* Update volestipy.pyx

correct typo in comment

* Update volestipy.pyx

add model.update() after the obj function for the minus A[i,]

* Update volestipy.pyx

add print statements

* Update volestipy.pyx

attempt to solve the issue with the solutions

* Update volestipy.pyx

addMConstrs

* Update volestipy.pyx

setMObjective()

* Update volestipy.pyx

correct objectives()

* Update volestipy.pyx

make minus obj function as it should be

* Update volestipy.pyx

remove print not needed statements
make code more readable

* Update test_preprocess.py

change permission in test

* Update test_preprocess.py

add import volestipy in test_preprocess.py

* Update volestipy.pyx

remove solutions and their corresponding print statements
add new line in the end of the file

* Update volestipy.pyx

correct comment

* add bigg file of e.coli in .mat format

* add a BIGG file in .json format

* add function to read bigg files in .json format; keep the Aeq

* develop the read json format bigg file function

* add test file for reading json bigg files

* add function for reading json bigg files

* new directory for the bigg example files

* improved function for reading json bigg files; Aeq is now m*n

* print metabolites and reaction in the test for json

* add function to read .mat bigg files

* one test file for reading both json and mat bigg files

* remove unecessary print statements

* comment in the head of the file describing its purpose

* update documentation on how to install volestipy

* improved documentation for the dependencies

* remember to explain how to get lpsolve

* remember to explain how to get lpsolve

* remember to explain how to get lpsolve

* remember to explain how to get lpsolve

* test with RECON1 for the pre-processing step were performed successfully

* export .npy files with the outcome of the pre_process function so the user can load them any time

* change the input file to e_coli_core

* print files with the output of get_full_dim() and rounding() ; start function for inner ball

* small changes to check data types

* convertions to numpy arrays

* complete read-preprocess-get_full_dim steps

* add data types in .gitignore file

* add a test with all the steps of the pipeline

* draft for max ball

* test for computing max ball

* include get_max_ball() function

* remove last empty lines

* add emppty last line

* lp_solve replaced by lpsolve

* rounding step included in the full pipeline test

* add comput_max_ball in the pipeline

* fixed type for the r variable; sre_parse related issue

* remove unecessary library

* clean up a bit

* Update volestipy.pyx

empty last line

* Update bindings.cpp

add empty last line

* improve rounding

* fix svd rounding

* add max_ball arguments in the rounding function

* add max_ball if statement in rounding funcion

* fix cheball in rounding

* change variable name

* add max ball in rounding function

* add semicolomn

* add extra variable inner_point_for_c to feed the .cpp with the inner point

* change test file to include the max ball output as parameter to the rounding function

* replace integer zero values in the bydefault inner point list, with fload zeros; this way we fixed bug according to which the inner_point_for_c was waiting for double but got long

* replace if statement for max ball in rounding

* add arguments in generate_samples() for the case that max_ball has been included

* add cases for running generate_samples depending max ball input

* feed sampling with max_ball params

* add part for generate samples

* change sampling function to support max ball and L params

* change the way set_L and max_ball bool vars are set

* python interface initialization

* add accelerated_billiard variable

* remove wrong '=' sign

* remove const from end of void set_InnerBall functions

* include sampling on rounded polytope using max ball function

* max ball on rounded polytope

* change by default number_of_points_to_burn

* complete test pipeline

* function for mapping sampled points to the initial polytope added

* remove blank lines

* remove blank line

* clean code; split long lines

* add blank last line

* add features till get full dimensional polytope

* before plotiing

* plol it

* histogram added

* reaction 35 for plotting

* add print statement for dimension

* testing recon1

* testing for recon1

* notebook checkpoints

* add returning min and max fluxes vectors in pre-processing

* ignore png files

* return float numpy types from read function

* add tests for e coli and plot samples

* e coli full example

* further chechpoints

Co-authored-by: Tolis <tolis.chal@gmail.com>
835f601

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

logo

VolEsti is a C++ library for volume approximation and sampling of convex bodies (e.g. polytopes) with an R and limited python interface. VolEsti is part of the GeomScale project.

CRAN status CRAN downloads CRAN/METACRAN Chat

Test results

CRAN check CircleCI master CircleCI develop gcc-test clang-test

R-CMD-ubuntu R-CMD-macOS R-CMD-windows

Documentation

Credits

Copyright (c) 2012-2020 Vissarion Fisikopoulos
Copyright (c) 2018-2020 Apostolos Chalkis

You may redistribute or modify the software under the GNU Lesser General Public License as published by Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

You can’t perform that action at this time.