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() | 
