Package: fastqe
FASTQ with Emoji = FASTQE 🤔Read one or more FASTQ files,fastqewill 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!https://fastqe.com/InstallLatest release versions offastqeare available viapipor BioConda:pip install fastqeconda install -c bioconda fastqeDevelopmentDevelopment version can be isntall from this repository in themasterbranch.Usagefastqecan display usage information on the command line via the-hor--helpargument:usage: fastqe [-h] [--minlen N] [--scale] [--version] [--mean]
              [--custom CUSTOM_DICT] [--bin] [--noemoji] [--min] [--max]
              [--output OUTPUT_FILE] [--long READ_LENGTH] [--log LOG_FILE]
              [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)
  --scale               show relevant scale in output
  --version             show program's version number and exit
  --mean                show mean quality per position (DEFAULT)
  --custom CUSTOM_DICT  use a mapping of custom emoji to quality in
                        CUSTOM_DICT (🐍🌴)
  --bin                 use binned scores (🚫💀💩⚠️😄😆😎😍)
  --noemoji             use mapping without emoji (▁▂▃▄▅▆▇█)
  --min                 show minimum quality per position
  --max                 show maximum quality per position
  --output OUTPUT_FILE  write output to OUTPUT_FILE instead of stdout
  --long READ_LENGTH    enable long reads up to READ_LENGTH bp long
  --log LOG_FILE        record program progress in LOG_FILEConvertfastqewill summarise FASTQ files to display the max, mean and minumum quality using emoji. To convert a file into this format, rather than summarise, you can use the companion programbiomojifythat will convert both sequence and quality information to emoji:$ cat test.fq
@ Sequence
GTGCCAGCCGCCGCGGTAGTCCGACGTGGC
+
GGGGGGGGGGGGGGGGGGGGGG!@#$%&%($ biomojify fastq test.fq
▶️  Sequence
🍇🍅🍇🌽🌽🥑🍇🌽🌽🍇🌽🌽🍇🌽🍇🍇🍅🥑🍇🍅🌽🌽🍇🥑🌽🍇🍅🍇🍇🌽
😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁🚫😄👺💔🙅👾🙅💀Intall withpip install biomojify, and see thebiomojifypage for more information:https://github.com/fastqe/biomojify/Quickstartfastqe test.fastqfastqe --min test.fastqfastqe --max test.fastqfastqe --max -min -bin test.fastqTeaching MaterialsCommand line and NGS IntroductionThis lesson introduces NGS process in the command line using by using the results of FASTQE before and after quality filerting
usingfastp:https://qubeshub.org/publications/1092/2Rachael St. Jacques, Max Maza, Sabrina Robertson, Guoqing Lu, Andrew Lonsdale, Ray A Enke (2019).
A Fun Introductory Command Line Exercise: Next Generation Sequencing Quality Analysis with Emoji!.
NIBLSE Incubator: Intro to Command Line Coding Genomics Analysis, (Version 2.0).
QUBES Educational Resources. doi:10.25334/Q4D172GalaxyA Galaxy wrapper is available from theIUC toolshed. Contact your Galaxy Admin
if you would like to have it installed. A Galaxy Tutorial using FASTQE is in development.HistoryFASTQE started out as part of PyCon Au presentations:PyCon Au 2016 -Python for science, side projects and stuff!PyCon Au 2017 -Lightning TalkBCC 2020 - Short PresentaionVersionsversion 0.0.1 at PyCon Au 2016:Mean position per readversion 0.0.2 at PyconAu 2017:update emoji mapMax and minimum scores per position addedWrapper code based on early version ofBionitioaddedprepare for PyPiversion 0.1.0 July 2018clean up codeadd binningversion 0.2.6 July 2020refactor codeadd long read support with --longadd --noemoji for block-based output on systems that don't support emojiadd --custom for user-defined mapping to emojiadd --output to redirect to file instead of stdoutadd gzip supportadd redirect from stdin supportfix bug of dropping position if some sequences are only 0 qualityGalaxy Wrapper created July 2020biomojifycreated July 2020LimitationsReads up to 500bp onlyRead length above 500bp allowed but must be set by user with--long MAX_LENGTHSame emoji for all scores above 41LicenceThis program is released as open source software under the terms ofBSD LicenseDependenciespyemojifyBioPythonNumPyRoadmapRearrange emoji to use more realistic ranges (i.e > 60 use uncommon emoji) and remove inconsistenciesAdd conversion to emoji sequence format, with/without binning, for compressed fastq datafits intohttps://github.com/fastqe/biomojify/Rewrite conversion to standalone function for use in iPython etc.Teaching resourcesTest data and unit testsAdd FASTA mode for nucleotide and proteins emojiseehttps://github.com/fastqe/biomojify/MultiQC pluginGalaxy Wrapper: available form theIUC toolshedRather convert to emoji than summarise? We've just startedbiomojifyfor that:https://github.com/fastqe/biomojify/ContributorsAndrew LonsdaleBjörn GrüningCatherine BromheadClare SloggettClarissa WomackHelena RascheMaria DoyleMichael FranklinNicola SoranzoPhil EwelsScaleUse the--scaleoption 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 😍CustomUse a dictionary ofPyemojify mappingsin a text file instead of built in emoji choices:{
'#': ':no_entry_sign:',
'\"': ':x:',
'!': ':japanese_goblin:',
'$': ':broken_heart:'
}Emoji characters can also be used directlty instead (experimental):{
'#': ':no_entry_sign:',
'\"': ':x:',
'!': '👿',
'$': ':broken_heart:'
}