<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GMD Bioinformatics</title>
	<atom:link href="http://bioinfoblog.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://bioinfoblog.it</link>
	<description>Consulting on Genomics, Machine Learning, Data</description>
	<lastBuildDate>Tue, 08 Apr 2025 13:38:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Managing Expectations with the Medallion Architecture</title>
		<link>http://bioinfoblog.it/2025/04/https-medium-com-dalloliogm-managing-expectations-with-the-medallion-architecture-71be205fb98e/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=https-medium-com-dalloliogm-managing-expectations-with-the-medallion-architecture-71be205fb98e</link>
					<comments>http://bioinfoblog.it/2025/04/https-medium-com-dalloliogm-managing-expectations-with-the-medallion-architecture-71be205fb98e/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Dall'Olio]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 13:38:20 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">https://bioinfoblog.it/?p=2036</guid>

					<description><![CDATA[(Original article on Medium) The Medallion Architecture is a framework from Databricks that enables managing expectations for data teams. The Medallion Architecture makes it possible to balance data urgency and data quality, for data teams. Close your eyes and imagine, for a moment, that you are the Head of Data of a biotech company. Your position<p><a class="more-link" href="http://bioinfoblog.it/2025/04/https-medium-com-dalloliogm-managing-expectations-with-the-medallion-architecture-71be205fb98e/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>(Original article on <a href="https://medium.com/@dalloliogm/managing-expectations-with-the-medallion-architecture-71be205fb98e">Medium</a>)</p>
<p class="graf graf--p">The Medallion Architecture is a framework from Databricks that enables <strong class="markup--strong markup--p-strong">managing expectations</strong> for data teams.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*cLW89N2E40FVkISyAeyiUA.png" data-image-id="1*cLW89N2E40FVkISyAeyiUA.png" data-width="963" data-height="211" data-is-featured="true" /><figcaption class="imageCaption">The Medallion Architecture makes it possible to balance data urgency and data quality, for data teams.</figcaption></figure>
<p class="graf graf--p">Close your eyes and imagine, for a moment, that you are the Head of Data of a biotech company. Your position is one of the most important of the company, especially in the data science and AI space. If data is garbage, the models will be garbage. If data is good, the models will be good, and the company will be successful. Your team can make a difference between the former and latter case.</p>
<p class="graf graf--p">However, managing a data team is not an easy task. If things go well, you’ll be overwhelmed by users requesting new datasets, but you will not have the resources to deliver them all. If things do not go well, users will start downloading things on their laptops, and ignoring the data pipelines you are building, bypassing all your efforts.</p>
<p class="graf graf--p">How to deal with this situation, as a Data leader?</p>
<p class="graf graf--p">In my opinion, one of the first steps is to understand that two atavic forces govern the needs of data users. The first force is the need for <strong class="markup--strong markup--p-strong">making the data available now</strong>, without making users wait for months while your team develops a data pipeline. If you spend too much time developing the perfect pipeline, your users will start going around you, downloading what they need on their laptops and forgetting about the data team. The second force is the need for <strong class="markup--strong markup--p-strong">having perfectly clean data and harmonized metadata.</strong> This is easier said than done, and it requires time and careful planning.</p>
<p class="graf graf--p">The medallion architecture from Databricks is a way to manage these two atavic forces. Essentially, data is distributed across three catalogs, called Bronze, Silver and Gold. The <strong class="markup--strong markup--p-strong">Bronze </strong>catalog is the messy place where, by definition, data is made available quickly, but in a raw form, without cleaning and curation. The <strong class="markup--strong markup--p-strong">Silver</strong> catalog is a mid-point between bronze and gold, where data is available in a reasonable form, after a reasonable investment of time from your team. The <strong class="markup--strong markup--p-strong">Gold</strong> catalog, instead, is the perfect and tidy place where clean and harmonized data products live, defined by user stories and use cases, and developed after months of investment.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*G7WXO-9LnXhyCsXc__iqbw.png" data-image-id="1*G7WXO-9LnXhyCsXc__iqbw.png" data-width="2288" data-height="1100" /><figcaption class="imageCaption">The<a class="markup--anchor markup--figure-anchor" href="https://www.databricks.com/glossary/medallion-architecture" target="_blank" rel="noopener" data-href="https://www.databricks.com/glossary/medallion-architecture"> official definition </a>of the Medallion Architecture from Databricks.</figcaption></figure>
<p class="graf graf--p">Let’s make an example.</p>
<p class="graf graf--p">A new paper is published in Nature, presenting a new sequencing technique that is different from what has been seen before. Your data scientists are very excited by this and want to try the data as soon as possible. However, as the data team leader, you know it will take months to develop a perfect pipeline for storing this data into your data lake. What do you do?</p>
<p class="graf graf--p">The first step is to download the data from the paper, and put it in a new folder in <strong class="markup--strong markup--p-strong">Bronze</strong>. You may add some minimal metadata to track where the data was downloaded from, but not much more than that. This way, the data scientists will be able to access the data immediately, without having to wait for anything else. The data will not be curated, but your data scientists will not care at that point; they just want to try it out and use it for experimentation. If you are using Databricks, the Unity Catalog will track any notebook and analysis done using the data, so any result will still be reproducible. The important thing here, is that the data scientists will use the data from the Catalog, instead of downloading it in a temporary position, keeping your data team in the loop.</p>
<p class="graf graf--p">After a few months, more papers are published using the same technique. So far, you’ve been downloading new data to Bronze, without curation. However, as more datasets accumulate, things become too messy. This is the right time to create some aggregate tables in <strong class="markup--strong markup--p-strong">Silver</strong>. For example, you could concatenate the gene counts (or any other fact data) from the raw Bronze datasets into a big table. You’ll likely want to add some metadata table, for example a projects one containing the list of datasets, and other metadata tables as relevant. You don’t spend too many resources on this; just make something sensible that makes your users happy.</p>
<p class="graf graf--p">After more time, a big initiative in your company focuses on using this new type of data for a specific goal. For example, the company wants to create a perfectly clean dataset for a drug discovery programme, integrating data from several modalities, including this one. A brave new Data Product Owner is assigned to the task, and they begin collecting user stories, designing data flows, outsourcing metadata curation services, and everything that is needed for a perfect product. This product will live in <strong class="markup--strong markup--p-strong">Gold; </strong>it will take some time to develop it, but once it is ready, it will be perfect for its purpose.</p>
<p class="graf graf--p">This is what I like about the Medallion Architecture. It is a framework for managing expectations, for data teams. Users will know that the Bronze data is not curated, but they will be fine with that, because that is the definition of Bronze. On the other hand, users will know that, if they want perfect clean and harmonized data, they need to ask leaders to put resources into it, so that proper data products can be developed in Gold. As these assumptions are intrinsic to the way the data is stored, data team leaders will face less pressure from the requests they receive.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2025/04/https-medium-com-dalloliogm-managing-expectations-with-the-medallion-architecture-71be205fb98e/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MLFlow for Bioinformatics &#8211; the missing piece for reproducibility of results?</title>
		<link>http://bioinfoblog.it/2025/01/mlflow-for-bioinformatics-the-missing-piece-for-reproducibility-of-results/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mlflow-for-bioinformatics-the-missing-piece-for-reproducibility-of-results</link>
					<comments>http://bioinfoblog.it/2025/01/mlflow-for-bioinformatics-the-missing-piece-for-reproducibility-of-results/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 12:11:13 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">https://bioinfoblog.it/?p=2009</guid>

					<description><![CDATA[(Story originally published on Medium) MLFlow is a tool used to manage the development of Machine Learning models, from their development to release in production. It is also a great tool for managing bioinformatics analyses, making it easier to test parameters and options and reproduce results. However, in my opinion, not many Bioinformaticians are aware<p><a class="more-link" href="http://bioinfoblog.it/2025/01/mlflow-for-bioinformatics-the-missing-piece-for-reproducibility-of-results/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p class="graf graf--h3"><a href="https://medium.com/@dalloliogm/mlflow-for-bioinformatics-the-missing-piece-for-reproducibility-of-results-ad8764dbcc83"><strong>(Story originally published on Medium)</strong></a></p>
<p class="graf graf--p">MLFlow is a tool used to manage the development of Machine Learning models, from their development to release in production. It is also a great tool for managing bioinformatics analyses, making it easier to test parameters and options and reproduce results. However, in my opinion, not many Bioinformaticians are aware of this tool and its advantages. In this article, I will show an example of using ML FLow to track a differential expression analysis and demonstrate how it is the missing piece to ensure reproducibility.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*YpVa6Qh4N4MkXnBepfh9Cg.png" data-image-id="1*YpVa6Qh4N4MkXnBepfh9Cg.png" data-width="2408" data-height="458" data-is-featured="true" /><figcaption class="imageCaption">Example of using ML Flow for tracking a Differential Expression analysis. The two last columns shows two parameters I tested: lfcShrink (whether to apply LFC Shrinkage or not), and refit_cooks (whether to filter out potential outliers, based on Cooks distance). The “Metrics” columns track some metrics I computed for every analysis, such as the number of significant genes, the averge LogFC, and so on. The first columns provide info on the input dataset, the notebook, and when it was executed.</figcaption></figure>
<h3 class="graf graf--h3">What is ML Flow?</h3>
<p class="graf graf--p">MLFlow is a platform for managing the life cycle of a Machine Learning model. It keeps track of all the experiments done while training a Model, as data scientists try different parameters and algorithms to improve their predictions.</p>
<p class="graf graf--p">Suppose you are a Machine Learning scientist, tasked with developing a model to predict a specific variable. There are so many tools you can try?—?random forest, XGboost, etc..?—?and for each of these, there are so many parameters to be tested. How to keep track of all these options and choices?</p>
<p class="graf graf--p">The answer is ML flow. This tools allows to record information on parameters, inputs, and metrics every time we run an experiment.</p>
<p class="graf graf--p">The following screenshot is taken from the <a class="markup--anchor markup--p-anchor" href="https://mlflow.org/docs/latest/getting-started/quickstart-2/index.html#compare-the-results" target="_blank" rel="noopener" data-href="https://mlflow.org/docs/latest/getting-started/quickstart-2/index.html#compare-the-results">ML Flow documentation page</a>. We can see a list of Tensorflow models, computed using different parameters lr and momentum (in the last two columns of the table). For each run, the metrics test_rmse is computed?—?this allows to quickly determine which run has the most optimal results.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*t_UlHeWRmmi8FYUfZo5nAA.png" data-image-id="1*t_UlHeWRmmi8FYUfZo5nAA.png" data-width="2917" data-height="1156" /><figcaption class="imageCaption">A screenshot of ML Flow from its documentation page. Each row represents an experiment using tensorflow. The last two columns show the values of the parameters (lr and momentum) used for every run. The third-to-last column shows the test RMSE for each run, allowing to determine which run has the best results.</figcaption></figure>
<p class="graf graf--p">MLflow is much more than a registry of parameters and metrics. It allows to manage the whole life cycle of a model?—?from developing it, tagging specific versions, and pushing it to production. These are all valid applications in Bioinformatics as well?—?but for this article, I’ll just explain the basic usage of the Registry.</p>
<h3 class="graf graf--h3">How can ML Flow be used for Bioinformatics?</h3>
<p class="graf graf--p">Despite being developed to track Machine Learning experiments, ML Flow can be used to track any computational analysis. We don’t need to use scikit-learn or train Machine Learning models to use it. We can track anything that has parameters, and produces results. Here, I’m going to show how to use it for a Differential Expression analysis made with the <a class="markup--anchor markup--p-anchor" href="https://pydeseq2.readthedocs.io/en/stable/" target="_blank" rel="noopener" data-href="https://pydeseq2.readthedocs.io/en/stable/">PyDESeq2 </a>Python Package.</p>
<h3 class="graf graf--h3">Initializing a ML Flow run</h3>
<p class="graf graf--p">The first step is to import the library and initialize an experiment. The code below may seem verbose, but it can be copied&amp;pasted in all notebooks. In short, we define the Experiment name, and connect to it. If the experiment does not exists, we create it.</p>
<p class="graf graf--p">In the second cell, we start the ML Flow run. This will create a new row in the ML Flow registry for this experiment. The row will be empty, but we will add parameters and metrics later in the code.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*4jfklGf-NvSh4BS1e5QS-w.png" data-image-id="1*4jfklGf-NvSh4BS1e5QS-w.png" data-width="992" data-height="842" /></figure>
<h3 class="graf graf--h3">Tracking Parameters</h3>
<p class="graf graf--p">For this example, I am following the PyDESeq2 tutorial, almost verbatim.</p>
<p class="graf graf--p">I’ve added two parameters, to show how to keep track of them using mlflow. The first parameter is called “refit_cooks”, and determines whether we want to remove outliers, based on Cooks distance. This is a common step in a Differential Expression analysis, to remove samples that may have low quality for technical reasons. The second parameter is lfcShrink, to determine whether to apply LFC Shrinkage to the data?—?this is a technique used to clean up genes that have low fold change in the results.</p>
<p class="graf graf--p">The mlflow code to track parameters is quite simple. We run mlflow.log_params, and provide a dictionary of parameters we want to track. Assuming we have executed mlflow.start_run() earlier in the code, these parameters will be added to the current run.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*9ksZ8wkqCmlSz7dXGQaCkg.png" data-image-id="1*9ksZ8wkqCmlSz7dXGQaCkg.png" data-width="1057" data-height="486" /><figcaption class="imageCaption">Tracking Parameters in ML Flow</figcaption></figure>
<h3 class="graf graf--h3">Tracking Input Data</h3>
<p class="graf graf--p">Another useful thing to track when running a Differential Expression analysis is the input data.</p>
<p class="graf graf--p">If the dataset is small, we can track it using the mlflow.log_input() function as shown below. Otherwise, if the data is bigger, we can store it in a table, and provide the location. If the data is complex to represent as a table, we can also store it as an Artifact?—?a file that can is stored in the run, and can be accessed later. It all depends on how big the input data is, and how much space do you want to reserve for the runs data.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*OzOxGSHDO1hSAC6mLuDv6g.png" data-image-id="1*OzOxGSHDO1hSAC6mLuDv6g.png" data-width="694" data-height="352" /><figcaption class="imageCaption">Tracking Input datasets in MLflow</figcaption></figure>
<p class="graf graf--p">Tracking Results and Metrics</p>
<p class="graf graf--p">I’m not going to paste the code for this Differential Expression analysis, because it is taken verbatim from the <a class="markup--anchor markup--p-anchor" href="https://pydeseq2.readthedocs.io/en/stable/auto_examples/plot_step_by_step.html#sphx-glr-auto-examples-plot-step-by-step-py" target="_blank" rel="noopener" data-href="https://pydeseq2.readthedocs.io/en/stable/auto_examples/plot_step_by_step.html#sphx-glr-auto-examples-plot-step-by-step-py">PyDESeq2 tutorial</a> . Let’s assume we have completed our analysis, and obtained a dataframe of Genes that are differentially expressed in our comparison.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*mOgZq2YjLQx59vHE7nmXwg.png" data-image-id="1*mOgZq2YjLQx59vHE7nmXwg.png" data-width="802" data-height="581" /><figcaption class="imageCaption">The results of our Differential Expression analysis, computed using the <a class="markup--anchor markup--figure-anchor" href="https://pydeseq2.readthedocs.io/en/stable/auto_examples/plot_step_by_step.html#sphx-glr-auto-examples-plot-step-by-step-py" target="_blank" rel="noopener" data-href="https://pydeseq2.readthedocs.io/en/stable/auto_examples/plot_step_by_step.html#sphx-glr-auto-examples-plot-step-by-step-py">PyDESeq2 tutorial</a>. The padj column tells us which genes are differentially expressed in cases vs control, and the log2FoldChange shows the magnitude of the change, and its sign.</figcaption></figure>
<p class="graf graf--p">Now that we have computed this table, we may want to keep track of some metrics, to determine whether we results are valid or not.</p>
<p class="graf graf--p">For a Machine Learning experiment, we could track accuracy, recall, MAE, RMSE, and other metrics.</p>
<p class="graf graf--p">In the case of a Differential Expression analysis, we don’t really have the equivalent of these metrics, but we can create others as we may see fit. For example, here I am computing the ones in the screenshot below:</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*xTQE2B486zLZWUezN6CaXQ.png" data-image-id="1*xTQE2B486zLZWUezN6CaXQ.png" data-width="1172" data-height="1085" /></figure>
<p class="graf graf--p">Some of these metrics are self explanatory: for example, n_significant_genes shows the number of genes that are significant in the results dataset</p>
<p class="graf graf--p">Other metrics are based on the Biology. Here I’ve computed a metrics called “is_gene3_significant”, to determine whether Gene3 is differentially expressed between cases and controls. This may be a hypothesis that I make on the data?—?for example, this is an experiment where Gene 3 has been Knocked Out using gene editing or other reasons. As another example, we may know from literature that Gene3 is always expressed in the group of patients we are testing, and we may want to check whether that is the case.</p>
<p class="graf graf--p">There is an infinite amount of possibilities when tracking Metrics from an experiment. ML flow provides an efficient way to log these and navigate them across different runs.</p>
<h3 class="graf graf--h3">The results</h3>
<p class="graf graf--p">This screenshot shows what got recorded in ML FLow when running this analysis.</p>
<figure class="graf graf--figure"><img decoding="async" class="graf-image" src="https://cdn-images-1.medium.com/max/1200/1*DxDkuRc9-rk1nMH63V7QjA.png" data-image-id="1*DxDkuRc9-rk1nMH63V7QjA.png" data-width="2397" data-height="464" /></figure>
<p class="graf graf--p">The last two columns show the parameters used for every analysis. These are my original parameters lfcShrink and refit_cooks, which I defined earlier in my code.</p>
<p class="graf graf--p">The other columns on the right show the metrics from every run. For example, you can see that when lfcShrink is set to True, the average Log2FC is lower?—?this is expected, as LFC Shrinkage is designed exactly for that purpose.</p>
<p class="graf graf--p">The columns on the right show information on the runs?—?like the input data, the time when the experiment was run, and so on.</p>
<h3 class="graf graf--h3">What’s next?</h3>
<p class="graf graf--p">This article described how ML Flow can be used to keep track of Bioinformatics tasks, such as Differential Expression.</p>
<p class="graf graf--p">In the past, I’ve tried many approaches to ensure reproducibility of analysis. I’ve used jupyter notebooks stored in git; and all sorts of approaches. However, I think ML Flow is the ultimate answer. Especially if integrated with environments like DataBricks, as in these examples.</p>
<p class="graf graf--p">There are infinite ways to design parameters and metrics for tracking the results of a differential expression, and other analysis in Bioinformatics. Hopefully this will give you a good primer, and help you ensuring your tasks are more reproducible and efficient.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2025/01/mlflow-for-bioinformatics-the-missing-piece-for-reproducibility-of-results/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Foundation Models for Bioinformatics &#8211; a Primer</title>
		<link>http://bioinfoblog.it/2025/01/foundation-models-for-bioinformatics-a-primer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=foundation-models-for-bioinformatics-a-primer</link>
					<comments>http://bioinfoblog.it/2025/01/foundation-models-for-bioinformatics-a-primer/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Fri, 17 Jan 2025 11:54:06 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">https://bioinfoblog.it/?p=1988</guid>

					<description><![CDATA[(Original article published on Medium) Foundation models for biology are one of the most significant technological advances in bioinformatics in recent years. However, they are built on concepts that can be relatively unfamiliar to people in the field, as they are derived from other areas of AI. This article summarises what you need to know<p><a class="more-link" href="http://bioinfoblog.it/2025/01/foundation-models-for-bioinformatics-a-primer/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>(Original article <a href="https://medium.com/@dalloliogm/foundation-models-for-biology-a-short-primer-84d74b12b7a7">published on Medium</a>)</p>
<p>Foundation models for biology are one of the most significant technological advances in bioinformatics in recent years. However, they are built on concepts that can be relatively unfamiliar to people in the field, as they are derived from other areas of AI. This article summarises what you need to know about Foundation models in Biology and how they can be helpful to you.</p>
<p>Most people are now familiar with natural language models such as chatGPT, trained on huge quantities of text and capable of generating responses that mimic human language. Many people are also acquainted with generating images and videos using other architectures. However, biology also has its own language, which can be modelled using machine learning. In fact, biology has many languages, from DNA to proteins to transcription factors and regulation, interactions between cell types and tissues, and much else.</p>
<p>Foundation models for biology attempt to model these languages, using large quantities of data for training and applying this knowledge to generate new data or make predictions.</p>
<h2>A list of Foundation Models for Biology</h2>
<p>This list is quite incomplete, as new models get published every week. For a more complete list, check this repository https://github.com/HICAI-ZJU/Scientific-LLM-Survey (I hope they accept my pull requests for adding some recent ones). I also like following the https://kiinai.substack.com/ for recent news.</p>
<p>[Foundation models for biology](https://www.notion.so/17ec9afb0bec80489d86ed3a453a05c9?pvs=21)</p>
<h2>What are Foundation Models for Biology?</h2>
<ul>
<li>Generally speaking, they are models trained on large quantities of biological data, such as genomic sequences or chemical structures, using architectures like the Transformer, which is widely used for training Large Language Models (LLMs) like ChatGPT. The term has become popular thanks to the paper https://arxiv.org/abs/2402.04286 published in 2024.</li>
<li>Instead of training a Transformer on a dataset of texts or human conversations, these models are trained on biological sequences or other types of biological data. The model learns the &#8220;language of life&#8221; by capturing hierarchical patterns in the data.
<ul>
<li>For example, a model may be trained on gene expression data from blood tissue single-cell sequencing. The model learns which genes are typically expressed together in specific cell types discovering these interactions purely from analyzing the training data, without any prior knowledge of biological pathways or gene sets.</li>
</ul>
</li>
</ul>
<h2>What Are &#8220;Pre-training&#8221; and &#8220;Fine-tuning&#8221;?</h2>
<p>Training a Foundation model is very expensive and requires large quantities of data. However, once a model has been pre-trained, it can be used and fine-tuned for other tasks. This means that we can take advantage of big atlases (provided the model is made public), and use them on smaller datasets, without having to download all the original data and train on it from scratch.</p>
<ul>
<li>Pre-training: This is the initial phase where the foundation model is trained on a large dataset of biological data. For example, the model might learn to predict the next nucleotide in a sequence or fill in missing elements within a sequence. During this phase, the model learns the patterns underlying the input data &#8211; essentially building an understanding of the &#8220;language of biology.&#8221;.</li>
<li>Fine-tuning: Once pre-trained, the model can be adapted to specific tasks by modifying its parameters and training it further on smaller, task-specific datasets. The advantage of this, compared to training a model from data directly, is that the model has already learned the relationship between the elements during the pertaining.
<ul>
<li>A pre-trained model might have learned general genomic patterns. By fine-tuning, you could train it to classify patients as healthy or diseased based on their genomic data.</li>
<li>Fine-tuning doesn’t necessarily involve modifying only the last layer. Techniques like updating multiple layers or using adapter modules can help leverage the full depth of the model.</li>
</ul>
</li>
</ul>
<h2>Example 1: using a pre-trained model to predict disease</h2>
<p>Let’s imagine you are developing a model to predict whether a patient is affected by a disease. You start from a gene expression dataset in cases/controls from previous experiments.</p>
<p>One traditional bioinformatics approach may be to create a data frame of gene expression across all samples and train a model to distinguish cases and controls. One may use a random forest approach, XGBoost, or logistic regression. The predicted variable will be “disease”, and the gene expression values will be the input.</p>
<p>The problem with this approach is that it doesn’t consider the relationships between genes. Gene A may be in the same pathway as Gene B, and the pair may be frequently expressed together. Gene C may be a transcription factor of Gene D, but only when gene E is expressed, and so on. Biology is so complex, and we are far from understanding it.</p>
<p>If your training dataset is big enough, your model may be able to learn about all the gene relationships by itself. Or you may tweak it with some feature engineering to simplify the training. However, in most cases, your training dataset will be far too small. You may have a cohort of 10, 20 samples at most. Even hundreds of samples may not be enough.</p>
<p>Here is where a foundation model comes into play. We can download a model previously trained on a large dataset of gene expression, like the Gene Expression Atlas, and apply it to our small dataset. We will transform the gene expression values into embeddings, which are numbers that include the knowledge of gene interactions learned during the pre-training. By using these embeddings instead of the original values, our predictions should be more accurate, and they will take into account all the biology that the foundation model has learned.</p>
<h2>Example 2: Imputation and Upscaling of Microarrays</h2>
<p>I like this example from the CpGPT paper https://www.biorxiv.org/content/10.1101/2024.10.24.619766v1.full, which presents a model trained on Methylation data.</p>
<p>Despite the advent of NGS technologies, Microarrays are still one of the most cost-effective ways to profile Methylation samples. There is a vast repository of data generated using old Illumina Microarray chips, like the HumanMethylation BeadChips, which can profile only 27K or 450K CpGs. There must be thousands of publications in Pubmed, and datasets in GEO, generated using these old technologies. The newest arrays can genotype more than 900K sites. It’s such a shame that this data is based on old technology and there are so many CpG sites missing.</p>
<p>Is there a way to use the data from all these old chips, and “update it” to the newest one, predicting the sites that were not present in the original assay? The answer, proposed in the CpGPT paper, is yes. They trained a transformer model on a large quantity of methylation data, including old and new chips. The model learned how to impute new sites, and predict the genotype of the missing CpGs based on data. To validate the results, they used the imputed datasets to predict age, and obtained much lower errors.</p>
<p>Similarly, a foundation model can be used to impute missing SNPs from Genotype data, and other data types. Foundation models can also be used for generating new datasets synthetically &#8211; the preciousGPT3 paper (https://www.biorxiv.org/content/10.1101/2024.07.25.605062v1describes this neatly.</p>
<h2>What Are the Key Concepts of Transformers?</h2>
<p>Transformers are at the core of foundation models. Here are the features that differentiate them from other architectures:</p>
<ol>
<li>Embeddings:<br />
&#8211; Input data (e.g., nucleotides, amino acids) is converted into numerical representations called embeddings.<br />
&#8211; Embeddings encode both the identity and context of each element in the data. For example, in a nucleotide sequence, embeddings might capture the base type, its genomic position, and nearby elements.<br />
&#8211; The art of creating embeddings lies in designing features relevant to the task. For example:<br />
&#8211; Evo uses embeddings optimized for evolutionary data.<br />
&#8211; scGPT encodes single-cell RNA-seq data, including metadata like cell type and experimental batch.<br />
&#8211; CpGPT incorporates features like CpG methylation status, genomic position, and neighboring base context.</li>
<li>Attention Mechanism:<br />
&#8211; Transformers use self-attention to understand relationships between different parts of the input. For example, the attention mechanism allows the model to connect distant elements in a sequence, such as regulatory elements and target genes. This ability to capture long-range dependencies is particularly crucial for biological data.</li>
<li>Generative Training:<br />
&#8211; Many Transformers are trained using tasks like masked language modeling (e.g., predicting masked bases) or next-token prediction. These tasks help the model generalize across datasets and tasks by building a rich internal representation of the data.</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2025/01/foundation-models-for-bioinformatics-a-primer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Applicazioni di chatGPT e altri LLMs per la ricerca di farmaci</title>
		<link>http://bioinfoblog.it/2024/12/applicazioni-di-chatgpt-e-altri-llms-per-la-ricerca-di-farmaci/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=applicazioni-di-chatgpt-e-altri-llms-per-la-ricerca-di-farmaci</link>
					<comments>http://bioinfoblog.it/2024/12/applicazioni-di-chatgpt-e-altri-llms-per-la-ricerca-di-farmaci/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Fri, 13 Dec 2024 08:49:50 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">https://bioinfoblog.it/?p=1939</guid>

					<description><![CDATA[LLMs and foundation models are changing the way drug discovery is done &#8211; it&#8217;s still early days, but there is no denying it. However, when you talk about it with someone outside the field, they often have no idea what you are talking about. Some people have heard of chatGPT, but only a few have<p><a class="more-link" href="http://bioinfoblog.it/2024/12/applicazioni-di-chatgpt-e-altri-llms-per-la-ricerca-di-farmaci/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[
<p>LLMs and foundation models are changing the way drug discovery is done &#8211; it&#8217;s still early days, but there is no denying it. However, when you talk about it with someone outside the field, they often have no idea what you are talking about. Some people have heard of chatGPT, but only a few have tried it.<br><br>For this reason, it is important to do some scientific divulgation and engage in communication with the broader public, because this technology will impact everyone. As we get closer to the holidays, this may be a good conversation topic for family and friends, between singing Christmas Carols and eating food :-).<br><br>This is a short presentation I gave this week at the &#8220;Salute e&#8217; Donna&#8221; conference in my home town, Lanciano (Italy). I&#8217;m very thankful to the organizers from <a href="https://www.linkedin.com/company/fondazione-abruzzese-per-le-scienze-della-vita-onlus/">Fondazione Abruzzese per le Scienze della Vita ONLUS</a> for inviting me. The slides are in Italian, and a bit of dialect, and they oversimplify a lot of details, but it has been fun to present them and engage with the audience during the seminar.</p>



<figure class="wp-block-embed is-type-rich is-provider-slideshare wp-block-embed-slideshare"><div class="wp-block-embed__wrapper">
<iframe title="Applicazioni di chatGPT e altri LLMs per la ricerca di farmaci" src="https://www.slideshare.net/slideshow/embed_code/key/ivvrFVn5SCcozs" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
</div></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2024/12/applicazioni-di-chatgpt-e-altri-llms-per-la-ricerca-di-farmaci/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Book Lovers&#8217; day 2022</title>
		<link>http://bioinfoblog.it/2022/08/book-lovers-day-2022/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-lovers-day-2022</link>
					<comments>http://bioinfoblog.it/2022/08/book-lovers-day-2022/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Wed, 10 Aug 2022 13:02:50 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">https://bioinfoblog.it/?p=1928</guid>

					<description><![CDATA[Yesterday it was Book Lovers&#8217; day! Thanks to Brady Todd for reminding me. Here is a list of books I have read recently and recommend. &#8211; The Maverick by Ricardo Semler: this is a great classic on Leadership and on how to organize a company. It tells the story of Semco, a Brazilian company where all employees<p><a class="more-link" href="http://bioinfoblog.it/2022/08/book-lovers-day-2022/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>Yesterday it was Book Lovers&#8217; day! Thanks to <a href="https://www.linkedin.com/in/ACoAAA04nKsB2X9TSRfRLah8NTpw9wgmCdfkMq4" data-attribute-index="0" data-entity-hovercard-id="urn:li:fs_miniProfile:ACoAAA04nKsB2X9TSRfRLah8NTpw9wgmCdfkMq4" data-entity-type="MINI_PROFILE">Brady Todd</a> for reminding me.</p>
<p>Here is a list of books I have read recently and recommend.</p>
<p>&#8211; <strong>The Maverick</strong> by Ricardo Semler: this is a great classic on Leadership and on how to organize a company. It tells the story of Semco, a Brazilian company where all employees self-organize themselves, everybody is free to set their salary and working hours, and there is mostly no hierarchy. I am planning to write a longer post about this book, because I believe many of these practices were used at GSK when I joined there, and the company was organized into small units resembling self-organizing startups. It&#8217;s amazing that this book has been written more than 30 years ago!</p>
<p>&#8211; <strong>The Phoenix Project</strong> by Gene Kit: A classic Agile book. It tells the story of a company that slowly evolves from a legacy Waterfall strategy to Agile. It is written from the perspective of a developer, and towards the end, I was almost crying as I was reading the pages. It was so painful to read about all the crashes and big security holes when they released the software for the first time, and so fun to see how they improved the process! Will they be able to do ten deployments per day, or crash in the process? This is definitely a nerdish read!</p>
<p>&#8211; <strong>Game Wizards</strong> by Jon Peterson: The story behind the creation of Dungeons &amp; Dragons, the first role-playing game, almost 50 years ago. The book tells the horror story of the company founded by Gary Gygax, how it was mismanaged, and what terrible working environment it was. I&#8217;m glad D&amp;D survived to these days, but it is sad to read how it was developed &#8211; at least, there are many things to learn from this story.</p>
<p>&#8211;<strong> Bad Blood</strong> by John Carreyrou: Another horror story about a start-up. This is the story of Theranos, the company founded by Elizabeth Holmes. Apart from being an amazing piece of journalism, this book is an example of everything you should not do when managing a company, and a collection of all the worst leadership practices there it could be in a company. I got very addicted to this book, and started watching videos on youtube to read more about this story.</p>
<p>&#8211; <strong>The Power of Ethics</strong> by Susan Liautaud: A collection of stories and points of reflection about ethics in current times, going from scandal of human gene editing by a Chinese scientist to the Boeing 737 Max 8 Jet scandal, and much more. The book proposes a framework to understand the impact of ethical choices and the way information and consequences spread in the community. Susan joined the company <a href="https://www.linkedin.com/company/benevolentai/" data-attribute-index="2" data-entity-hovercard-id="urn:li:fs_miniCompany:10929741" data-entity-type="MINI_COMPANY">BenevolentAI</a> I worked for as a member of the board, which is great news for us.</p>
<p>&#8211; <strong>Between Ape and Human</strong> by Forth Gregory: This is a book by an anthropologist that collected evidences that Homo Floresiensis may actually still be alive, according to tales and legends from people living in the Flores Island. The evidences unfortunately are not very strong, but there it may be some truth in it. This book made me want to leave everything and depart for Flores island :-)</p>
<p>&#8211; <strong>Human Kind</strong> by Rutger Bregman: I am halfway through this book, but I have already been enjoying it. Essentially it promotes the concept that humans are intrinsically good people. Current society and culture make us think that we are more egoistic and aggressive, but in reality, if you look at case by case, it is not true. Recommended read!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2022/08/book-lovers-day-2022/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>a Bioinformatician in the Big Pharma</title>
		<link>http://bioinfoblog.it/2017/07/a-bioinformatician-in-the-big-pharma/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-bioinformatician-in-the-big-pharma</link>
					<comments>http://bioinfoblog.it/2017/07/a-bioinformatician-in-the-big-pharma/#comments</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Sun, 23 Jul 2017 19:39:09 +0000</pubDate>
				<category><![CDATA[life]]></category>
		<category><![CDATA[news]]></category>
		<guid isPermaLink="false">http://bioinfoblog.it/?p=1765</guid>

					<description><![CDATA[The last 18 months have been quite a radical career change for me. This is because I made the infamous move: leaving the Academia and starting working in the Industry. To be honest I am quite happy of the change. I&#8217;ve learned many things, discovered another way to do science, and possibly made some contributions. Moving from<p><a class="more-link" href="http://bioinfoblog.it/2017/07/a-bioinformatician-in-the-big-pharma/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>The last 18 months have been quite a radical career change for me. This is because I made the infamous move: leaving the <strong>Academia</strong> and starting working in the <strong>Industry</strong>.</p>
<p><figure id="attachment_1817" aria-describedby="caption-attachment-1817" style="width: 684px" class="wp-caption aligncenter"><a href="in "><img fetchpriority="high" decoding="async" class="wp-image-1817 " src="http://bioinfoblog.it/wp-content/uploads/2013/03/career-pictures-1024x147.png" alt="My career from Bologna to Barcelona, London, and the British Countryside. Yes, England is really more rainy than Barcelona. " width="684" height="96" /></a><figcaption id="caption-attachment-1817" class="wp-caption-text">My career from Bologna to Barcelona, and from London to the British Countryside.</figcaption></figure></p>
<p>To be honest I am quite happy of the change. I&#8217;ve learned many things, discovered another way to do science, and possibly made some contributions. Moving from the Academia to Industry sometimes has a bad reputation, but these months taught me that to develop a drug, there are many resources to be involved: not only a smart idea in the lab, but also lot of validation, regulation, planning, marketing, budgeting, understanding the impact on the patients, and much more.</p>
<h2>Where am I working exactly?</h2>
<p>I am in the pre-clinical department of a big pharma company, GSK. More specifically my department is called Target Sciences, and the main scope is to identify and validate new targets (in layman terms: genes or biological entities) to treat indications (in layman terms: diseases or phenotypes).</p>
<p>The R&amp;D department of GSK is structured in several Discovery Performance Units (DPUs), which are small independent units working on a specific therapy area. For example there it could be a DPU focused on Oncology, or another on Asthma and respiratory diseases. These DPUs are like small start-ups within the company, and they each carry out a few drug target through the drug discovery process.</p>
<p><figure id="attachment_1890" aria-describedby="caption-attachment-1890" style="width: 560px" class="wp-caption aligncenter"><a href="http://www.allfordrugs.com/drug-discovery/"><img decoding="async" class="wp-image-1890 size-full" src="http://bioinfoblog.it/wp-content/uploads/2017/07/business_steps_powerpoint_templates_marketing_drug_discovery_process_ppt_slides_1.jpg" alt="" width="560" height="420" srcset="http://bioinfoblog.it/wp-content/uploads/2017/07/business_steps_powerpoint_templates_marketing_drug_discovery_process_ppt_slides_1.jpg 560w, http://bioinfoblog.it/wp-content/uploads/2017/07/business_steps_powerpoint_templates_marketing_drug_discovery_process_ppt_slides_1-300x225.jpg 300w" sizes="(max-width: 560px) 100vw, 560px" /></a><figcaption id="caption-attachment-1890" class="wp-caption-text">Drug discovery process &#8211; I am in the first phase. Source: https://www.slidegeeks.com/shapes/product/business-steps-powerpoint-templates-marketing-drug-discovery-process-ppt-slides</figcaption></figure></p>
<p>My department helps all these DPUs identifying and evaluating drug targets, providing several computational biology expertise, together with genetics, stats, and experimental validation. It&#8217;s like a center of excellence which interacts with all the rest of R&amp;D.</p>
<p>Identifying the correct target is important because it is the first decision in the drug development process, and an error in this step can be quite expensive. Imagine what happens when a clinical trial fails in phase III because the original drug was targeting the wrong gene: it is quite a big waste of resources, not only for the company but also and more importantly for the patients.</p>
<h2>What is target identification, and what is my role</h2>
<p>In layman terms, identifying a drug target involves answering the following question: if I want to treat disease X, which would be the best genes to target?</p>
<p>From a computational point of view, there are several ways to answer such question. You may simply go to the literature (e.g. pubmed) and search for relevant articles. Other approaches involve looking at information from several sources, like gene expression, protein interactions, involvement in pathways, and much more. It is usually a matter of data integration, or data science.</p>
<p>If you want to get a more general idea of the types of sources used for target identification, you can have a look at the <a href="https://targetvalidation.org/" target="_blank" rel="noopener noreferrer">Open Targets</a> Platform; this is a pre-competive effort to curate and integrate data sources, supported by the EBI, GSK and other pharmas.</p>
<p>My role, in particular, is more focused on data integration and management than pure analysis. It is about making the best use of the datasets we have access to, and understanding what is the value of acquiring a new dataset. It is also about improving communication about data usage, and discovering new technologies and methods to make use of the data.</p>
<h2>What is good about working in a pharma, compared to academia?</h2>
<p>Let&#8217;s say three things:</p>
<ul>
<li><strong>Team Working</strong>. This is the answer that hurts the most, specially me.<br />
If you look at the previous posts in this blog, you can see how much I care about doing science in a agile way, planning properly and sharing information. The problem is that in the academia, the pressure of having to publish first author papers ruins it all.<br />
In the academic world there is a lot of collaboration, specially online, and team meetings and journal clubs; but at the end of the day, your long term prospects are all dependent on your own reputation in the scientific world. This is fair enough, but difficult to reconcile with real team working.</li>
<li><strong>Lots to learn</strong>: everybody is usually involved in more diverse projects, and interact with more people from different background. Thus, you tend to specialize less in a specific area, and learn a bit of everything. To be honest, I prefer this approach as it keeps the attention higher. I am glad that I did a PhD, during which I spent several years specializing on a single area, human genetics; however, now that I got older I like learning more about different fields.</li>
<li><strong>Possibility to grow</strong>. You are generally more pampered and cared than in the Academia. You are actively encouraged to follow courses and learn new technologies; and my line manager complains if I am still in the office after 6 pm. (to be honest my PhD supervisor also did). There are opportunities to do secondmends in other parts of the company, and learn about clinical trials, finance, or anything related. Every year you define a list of objectives with your line manager, and you are valued depending on how you reach them, in a fair process, and you are valued for your efforts and accomplishments.</li>
</ul>
<h2>What is Bad?</h2>
<ul>
<li><strong>Politics</strong>. Unfortunately politics is everywhere, specially in a big international company. Luckily I am still unimportant enough, that this doesn&#8217;t affect me much.</li>
<li><strong>Simplification</strong>. Interacting with people with different background means that you need to simplify and learn to explain complex biological concepts in a way that is easy to understand. This is not easy and sometimes lead to funny effects, e.g. when you start hearing buzz-words and simplifications. On the bright side, at least I am improving my communication skills.</li>
</ul>
<h2>What&#8217;s next?</h2>
<p>For personal reasons I haven&#8217;t written much in this blog lately, and I may not be able to write much in the near future. However, hopefully I&#8217;ll be able to write more about this new adventure, and describe how science is done from the industry side.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2017/07/a-bioinformatician-in-the-big-pharma/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Hacking Global Health London 2016</title>
		<link>http://bioinfoblog.it/2016/12/hacking-global-health-london-2016/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hacking-global-health-london-2016</link>
					<comments>http://bioinfoblog.it/2016/12/hacking-global-health-london-2016/#comments</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Fri, 09 Dec 2016 08:24:47 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">http://bioinfoblog.it/?p=1838</guid>

					<description><![CDATA[A few months ago I&#8217;ve participated in a Hackaton organized by Open Data Science on data from the Healthy Growth, Birth, Development knowledge integration (HBGDki) initiative by the Bill and Melinda Gates foundation. The aim of this initiative is to collect data on child growth and development from several sources, to study which factors influence child<p><a class="more-link" href="http://bioinfoblog.it/2016/12/hacking-global-health-london-2016/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>A few months ago I&#8217;ve participated in a Hackaton organized by <a href="https://www.opendatascience.com/">Open Data Science</a> on data from the <a href="https://www.odsc.com/hack/hacking-global-health-london">Healthy Growth, Birth, Development knowledge integration</a> (HBGDki) initiative by the Bill and Melinda Gates foundation.</p>
<p><iframe loading="lazy" src="https://www.slideshare.net/slideshow/embed_code/69979962" width="771" height="618" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/></p>
<p>The aim of this initiative is to collect data on child growth and development from several sources, to study which factors influence child growth and how to better intervene when there are risks. Currently the data comes from manual annotation of several publications, but future plans include launching a global effort to collect data systematically, and actually one of the objectives of the hackaton was to guide the planning of this effort.</p>
<p>I had a lot of fun during the hackaton and learned a lot. For me personally was an opportunity to learn more about the <a href="https://topepo.github.io/caret/">caret </a>R package, which is a must-known library for doing machine learning in R. My plan for the hackaton was actually to do a trajectory clustering to see if there were different trajectories of growth of the baby during pregnancy, but unfortunately the analysis didn&#8217;t return very interesting results :-)</p>
<p>See my<a href="https://github.com/dalloliogm/HBGDki-London/tree/master/Ultrasound/notebooks"> github repo </a>for some jupyter notebooks, and the <a href="http://www.slideshare.net/giovanni/hacking-global-health-london-2016">slides on slideshare </a>for more info.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2016/12/hacking-global-health-london-2016/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Published a &#8220;Post Publication Review&#8221; on Publons</title>
		<link>http://bioinfoblog.it/2016/10/published-a-post-publication-review-on-publons/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=published-a-post-publication-review-on-publons</link>
					<comments>http://bioinfoblog.it/2016/10/published-a-post-publication-review-on-publons/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Fri, 28 Oct 2016 16:40:28 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">http://bioinfoblog.it/?p=1795</guid>

					<description><![CDATA[A while ago I posted in this blog an analysis on fitness genes, illustrating an use of the Bioconductor data packages and based on a recently published paper (Are fitness genes more conserved across species?). This week I have been contacted by the team of Publons and asked to paste the same analysis on their platform as a<p><a class="more-link" href="http://bioinfoblog.it/2016/10/published-a-post-publication-review-on-publons/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>A while ago I posted in this blog an analysis on fitness genes, illustrating an use of the Bioconductor data packages and based on a recently published paper (<a href="http://bioinfoblog.it/2015/12/are-fitness-genes-more-conserved-my-first-30-minutes-attempt/" target="_blank">Are fitness genes more conserved across species?</a>).</p>
<p>This week I have been contacted by the team of Publons and asked to paste the same analysis on their platform as a &#8220;Post Publication Review&#8221;. Of course I&#8217;ve accepted: <a href="https://publons.com/publon/547763/" target="_blank">Post Publication Review of High-Resolution CRISPR Screens Reveal Fitness Genes and Genotype-Specific Cancer Liabilities</a></p>
<p>Publons is a social network for peer reviewer, where you can list of papers you reviewed, get credit for it, and even post new reviews on published papers. I personally like the idea of Publons very much, because I think that reviewing papers is an important part of science, which unfortunately doesn&#8217;t get the recognition it deserves.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2016/10/published-a-post-publication-review-on-publons/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hiding cows in the genome (a.k.a. an introduction to bash programming)</title>
		<link>http://bioinfoblog.it/2016/10/hiding-cows-in-the-genome-a-k-a-an-introduction-to-bash/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hiding-cows-in-the-genome-a-k-a-an-introduction-to-bash</link>
					<comments>http://bioinfoblog.it/2016/10/hiding-cows-in-the-genome-a-k-a-an-introduction-to-bash/#comments</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Fri, 14 Oct 2016 16:54:29 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">http://bioinfoblog.it/?p=1767</guid>

					<description><![CDATA[Preparing the materials for a workshop on bash programming is very difficult, because you never know which level of skill to expect from the people attending it. Most of the times the class will be a mix of absolute beginners and expert Unix users, and it is not easy to prepare a presentation that will interest<p><a class="more-link" href="http://bioinfoblog.it/2016/10/hiding-cows-in-the-genome-a-k-a-an-introduction-to-bash/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>Preparing the materials for a workshop on bash programming is very difficult, because you never know which level of skill to expect from the people attending it.</p>
<p><figure id="attachment_1776" aria-describedby="caption-attachment-1776" style="width: 656px" class="wp-caption aligncenter"><a href="https://nbviewer.jupyter.org/format/slides/github/dalloliogm/belgrade_unix_intro/blob/master/PEB%20Bash%20Workshop.ipynb#/" target="_blank"><img loading="lazy" decoding="async" class="wp-image-1776" src="http://bioinfoblog.it/wp-content/uploads/2016/10/belgradebash-cow-screenshot.png" alt="belgradebash-cow-screenshot" width="656" height="276" srcset="http://bioinfoblog.it/wp-content/uploads/2016/10/belgradebash-cow-screenshot.png 796w, http://bioinfoblog.it/wp-content/uploads/2016/10/belgradebash-cow-screenshot-300x126.png 300w, http://bioinfoblog.it/wp-content/uploads/2016/10/belgradebash-cow-screenshot-768x323.png 768w" sizes="auto, (max-width: 656px) 100vw, 656px" /></a><figcaption id="caption-attachment-1776" class="wp-caption-text">Click on the image to access the slideshow.</figcaption></figure></p>
<p>Most of the times the class will be a mix of absolute beginners and expert Unix users, and it is not easy to prepare a presentation that will interest both. If the materials are too advanced, the beginners will get frustrated and stop paying attention. If the materials are too simple, expert users will get bored soon and get distracted, and start working on their own things and checking facebook.</p>
<p>In an attempt to avoid these issues, I&#8217;ve decided to go for a trick that hopefully would get the attention of even the most advanced bash guru, which is: hiding cows in the genome.</p>
<p>More precisely, for a workshop at the <a href="http://pebconference.info/" target="_blank">Programming for Evolutionary Biology conference</a> held this year in Belgrade, I designed the exercises in a way that the instructions for the next step can be retrieved using the correct bash commands. Students start with a file of randomly generated text, and they have to use grep and other unix tools to proceed to the next exercise. If the exercise is done correctly, they also see a cow.</p>
<p>I think it worked decently, because the students liked the idea and finding cows in the fasta and bed files was fun.</p>
<p>The workshop&#8217;s materials are below. (if the iframe doesn&#8217;t work, click <a href="https://nbviewer.jupyter.org/format/slides/github/dalloliogm/belgrade_unix_intro/blob/master/PEB%20Bash%20Workshop.ipynb#/">here</a>). If you are a teacher and organize workshops on bash programming, here I am officially challenging you to include something similar in your next presentation :-)</p>
<p>[iframe src=&#8221;https://nbviewer.jupyter.org/format/slides/github/dalloliogm/belgrade_unix_intro/blob/master/PEB%20Bash%20Workshop.ipynb#&#8221; width=&#8221;100%&#8221; same_height_as=&#8221;window&#8221; scrolling=&#8221;yes&#8221;]</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2016/10/hiding-cows-in-the-genome-a-k-a-an-introduction-to-bash/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Data Annotation Packages in BioConductor</title>
		<link>http://bioinfoblog.it/2016/10/data-annotation-packages-in-bioconductor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=data-annotation-packages-in-bioconductor</link>
					<comments>http://bioinfoblog.it/2016/10/data-annotation-packages-in-bioconductor/#respond</comments>
		
		<dc:creator><![CDATA[Giovanni Marco Dall'Olio]]></dc:creator>
		<pubDate>Thu, 13 Oct 2016 17:00:54 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<guid isPermaLink="false">http://bioinfoblog.it/?p=1783</guid>

					<description><![CDATA[Bioconductor does not only contain analysis packages, but also a good suite of data packages, frozen from the most important data sources for bioinformatics (e.g. EBI, NCBI, UCSC, etc..). These data packages are useful because because they allow to access certain biological relevant data quickly and without having to manually download them from the web. They<p><a class="more-link" href="http://bioinfoblog.it/2016/10/data-annotation-packages-in-bioconductor/">Continue reading</a></p>]]></description>
										<content:encoded><![CDATA[<p>Bioconductor does not only contain analysis packages, but also a good suite of data packages, frozen from the most important data sources for bioinformatics (e.g. EBI, NCBI, UCSC, etc..).</p>
<p>These data packages are useful because because they allow to access certain biological relevant data quickly and without having to manually download them from the web. They are used internally by several analysis packages (e.g. to calculate ontology enrichment, get gene coordinates, etc..), and in a way they improve the reproducibility of your analysis, because by updating them within R you will access to the same version of the data frozen as for anybody else using them.</p>
<p>This slideshow provides a quick summary of all the data annotation packages available, how to use them and how this part of bioconductor is evolving.</p>
<p><figure id="attachment_1791" aria-describedby="caption-attachment-1791" style="width: 771px" class="wp-caption aligncenter"><a href="https://nbviewer.jupyter.org/format/slides/github/dalloliogm/belgrade_unix_intro/blob/master/PEB%20Bioconductor%20workshop.ipynb?flush_cache=true#/"><img loading="lazy" decoding="async" class="size-large wp-image-1791" src="http://bioinfoblog.it/wp-content/uploads/2016/10/bioconductor-workshop-1024x730.png" alt="Click on the screenshot to access the slideshow." width="771" height="550" srcset="http://bioinfoblog.it/wp-content/uploads/2016/10/bioconductor-workshop-1024x730.png 1024w, http://bioinfoblog.it/wp-content/uploads/2016/10/bioconductor-workshop-300x214.png 300w, http://bioinfoblog.it/wp-content/uploads/2016/10/bioconductor-workshop-768x548.png 768w, http://bioinfoblog.it/wp-content/uploads/2016/10/bioconductor-workshop.png 1123w" sizes="auto, (max-width: 771px) 100vw, 771px" /></a><figcaption id="caption-attachment-1791" class="wp-caption-text">Click on the screenshot or <a href="https://nbviewer.jupyter.org/format/slides/github/dalloliogm/belgrade_unix_intro/blob/master/PEB%20Bioconductor%20workshop.ipynb?flush_cache=true#/9" target="_blank">here</a> to access the slideshow.</figcaption></figure></p>
<p>I&#8217;ve prepared the slideshow for the second workshop at the Programming for Evolutionary Biology in Belgrade I&#8217;ve presented this year. It is probably less glamorous than the <a href="http://bioinfoblog.it/2016/10/hiding-cows-in-the-genome-a-k-a-an-introduction-to-bash/" target="_blank">Bash slideshow</a>, as there are no hidden cows, however it may be more useful, specially if you use Bioconductor regularly.</p>
<p>Disclaimer: I am not a bioconductor developer, but just an user. So apologies if I wrote anything wrong :-)</p>
]]></content:encoded>
					
					<wfw:commentRss>http://bioinfoblog.it/2016/10/data-annotation-packages-in-bioconductor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
