Mercurial > repos > tduigou > get_sbml_model
annotate get_infos.py @ 1:ceffb29b60c9 draft
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
| author | tduigou | 
|---|---|
| date | Mon, 03 Apr 2023 09:18:22 +0000 | 
| parents | |
| children | fa893f77dc22 | 
| rev | line source | 
|---|---|
| 1 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 1 from argparse import ArgumentParser | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 2 from libsbml import ( | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 3 readSBMLFromFile | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 4 ) | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 5 | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 6 | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 7 def entry_point(): | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 8 parser = ArgumentParser('Returns cell informations') | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 9 parser.add_argument( | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 10 'infile', | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 11 type=str, | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 12 help='SBML input file (xml)' | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 13 ) | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 14 parser.add_argument( | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 15 '--comp', | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 16 type=str, | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 17 help='Path to store cell compartments' | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 18 ) | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 19 parser.add_argument( | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 20 '--biomass', | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 21 type=str, | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 22 help='Path to store biomass reaction ID' | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 23 ) | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 24 params = parser.parse_args() | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 25 | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 26 sbml_doc = readSBMLFromFile(params.infile) | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 27 | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 28 if params.comp: | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 29 compartments = sbml_doc.getModel().getListOfCompartments() | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 30 with open(params.comp, 'w') as f: | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 31 f.write('#ID\tNAME\n') | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 32 for comp in compartments: | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 33 f.write(f'{comp.getId()}\t{comp.getName()}\n') | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 34 | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 35 if params.biomass: | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 36 reactions = sbml_doc.getModel().getListOfReactions() | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 37 with open(params.biomass, 'w') as f: | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 38 f.write('#ID\n') | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 39 for rxn in reactions: | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 40 if 'biomass' in rxn.getId().lower(): | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 41 f.write(f'{rxn.getId()}\n') | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 42 | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 43 if __name__ == "__main__": | 
| 
ceffb29b60c9
planemo upload commit 9c19f737cd6e2152151c8bf97a53ab1afe51a4a0
 tduigou parents: diff
changeset | 44 entry_point() | 
