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

Using seed reaction database in Adapt function #209

Closed
jchmiel4 opened this issue Mar 26, 2024 · 8 comments
Closed

Using seed reaction database in Adapt function #209

jchmiel4 opened this issue Mar 26, 2024 · 8 comments

Comments

@jchmiel4
Copy link
Contributor

Is it possible to use the seed reaction database (/dat/seed_reactions_corrected.tsv) along with or instead of the metacyc reaction database (/dat/meta_rea.tbl) in the adapt function? I am looking to add a reaction (rxn27362) that is present in the seed database but not the metacyc one.

@jotech
Copy link
Owner

jotech commented Mar 29, 2024

hi @jchmiel4

Thanks for your suggestion! Integrating the oxalate-formate transporter is a good idea!

In general, reactions can be added to models manually by the adapt module

./gapseq adapt -a rxn00999 -m toy/myb71.RDS

But this will not work for your reaction rxn27362 because it was not yet added to the gapseq database (we screen seed reactions for inconsistencies, redundancy and potential futile cycles before adding them).
Anyway, I will add the reaction in a minute!

Could this solution work for you? An alternative would be to add the reaction to the gapseq transporter search. Here we would need a transporter sequence, e.g., https://www.uniprot.org/uniprotkb/Q51330/entry
Integrating the reaction this way would allow it to be automatically added to models if a homology search finds a hit.

What do you think?

jotech added a commit that referenced this issue Mar 29, 2024
@jchmiel4
Copy link
Contributor Author

@jotech

Thanks again for the detailed and speedy reply!

Q51330 (unioprot) is already in the /dat/seq/tcdb.fasta file; however, the sequences that I am looking at are more divergent, but should truly be the transporter (given the organism, I have good confidence in the biology). I played around with the idea of adding the sequences to the transporter.fasta but was not sure.

I like the idea of adding rxn27362 to the gapseq database. In a quick search of the gapseq database I did not see any transporters (though I could be wrong) so I had some hesitancy with that.

All in all, could you add rxn27362 to the gapseq database? If not, I can add them to the transporter.fasta. My only question here is because it mentioned fasta header matching, is there any mandatory information I would need to add to the fasta header?

@jchmiel4
Copy link
Contributor Author

Just saw that you added it, thank you!!

@jotech
Copy link
Owner

jotech commented Mar 29, 2024

there was still an issue with the transporter, but it should work now!

@jchmiel4
Copy link
Contributor Author

awesome, thank you so much!

@Waschina
Copy link
Collaborator

Waschina commented Apr 23, 2024

Hi @jotech

The fix, unfortunately, introduced a futile cycle to the biochemistry database:

The central part of the futile cycle is the combination of three transport reactions:

A: (1) Formate-c0 + (1) Oxalate-e0 <==> (1) Oxalate-c0 + (1) Formate-e0
B: (2) H+-e0 + (1) Oxalate-e0 <==> (2) H+-c0 + (1) Oxalate-c0
C: (1) H+-e0 + (1) Formate-e0 <==> (1) H+-c0 + (1) Formate-c0

Thus, two protons are exported by using reaction B in the opposite direction. Oxalate is reimported by (A), the formate-oxalate antiporter, leaving formate in the extracellular space. Formate is then reimported by C together with one proton. In total, this creates a proton gradient, which can fuel the ATP-synthase.

I'm working on a fix.

Waschina added a commit that referenced this issue Apr 23, 2024
- Changed stoichiometries to achieve charge-neutral transport (i.e., no
charge being transferred in total)
- refers to #209
- Before, the reaction enabled a futile cycle as described here: #209 (comment)
@Waschina
Copy link
Collaborator

Waschina commented Apr 23, 2024

The futile cycle is now removed by changing the stoichiometry of the antiporter to:

A: (1) H+[e] + (1) Formate[c] + (1) Oxalate[e] <=> (1) H+[c] + (1) Formate[e] + (1) Oxalate[c]

In this configuration, no charge is transported in total.

@jotech
Copy link
Owner

jotech commented Apr 24, 2024

Hi @Waschina, many thanks for pointing this out!

I created a related issue Waschina/gapseq.biochem#1 to avoid it in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants