SOAPaligner/soap2(1)
π SOAPaligner/soap2 β the manual, but make it make sense π
okay bestie, gather round, because we're about to talk about SOAPaligner/soap2, aka the Short Oligonucleotide Analysis Package aligner, and honestly? she's iconic. π§¬β¨
β¨ NAME β¨
SOAPaligner/soap2 β the Short Oligonucleotide Analysis Package aligner. that's the whole name, no notes. π
πΈ SYNOPSIS πΈ
soap reference.index short_reads.fast[a|q] alignment.out [options]
like, that's the shape of your whole life right there. reference index, reads, output, options. slay. π
π¦ DESCRIPTION π¦
so SOAPaligner/soap2 is a member of the SOAP family β Short Oligonucleotide Analysis Package, if you're fancy. it's an updated version of the SOAP software for short oligonucleotide alignment, and the glow-up is real. ππ
the new program features in super fast and accurate alignment for huge amounts of short reads generated by the Illumina/Solexa Genome Analyzer. and when I say fast β compared to soap v1, it's one order of magnitude faster. it requires only 2 minutes to align one million single-end reads onto the human reference genome. not me being obsessed with that number. π₯
another remarkable improvement of SOAPaligner is that it now supports a wide range of the read length. periodt.
SOAPaligner benefitted in time and space efficiency by a revolution in the basic data structures and algorithms used. the core algorithms and the indexing data structures (2way-BWT) are developed by the algorithms research group of the Department of Computer Science, the University of Hong Kong (T.W. Lam, Alan Tam, Simon Wong, Edward Wu and S.M. Yiu). we love a credited research group. π
π COMMAND AND OPTIONS π
here's the vibe of the invocation, verbatim:
soap -D <in.fasta.index> -a <query.file.a> [-b <query.file.b>] -o
<alignment.output> [-2 <unpaired.output>] [options]
OPTIONS:
-DSTR β prefix name for the reference index,[*.index]. see APPENDIX "How to build the reference index" β you need this, bestie, no index no alignment. π«Ά-aSTR β query file. use it for SE (single-end) read alignment, or for one end of PE (paired-end) reads. π-bSTR β query b file, i.e. the other end of your PE reads.-oSTR β output file for alignment results. this is where the magic lands. β¨-2STR β output file containing mapped but unpaired reads when you do PE alignment. the lonely ones get their own file, we respect them. π₯Ί-uSTR β output file for unmapped reads,[none].-mINT β minimal insert sizeINTallowed for PE,[400].-xINT β maximal insert sizeINTallowed for PE,[600].-nINT β filter low quality reads containing more thanINTbp of Ns,[5].-tβ output reads id instead of reads name,[none].-rINT β how to report repeat hits:0=none;1=random one;2=all,[1].-Rβ RF alignment for long insert size (>= 2k bps) PE data,[none]FR alignment. so if you don't pass it, you're getting FR, iykyk.-lINT β for long reads with a high error rate at the 3'-end that can't align at whole length, first align the 5'INTbp subsequence as a seed,[256]uses the whole length of the read. π§-sINT β minimal alignment length (for soft clip).-vINT β totally allowed mismatches in one read; when you use a subsequence as a seed,[5].-gINT β allow gap size in one read,[0].-MINT β match mode for each read or the seed part of read, which shouldn't contain more than 2 mismatches,[4].0: exact match only1: 1 mismatch match only2: 2 mismatch match only4: find the best hits
-pINT β multithreads,nthreads,[1]. go off, give her some cores. π₯
π OUTPUT FORMAT π
SOAP2 output format contains the following column information:
- reads name / reads ID (if
-tis available) - reads sequence (if the read aligns to the reverse strand, here is the reverse sequence of the original read)
- quality sequence (if the input is fasta reads, this column will be all
'h', and the sequence is backward if the read is mapping reverse) 4.
ok so column 4 is just... nothing in the original. a mystery. an empty fourth column. the original page gives it no description at all, and I'm not about to make something up for it. π
π APPENDIX π
before you use soap2 to do alignment, the reference index must be generated by 2bwt-builder. no shortcuts, bestie.
2bwt-builder <reference.fasta>
NOTE:
- the reference input should only be FASTA format;
- the program will auto generate the index files in the directory where the fasta file is located, so confirm the permission at first. fr fr, check your perms. π
π ENVIRONMENT π
the datastructure is incompatible with 32bit, so it can't be migrated on any 32bit platforms. like, at all. it's not a vibe, it's a hard no. π«
due to using the MMX instruction to optimize parts of the code, the current version can only run on x86_64 platform. we will provide a universal version for most of the 64bit platform later. π¦
π₯ HARDWARE REQUIREMENT π₯
- 1.8Gb RAM (for a genome as large as human's)
- at least 8Gb hard disk to store index (for a genome as large as human's)
β SYSTEM REQUIREMENT β
- Linux x86_64
πΈ SEE ALSO πΈ
- Website for SOAP <http://soap.genomics.org.cn>
- Google Group for SOAP <http://groups.google.com/group/bgi-soap>
- Publication:
- "SOAP: short oligonucleotide alignment program" (2008)
- BIOINFORMATICS, Vol. 24 no.5 2008, pages 713-714
π ATHOUR π (yes, that's how the original spells it, I'm keeping it, it's iconic)
BGI Shenzhen SOAP team. The core algorithm Bidirect-BWT is wrotten by Prof. T.W. Lam and his team at HongKong University.
the typos are canon. I'm not touching them. it's giving authenticity. π
π«Ά REPORT BUGS π«Ά
Report bugs to <soap@genomics.org.cn>
π ACKNOWLEDGEMENTS π
We appreciate Prof. T.W. Lam, Alan Tam, Simon Wong, Edward Wu and S.M. Yiu prominent work on Bidirect-BWT.
ok that's the whole thing bestie, go align something and think of me. β¨
SOAPaligner-2.1X Β· 25 May 2009 Β· mwah, ily, go read the manpage again if you forgot a flag π
π¦ where this page comes from
- debian bookworm: soapaligner 2.20-5 Β· GPL-3.0-or-later
- debian trixie: soapaligner 2.20-5 Β· GPL-3.0-or-later
- ubuntu jammy: soapaligner 2.20-5 Β· GPL-3.0-or-later
- ubuntu noble: soapaligner 2.20-5 Β· GPL-3.0-or-later
- ubuntu resolute: soapaligner 2.20-6 Β· GPL-3.0-or-later
- ubuntu stonking: soapaligner 2.20-6 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms