Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: bugs preventing the pipeline to run #94

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions .github/workflows/automation.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: automation

on:
push:
branches-ignore:
- "update/**"
schedule:
- cron: '3 2 1 * *'

Expand All @@ -10,12 +13,12 @@ jobs:
timeout-minutes: 1200

steps:
- name: Clone repository on current branch
run: |
rm -rf *
git clone https://github.com/$GITHUB_REPOSITORY --branch ${GITHUB_REF#refs/heads/} latest-ecModels
- name: Clone repository on current branch
run: |
rm -rf *
git clone https://github.com/$GITHUB_REPOSITORY --branch ${GITHUB_REF#refs/heads/} latest-ecModels

- name: Run the pipeline
run: |
cd latest-ecModels
python3 run.py ${GITHUB_REF#refs/heads/}
- name: Run the pipeline
run: |
cd latest-ecModels
python3 run.py ${GITHUB_REF#refs/heads/}
20 changes: 10 additions & 10 deletions config.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[BASE]
url = https://github.com/SysBioChalmers/ecModels
pull_request_target = master
pull_request_target = main
install_dir = /home/m/ecModels-dependencies/

[MATLAB]
Expand All @@ -23,8 +23,8 @@ install_dir = libSBML/

[Gurobi]
url = https://www.gurobi.com/downloads/gurobi-software/
version = v9.1.1
install_dir = gurobi/
version = v9.5.1
install_dir = gurobi951/

[GECKO]
url = https://github.com/SysBioChalmers/GECKO
Expand All @@ -35,8 +35,8 @@ branch = master
[ecYeastGEM]
type = 'gem'
url = https://github.com/SysBioChalmers/yeast-GEM
download_url =
model_filename = /ModelFiles/mat/yeastGEM.mat
download_url =
model_filename = /model/yeast-GEM.mat
mat_model = .model
install_dir = yeast-GEM
version = v8.3.1
Expand All @@ -45,18 +45,18 @@ database_tag = sce
[eciYali]
type = 'gem'
url = https://github.com/SysBioChalmers/Yarrowia_lipolytica_W29-GEM
download_url =
model_filename = /ModelFiles/mat/iYali.mat
download_url =
model_filename = /model/iYali.mat
mat_model = .model
install_dir = Yali-GEM
version = v0
database_tag = yli

[eciSM966]
type = 'gem'
url = https://github.com/SysBioChalmers/Kluyveromyces_marxianus-GEM
download_url =
model_filename = /modelFiles/mat/Kluyveromyces_marxianus-GEM.mat
url =
download_url = https://raw.githubusercontent.com/SysBioChalmers/Kluyveromyces_marxianus-GEM/master/modelFiles/mat/Kluyveromyces_marxianus-GEM.mat
model_filename = /Kluyveromyces_marxianus-GEM.mat
mat_model = .model
install_dir = iSM966
version = v0
Expand Down
2 changes: 1 addition & 1 deletion ecHumanGEM/scripts/changeMedia_batch.m
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
unusedMets = [];
for i=1:length(mediaComps)
%Get metabolite indx
metIndx = getIndexes(model,strcat(mediaComps{i},'[s]'),'metcomps');
metIndx = getIndexes(model,strcat(mediaComps{i},'[e]'),'metcomps');
%Get rxns for metabolite
metRxns = find(model.S(metIndx,:));
%Get the uptake reaction for the metabolite
Expand Down
13 changes: 7 additions & 6 deletions tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
DURL = 'download_url'
IDIR = 'install_dir'
SCRIPTSDIR = 'scripts'
PIPELINE_BASE_BRANCH = 'master'
PIPELINE_BASE_BRANCH = 'main'

logging.basicConfig(level=logging.DEBUG)
l = logging.getLogger(__name__)
Expand Down Expand Up @@ -67,8 +67,8 @@ def mat_model(self, gem):
def pr_target(self):
return self.config['BASE']['pull_request_target']

def git_clone(self, section, branch='master'):
cmd = sp.check_output(['git', 'clone', self.config[section][URL], '--depth', '1', '--branch', branch, self.install_dir(section)])
def git_clone(self, section, branch=PIPELINE_BASE_BRANCH):
cmd = sp.check_output(['hub', 'clone', self.config[section][URL], '--depth', '1', '--branch', branch, self.install_dir(section)])
l.info(cmd.decode('utf-8'))

def download(self, gem):
Expand Down Expand Up @@ -99,15 +99,16 @@ def git_add_and_pr(self, gem, matlab_output):
cmd = sp.check_output(['git', 'commit', '-m', 'chore: update {} based on {}'.format(gem, self.version(gem))])
l.info(cmd.decode('utf-8'))
l.critical('Will push and create PR')
cmd = sp.check_output(['git', 'push'])
l.info(cmd.decode('utf-8'))
# Create PR and also push
pr_filename = "/tmp/githubpr"
with open(pr_filename, "w") as f:
f.write("update {} based on {}\n\n".format(gem, self.version(gem)))
f.write("```matlab\n")
f.write(matlab_output)
f.write("\n```\n")
my_env = environ.copy()
cmd = sp.check_output(['hub', 'pull-request', '-F', pr_filename, '-b', self.pr_target(), '-p'], env=my_env)
cmd = sp.check_output(['gh', 'pr', 'create', '--body-file', pr_filename, '--base', self.pr_target(), '--fill'])
l.info(cmd.decode('utf-8'))
except sp.CalledProcessError:
l.critical('While upgrading {} to {} no changes were detected'.format(gem, self.version(gem)))
Expand Down Expand Up @@ -137,7 +138,7 @@ def check_dependencies(self):
l.info('{} is still {}'.format(tool, tool_version))
# Check COBRA, RAVEN, GECKO versions
self.cleanup('GECKO')
self.git_clone('GECKO')
self.git_clone('GECKO', self.config['GECKO']['branch'])
for tool in ['COBRA', 'RAVEN', 'GECKO']:
tool_version = self.git_tag(tool)
if tool_version != self.version(tool):
Expand Down