Logo
  • Home
  • About
  • What we do
  • Partners
  • News
  • Resources
  • Careers
  • Contact
New programming languages

Julia: Different datasets have different needs

21 Sep 2022

Alex Cloherty - Junior marketing associate
Alex Cloherty - Junior marketing associate

 

Just like we use different technologies to answer different scientific questions in the laboratory, different datasets have different needs in regard to programming languages that are best suited for their analysis. It’s not a black-and-white issue by any means. In a similar way to how both flow cytometry and confocal microscopy might be able to provide the answers you are looking for within an experimental setup, two different programming languages might be able to tackle the setup of the same data analysis pipeline.

However, sometimes one specific tool will allow for new insights like no other could. Just like you need to understand the pros and cons of using the different instruments in your laboratory to test different scientific hypotheses, at BioLizard, we have a deep understanding of programming languages to make sure that we will be able to assess which language is best suited to the current question at hand, within your dataset.

 

In the first blog in this series, we introduced Rust, a new programming language with great promise for the efficient, speedy, and safe analysis of data. Today, we’ll take a look at Julia.

Julia_Programming_Language_Logo-01 copy

 

The Julia language is a relatively new programming language developed with numerical computing in mind. Since its debut in 2012, Julia quickly grew into a powerful, general purpose language suited for tasks as diverse as data wrangling, web development, and climate model simulation.

A key ambition of Julia is to solve the two-language problem. This is a common headache in scientific computing, in which a researcher will first write a prototype algorithm in an easy, but slow, language like R, and then later (if the prototype works) rewrite that algorithm in a harder, but faster language like C++. Julia aims to help researchers skip this multi-language approach by providing high-level, readable syntaxt is understandable to programmers but still as fast as, or even faster than, low-level languages such as C and Fortran. The saying goes, “Walk like Python, run like C,” but we could add, “Skip like Julia”.

blog2_image

 

Another core concept of Julia is that it is comfortable with heterogeneity. Julia makes use of “multiple dispatch”, or the ability to define multiple versions of the same function with different argument types. In practical terms, this means that Julia packages can often be applied to problems that were never imagined by the creators of those packages – and that functions from seemingly unrelated packages will “just work” when applied to a new type of data. This is a powerful capability in the context of biological sciences, where there is a high level of heterogeneity in the types of collected data. The relatively abstract nature of the Julia language makes it particularly flexible for handling such diverse data.

On top of this, Julia also permits metaprogramming, or the ability of programs to modify their own source code while running. This allows a sort of reflection and learning within the software that is well-matched to the iterative process of understanding highly complex biological systems from viral genomics to immune cell differentiation pathways, and holds promise for artificial intelligence implementations.

Like Rust, Julia is supported by a vibrant, although relatively small, community. We see a bright future for Julia in biology, knowing that its libraries for biological modelling are best-in-class and that its bioinformatics library even outperforms highly optimised domain-specific languages. If you have generated a large amount of diverse, heterogenous data, Julia might be the best match for your dataset.

Does the Julia language sound like a fit for your needs, but do you need some strategic advice to get the most out of it? BioLizard can support you as a true end-to-end data partner, all the way from supporting you from early stages in strategic advice, to downstream and hands-on support. Contact us to discuss your data analysis needs – and don’t forget to return here next week for the third and final edition of this blog series on new programming languages. In the last blog in the series, we’ll look into something a little different: a new, fast, and straightforward open-source UI software development kit.

 

Let’s discuss your data needs…

Contact us!

Trust the data professionals

blog1_CTA-01

 

Resources

https://arxiv.org/abs/2109.09973 

https://juliadatascience.io

 

Acknowledgements

This text was prepared in collaboration with Erik Vandeputte – Software & IT architecture Team Lead & Michiel Stock – Bioinformatics and machine learning consultant at BioLizard.

Let's do something
great together

Contact us

Join the social
media discussion

Stay informed with
our latest news

Read our news
  • Home
  • About

©2022 BioLizard nv. All Rights Reserved. Design by Just Jax. Development by TYL.

  • Privacy Policy
Logo
Biolizard Cookie Consent Information

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.

Cookie SettingsAccept All

Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
CookieDurationDescription
bcookie2 yearsLinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
langsessionThis cookie is used to store the language preferences of a user to serve up content in that stored language the next time user visit the website.
lidc1 dayLinkedIn sets the lidc cookie to facilitate data center selection.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
CookieDurationDescription
_ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_gat_gtag_UA_164325847_11 minuteThis cookie is set by Google and is used to distinguish users.
_gat_UA-164325847-11 minuteThis is a pattern type cookie set by Google Analytics, where the pattern element on the name contains the unique identity number of the account or website it relates to. It appears to be a variation of the _gat cookie which is used to limit the amount of data recorded by Google on high traffic volume websites.
_gcl_au3 monthsProvided by Google Tag Manager to experiment advertisement efficiency of websites using their services.
_gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
CookieDurationDescription
_fbp3 monthsThis cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
bscookie2 yearsThis cookie is a browser ID cookie set by Linked share Buttons and ad tags.
fr3 monthsFacebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
a3aa548f857642d7ad9818410843280acd93d104c52e466aa7c59da011282bb01 yearNo description
AnalyticsSyncHistory1 monthNo description
li_gc2 yearsNo description
UserMatchHistory1 monthLinkedin - Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences.
SAVE & ACCEPT
Powered by CookieYes Logo