BioPAX scripting language?

46 views
Skip to first unread message

Oliver Ruebenacker

unread,
May 1, 2013, 1:58:18 PM5/1/13
to biopax-...@googlegroups.com


     Hello,

  Is there a notation or script language for BioPAX? Something like Lucian Smith's Antimony for BioPax?

  Thanks!

     Take care
     Oliver

Igor Rodchenkov

unread,
May 1, 2013, 2:21:40 PM5/1/13
to biopax-...@googlegroups.com
Seems, Emek tried to create one in Paxtools using Groovy shell (with support of undo/redo, etc..). It's TODO.

Andrea Splendiani

unread,
May 1, 2013, 2:24:39 PM5/1/13
to biopax-...@googlegroups.com
Hi,

I guess you don't mean script like in something executable, right ?
Then, what's its aim ? human-firendly syntax ?

ciao,
Andrea

--
You received this message because you are subscribed to the Google Groups "BioPAX discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to biopax-discus...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Emek Demir

unread,
May 1, 2013, 2:26:55 PM5/1/13
to biopax-...@googlegroups.com
I strongly suggest using groovy+paxtools..

I should write a tutorial on this - but together with intellij idea it actually gets the work done..

Igor Rodchenkov

unread,
May 1, 2013, 3:03:17 PM5/1/13
to biopax-...@googlegroups.com
Emek, sounds like a cool topic for the coming HARMONY'13 BioPAX session! ;)

Oliver Ruebenacker

unread,
May 1, 2013, 3:15:56 PM5/1/13
to biopax-...@googlegroups.com

     Hello,

  The goal is primarily to make it human-readable and editable. Executable adds some interesting options.

  I suppose instead of Groovy, we could use Scala, right?

  PaxTools would be great if we could add support for SBPAX (and soon, pharmacogenomics). How's that for a topic at H'13?

     Take care
     Oliver
Head of Systems Biology Task Force at PanGenX (http://www.pangenx.com)
The purpose is always improvement

Bruno Aranda

unread,
May 1, 2013, 3:11:54 PM5/1/13
to biopax-...@googlegroups.com
Or even Scala with paxtools. Great for DLS! (domain specific languages)

Andrea Splendiani

unread,
May 1, 2013, 3:27:33 PM5/1/13
to biopax-...@googlegroups.com
If it's not for executing, but for easy representation, than probably Scala makes more sense. But it's a long shot anyway: if you want something for people easy to use, perhaps Scala isn't for "lot of people".
I'm not an expert of Groovy, but I don't see how this can help readability. How ?

ciao,
Andrea

Igor Rodchenkov

unread,
May 1, 2013, 3:30:51 PM5/1/13
to biopax-...@googlegroups.com
Looks, the idea of "support for SBPAX" and other extensions has been long around (e.g., can be categorized as future "official BioPAX extension", we have the Worksgroup and some docs https://sourceforge.net/apps/mediawiki/biopax/index.php?title=SBPAX3, etc...) Actually we need a good proposal to begin with. And, "extension" usually means to be handled by an independent backward-compatible piece of open source software written by someone... Do we have any prototype docs and parser to present?

IR.

Igor Rodchenkov

unread,
May 1, 2013, 3:32:49 PM5/1/13
to biopax-...@googlegroups.com
Alternatively, consider Protege "a script" for BioPAX... ;)

Emek Demir

unread,
May 1, 2013, 4:20:53 PM5/1/13
to biopax-...@googlegroups.com
Let me be clear re:scripting;

My wish list has 3 key components:
1) I should be able to query and manipulate the model programmatically in a read-eval-print loop without a need to load to model to memory for each eval. The model should stay in the memory.
2) There should be auto-complete
3) I should be able to access all the bells and whistles of paxtools ( graph searches, sif exporters, merge algorithms etc. etc.)

For these purposes I use groovy - but scala I think would also work. Maybe one thing we can try at Harmony is to test these and write documentation on that.
--

Igor Rodchenkov

unread,
May 1, 2013, 5:27:56 PM5/1/13
to biopax-...@googlegroups.com
Well (somewhat off-topic): let's not to be too much excited about scripts.

Generally (call me boring) scripts only seem easy way to go, but in practice developing and maintaining scripts can be painful (if not nightmare) even if you're the only developer... In fact, XML and to a greater extend BioPAX (OWL-DL, RDF/XML) are not normally supposed to be parsed by simple scripts (e.g. by "clever" regex, etc..) unless those are really good ones (that simply hide a specific technology and framework). E.g., we have not only class inheritance and composition here but also property inheritance, constraints, and classes defined via constraints on properties, etc. (e.g., when one sets "left" or "controlled" property of an Interaction, should therefore see that value in interaction.participant property too, etc.). Paxtools is already sort of script that greatly simplify creating BioPAX models programmatically. Paxtools+Groovy - should be even easier.

PS:
Developing from scratch (using C, Perl, Python, Jena, OWL API...) is not impossible but uneasy. If I'd had to design such thing I'd think first of a more general scripting tool for OWL(-DL) instances rather than focuse on BioPAX only. Anyone knows might such tool are around already (and the reason if/why not)?.. Next, I'd add biopax-specific hacks: (not formally defined) BioPAX best practices and rules (regarding to use of CVs, chemistry, different levels of abstraction, etc.; could embed the biopax-validator.)

IR.


On Wednesday, May 1, 2013 1:58:18 PM UTC-4, Oliver Ruebenacker wrote:

Emek Demir

unread,
May 1, 2013, 5:48:42 PM5/1/13
to biopax-...@googlegroups.com
Igor -

What I really have in mind is not really development of software per se .. but using it for research..

Example usages:

You have a biopax model but you want to quickly edit/change a few things in it.. we don't have a good editor, changing the xml is a pain, changing it through protege is even more painful. I find a textual interface to be more efficient.

You want to test algorithms you wrote, quickly export things, change the parameters of exporters etc. etc. Think matlab for pathways.. although obviously we are quite far away from that claim.

Best,
ED
--

Andrea Splendiani

unread,
May 1, 2013, 6:38:56 PM5/1/13
to biopax-...@googlegroups.com
Hi,

I'm not sure what a scripting tool for owl&co. would do. I recall some paper presenting something along these lines, but it was basically  macros.

Anyway, to me it looks like "script" as user-friendly notation and "script" as execution are two distinct things. Perhaps scala can cater for both, but through distinct mechanism (most likely).

The original post by Oliver was about a notation, right ?

ciao,
Andrea



Emek Demir

unread,
May 1, 2013, 6:41:16 PM5/1/13
to biopax-...@googlegroups.com
Antimony also has a read-eval-print loop doesn't it? ( never used it -just read the paper)
Reply all
Reply to author
Forward
0 new messages