Genome Alignment Engine with Fortran
Leverage Fortran's high-performance array operations to analyze and compare DNA sequences at record speeds.
DNA Sequence Analysis
Compare and align genomic DNA sequences using optimized string operations.
RNA Profiling
Analyze transcriptome data with parallelized nucleotide mapping.
GPU-Accelerated Matching
Achieve near-ideal speed-up of 10x with CUDA-enabled DNA sequence matching.
Alignment Projects
DNA Read Aligner
Align short-read sequencing data using optimized Smith-Waterman algorithm.
View Details →RNA-Seq Analysis
Perform differential gene expression analysis with optimized transcriptome matching.
View Details →Alignment Implementation
program genome_alignment
implicit none
character(len=50000) :: read1, read2
integer :: i, j
integer :: score[:], total[:]
! Read in DNA sequences
open(11,file='data/read1.fasta')
read(11,*) read1
close(11)
open(12,file='data/read2.fasta')
read(12,*) read2
close(12)
!\$omp parallel do private(i,j) reduction(+:score) reduction(+:total)
do i=1, len(trim(read1))
do j=1, len(trim(read2))
if (read1(i:i) != read2(j:j)) then
score(this_image()) = score(this_image()) -1
else
score(this_image()) = score(this_image()) +1
end if
total(this_image()) = i + j
end do
end do
!\$omp end parallel do
print *, 'Alignment score is:', sum(score[1:16])
end program genome_alignment
Create high-performance genome aligners