Thank you.
Yes, so my name is Felix.
I'm going to talk about data wizard,
which is a project of our lab from the last,
I don't know, four, five years.
I would say it started.
And it's about reporting your tabular data.
And yes, all of you are probably involved in bioinformatics
and run some sort of analysis.
You have some output of them.
And these are more likely to be tables or are likely to be tables.
Yeah.
And people tend to use access for that,
although it comes with some caveats,
especially non-computational people use like,
and yeah, it's not very reproducible.
It also comes with some other,
like, not so nice features.
If you have a, like, had a column with genes in it,
it tends to convert them into dates and this sort of stuff.
And yeah.
Also, you can use stuff like pandas or molytly polas
or within our, the tidiverse.
And yeah, this is great.
We use this ourselves,
but more within, like, the analysis.
And not for, like, visualizing the final results
and communicating the tables.
Two, for example, like doctors in a molecular tumor
about scenario.
And additionally, also a single table
might not even be enough for most of the use cases
we have in bioinformatics.
For example, you could have, like, an anchor print
and single variant calls or differential express genes
and an expression matrix.
And this means this is, like, hierarchically,
like, structure state, structure data.
So you have, like, one big overview table
and then you have, like, multiple other tables
where each row of the overview table,
basically corresponds to, like, one table
with more details in them.
Or you could have something, like, a joint
and a database where, like, one row corresponds to another row.
And additionally, one might also want to include,
like, plots in there.
And this could be, like, a singular big plot
or, like, a plot within each cell, yeah,
of a single table.
And to quickly recap the state of the art,
we can have, like, individual TSV files,
actual files, and individual plots.
And, like, I don't know, SVG or PDF or PNG format.
Yeah, these are very easy to publish, just single files.
You can open them.
But they come with limited interactivity,
and also, for the TSV and excess scenario
with, like, very limited visualization.
Yeah.
And, as I mentioned with the Uncle Print, for example,
the connections in between, like, different items
in between different tables, really get lost
in, like, plain CSV, or, I don't know,
Excel files, yeah.
And, on the other hand, one could do, like, a custom solution,
using, like, stuff, like, shiny or lumen,
like, these frameworks for, yeah, running, like, a web application,
or you could even go ahead and, like, implement your own thing.
And this comes with a big implementation overhead.
You have to sit down, write some code,
and, yeah, it takes just takes time.
I don't have to tell you.
And, yeah, you need to maintain that server.
You need to make sure it keeps running over time.
Yeah.
And, therefore, the long-term maintenance for that is challenging.
Out of this, we can formulate a problem
where the input is basically a set of tables,
and the relations between these tables,
and a set of rendering definitions.
And the output shall be portable,
and also an interactive and visual representation of our data set.
And, yeah, as I already mentioned in the beginning,
for that, we developed data wizard.
On the left, you see a configuration file.
Data wizard is invoked by the command line
with that configuration file.
And, in that configuration file,
you define your data sets.
Yeah, the configuration file is written in young formats,
so very easily readable and editable for humans.
And, you define these, like, linkages in between different data sets,
and also per column, define what sort of visualization you have.
And then, when you call data wizard from the command line,
generates an HTML report,
so it's a bit similar to something like multi-QC,
that is self-contained, and is then openable,
and the browser on any system.
So, it's very portable.
To show you a bit further how you configure this stuff.
There's a few examples I want to show you here.
You simply, yeah, give your data set,
for example here, there's some movie stuff.
You give it an arbitrary name, like Oscar's,
and then give the file path where the CSV is located.
We also support, like Jason or Paquet,
some sort of stuff.
Yeah, and then you basically say what column is linked to another column,
if you want to jump around in your data set.
For example, data wizard for that will define,
like, automatic, link outs.
Yeah, so you click on one row,
and then jump to your other data set immediately
with the row that corresponds highlighted.
Yeah, this about the data sets,
and the same goes for basically visualizing any column.
Yeah, for example, you type in the name of the column,
then you say, oh, I want a plot.
It shall be a tick plot.
And what you get is what you see on the right here.
And yeah, there are, like,
a lot of pre-made options for this plot.
For example, also bar plots, as a show to you a heat map.
We have a link out, for example,
if you want to link out to stuff, like,
clin-va based on the value that's in the cell.
Data wizard will render these links.
And then what I also want to highlight is that you can do,
like, custom plots using the Vigalite library,
simply pass the plot specs,
and then it allows you to do, like,
any plot in a single cell.
And also, like, a full plot view of this,
what we also can do.
And if that's not enough,
we support, like, passing any arbitrary, like,
JavaScript function that manipulates the content of a cell.
So this means you can really do anything with it.
Yeah.
And, once again, coming to the probability of data wizard,
so as I mentioned, you invoke it from the CLI,
and then it outputs a single directory.
And this means you can open it on any machine.
No servers needed.
And, yeah, this means also it's very easily,
easily shareable.
Yeah, you can just zip up the whole directory,
send it around to a doctor,
or, like, I don't know, uploaded to GitHub pages,
which actually means that you also outsource the server stuff,
basically, as it's only static HTML.
And what's also very nice, you can attach it,
like, to a publication.
This means the reviewers, or, like,
any other people who read your manuscript,
can basically explore the data set,
the same way you can do.
And this also brings me to the end of my presentation.
I want to thank my PI, Jonas Kester,
and my whole group.
If you want to take further into data wizard and use it,
we have it on Condy and all other sort of stuff.
And also, we have a publication that we did last year
that also explains a lot more.
Thank you.
You've got time for maybe one question.
Yes, for two minutes.
Two minutes.
Yeah, go ahead.
I'd like to go ahead.
So the question was, whether you can, like,
apply data transformation,
with, in that yellow config, so yes and no.
So you can do some manipulation,
or basically add columns based on the values of other columns.
This possible, but if you, if you want to do,
like, stuff before and I would advise on,
I'm putting this, like, before into the workflow,
this way it also stays a bit more readable to the user
and stays more reproducible.
Another question.
I can talk presenters.
We are starting to assemble the S,
which we're presenting.
Please come up and try to hear.
Is there another question?
I can ask one.
Yes.
We have a schema for your young one.
Actually, yes, we can, we can derive that.
Data was at a written and rust.
And we can simply derive that as we have this,
as structs in rust.
Yes.
Yeah.
Have you actually published it?
Because that's useful rather than passing the rust.