Let’s start with a question: “What made me (you) interested in Bioinformatics?”. If you know the answer to this question it will be much easier for you to progress, and you will be able to set a clear goal based on it.
It is really important for you to understand why and what you actually want to do in the field of Bioinformatics, or any other field for that matter. Otherwise, it will be really hard to achieve any kind of progress. You will keep asking the age-old question: “What is Bioinformatics, and what can I do with it?”. Any…
We can use Hamming Distance to measure/count nucleotide differences in DNA/RNA. This is very useful when we are searching for a particular pattern in a genome with up to n mutations. If we found a pattern in a genome, that is responsible for some biological function, we can try searching for the same pattern in other related genomes.
There is one problem though.
Even if the same pattern exists and is present in the other genome, there is a huge probability it will have a mutation. It is also called SNP (Single-nucleotide polymorphism). Even though this part of a genome…
In this article will focus purely on laying out the structure for our ‘DNA Engine’ project. We will start adding elements and programming them in our next article.
So here is the structure we had up and running last time (Test UI and a Test Class):
In our last article we looked at how we can use Strings in Rust to store Genome data (DNA sequences). We will be using Strings extensively in our future code as they are very convenient when it comes to storing and manipulating DNA/RNA data.
In this article we are taking a look at one more, very important data structure we are going to need for more advanced algorithms. After we compare both Dictionaries (Python) and Hash Maps (Rust), we will implement a DNA reverse_complement function.
Let’s create two new files, called `data_structures` in each folder (Python/Rust), and add an empty…
In our “dna_toolkit” series we used Python Strings, Lists, and Dictionaries extensively. These data structures are very useful and make our life very easy. Let’s see what Rust has to offer.
We start with
Strings. Rust has two types. One, called 'String slice', and the other one is more like a string in other languages, which is just 'String'. I am going to link to an amazing video about Strings in Rust in the 'Links' section below. Please make sure to watch it if you are completely new to this part of Rust.
In this article we will focus on…
Hello and welcome to “Bioinformatics Tools Programming in Python with Qt“ article/video series. In this series we will start developing a Qt framework based application using Python programming language.
Qt is a free and open-source widget toolkit for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.
This series is semi-connected to the “DNA Toolkit” series, also available on this website. Application…
In this series of articles, we will explore a young and very exciting programming language — Rust. We will see how Rust can help us to speed up some of our existing and future Python code. Many agree, that the key features of Python are its simplicity and readability. Let’s try and see if we can have the same or similar simplicity and readability from Rust and get that incredible execution speed of a compiled language.
While Python is an amazing, general purpose language and is super easy to write and understand, it might be too slow when we need…
In this article, we conclude our work on a minimal set of functions to work with DNA. We will add the last three functions that will help us to search for proteins in DNA sequences by generating reading frames. We will also apply our code to a real piece of genome that codes for Homo Sapiens Insult protein to see our code in action.
Functions we will add:
Let’s take a look at how codons (DNA nucleotides triplets) form a…
Before we take a look at a Translation function, we need to create a structure to hold the DNA/RNA codon table. We will use a Python dictionary as it is just perfect for holding multiple Keys, that have the same value. Let’s add this to our
In this article we add GC Content Calculation functions to the DNA Toolkit.
In this article, we are going to implement two functions. The first function will count G and C nucleotides (GC Content) in a string, and the second function will use the first function but allow us to specify a ‘window’ size to calculate GC content in.
Here is a Wikipedia excerpt on GC Content:
Programmer. Biotech. For life extension. Brain & Consciousness studies. Physics/Rocket/Satellite/Robotics/A.I. engineering for Space travel. Vegan. FOSS.