Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Paired Arrangement of Reads via Kmeans On Unlabelled PE-RNA-Seq reads

parKour performs K-mean clustering on PE fastq formatted sequencing reads based on the GC bias of the paired reads.

Despite being single threaded, performance is relatively good with 139M 150bp PE reads (45GB of data) 3-means clustered and output to separate fastq files in 14 hours with 7GB max resident memory (10M reads took around 3 minutes on the same hardware).


./parKour R1.fastq R2.fastq N_CLUSTERS

Which will output 2N fastq files where N is the number of clusters:

* cluster0_R1.fq
* cluster0_R2.fq
* cluster1_R1.fq
* cluster1_R2.fq
* ...
* ...
* cluster(N-1)_R1.fq
* cluster(N-1)_R2.fq

It will also output a log file "run_log" which records the cluster centroids and number of paired reads assigned to each cluster.


  • mlpack
  • armadillo (build with ARMA_64BIT_WORD if you want to use parKour on datasets larger than 2bn PE reads)


  • Ensure dependencies are installed and mlpack is in the LD_LIBRARY_PATH
  • make (note only tested on 64-bit GNU/Linux systems)
  • To run program on toy dataset run make test

##Future planned enhancements:

  • Optional Overclustering
  • Plotting of clustering
  • Unit tests


    title     = {Refining initial points for k-means clustering},
    author    = {Bradley, Paul S. and Fayyad, Usama M.},
    booktitle = {Proceedings of the Fifteenth International Conference 
                    on Machine Learning (ICML 1998)},
    volume    = {66},
    year      = {1998}

    title     = {{MLPACK}: A Scalable {C++} Machine Learning Library},
    author    = {Curtin, Ryan R. and Cline, James R. and Slagle, Neil P. and
                    March, William B. and Ram, P. and Mehta, 
                    Nishant A. and Gray, Alexander G.},
    journal   = {Journal of Machine Learning Research},
    volume    = {14},
    pages     = {801--805},
    year      = {2013}

    title     = {Armadillo: An Open Source C++ Linear Algebra Library for Fast 
                    Prototyping and Computationally Intensive Experiments},
    author    = {Sanderson, Conrad},
    journal   = {NICTA Technical Report},
    year      = {2010}


Paired Arrangement of Reads via Kmeans On Unlabelled RNA-Seq






No releases published


No packages published