FASTQ sequence quality visualisation with Emoji
Switch branches/tags
Nothing to show
Clone or download
Latest commit ea25ea6 Jul 27, 2018
Permalink
Failed to load latest commit information.
docs Update index.html Jul 26, 2018
fastqe Fix upper limit on emoji bug Jul 27, 2018
.gitignore Update 2018 Jul 26, 2018
LICENSE.txt Update 2018 Jul 26, 2018
README.md Update README.md Jul 26, 2018
fastqe.png Initial commit for PyCon AU talk Aug 12, 2016
setup.cfg Update 2018 Jul 26, 2018
setup.py Bump bugfix version Jul 27, 2018

README.md

Example

by @LonsBio

FASTQ with Emoji = FASTQE πŸ€”

Read one or more FASTQ files, fastqe will compute quality stats for each file and print those stats as emoji... for some reason.

Given a fastq file in Illumina 1.8+/Sanger format, calculate the mean (rounded) score for each position and print a corresponding emoji!

Example

https://fastqe.com/

History

FASTQE started out as part of PyCon Au presentations:

Responsive image

Versions

  • version 0.0.1 at PyCon Au 2016:
    • Mean position per read
  • version 0.0.2 at PyconAu 2017:
    • update emoji map
    • Max and minimum scores per position added
    • Wrapper code based on early version of Bionitio added
    • prepare for PyPi
  • version 0.1.0 July 2018
    • clean up code
    • add binning

Limitations

  • Reads up to 500bp only
  • Same emoji for all scores above 41

Quickstart

pip install fastqe

fastqe test.fastq

fastqe --min test.fastq

fastqe --max test.fastq

Usage

fastqe can display usage information on the command line via the -h or --help argument:

% `fastqe`-py -h
usage: fastqe [-h] [--minlen N] [--version] [--mean] [--bin] [--min] [--max]
              [--log LOG_FILE] [--scale]
              [FASTQ_FILE [FASTQ_FILE ...]]

Read one or more FASTQ files, compute quality stats for each file, print as
emoji... for some reason.

positional arguments:
  FASTQ_FILE      Input FASTQ files

optional arguments:
    -h, --help      show this help message and exit
    --minlen N      Minimum length sequence to include in stats (default 0)
    --version       show program's version number and exit
    --mean          show mean quality per position (DEFAULT)
    --bin           use binned scores
    --min           show minimum quality per position
    --max           show maximum quality per position
    --log LOG_FILE  record program progress in LOG_FILE
    --scale         show relevant scale in output    

Licence

This program is released as open source software under the terms of MIT License

Dependencies

  • pyemojify
  • BioPython
  • NumPy

Roadmap

  • Rearrange emoji to use more realistic ranges (i.e > 60 use uncommon emoji) and remove inconsistencies
  • Add conversion to emoji sequence format, with/without binning, for compressed fastq data
  • Rewrite conversion to standalone function for use in iPython etc.
  • Teaching resources
  • Test data and unit tests
  • Add FASTA mode for nucleotide and proteins emoji
  • MultiQC plugin

Scale

Use the --scale option to include in output.

0 ! 🚫
1 " ❌
2 # πŸ‘Ί
3 $ πŸ’”
4 % πŸ™…
5 & πŸ‘Ύ
6 ' πŸ‘Ώ
7 ( πŸ’€
8 ) πŸ‘»
9 * πŸ™ˆ
10 + πŸ™‰
11 , πŸ™Š
12 - 🐡
13 . 😿
14 / 😾
15 0 πŸ™€
16 1 πŸ’£
17 2 πŸ”₯
18 3 😑
19 4 πŸ’©
20 5 ⚠️
21 6 πŸ˜€
22 7 πŸ˜…
23 8 😏
24 9 😊
25 : πŸ˜™
26 ; πŸ˜—
27 < 😚
28 = πŸ˜ƒ
29 > 😘
30 ? πŸ˜†
31 @ πŸ˜„
32 A πŸ˜‹
33 B πŸ˜„
34 C 😝
35 D πŸ˜›
36 E 😜
37 F πŸ˜‰
38 G 😁
39 H πŸ˜„
40 I 😎
41 J 😍

Binned scale:

0 ! 🚫
1 " 🚫
2 # πŸ’€
3 $ πŸ’€
4 % πŸ’€
5 & πŸ’€
6 ' πŸ’€
7 ( πŸ’€
8 ) πŸ’€
9 * πŸ’€
10 + πŸ’©
11 , πŸ’©
12 - πŸ’©
13 . πŸ’©
14 / πŸ’©
15 0 πŸ’©
16 1 πŸ’©
17 2 πŸ’©
18 3 πŸ’©
19 4 πŸ’©
20 5 ⚠️
21 6 ⚠️
22 7 ⚠️
23 8 ⚠️
24 9 ⚠️
25 : πŸ˜„
26 ; πŸ˜„
27 < πŸ˜„
28 = πŸ˜„
29 > πŸ˜„
30 ? πŸ˜†
31 @ πŸ˜†
32 A πŸ˜†
33 B πŸ˜†
34 C πŸ˜†
35 D 😎
36 E 😎
37 F 😎
38 G 😎
39 H 😎
40 I 😍
41 J 😍