Skip to content

Empirical SE denovo assembly tutorial

Here we demonstrate a denovo assembly for an empirical RAD data set using ipyrad2.

The dataset involves 13 samples from the Eaton and Ree (2013) dataset, which is composed of single-end 75bp reads from a RAD-seq library prepared with the PstI enzyme by Floragenex Inc. The dataset includes all species within a small monophyletic clade of Pedicularis, including multiple individuals from 5 species and several subspecies, as well as an outgroup species. The sampling spans from population-level variation where species boundaries are unclear, to higher-level divergence where species boundaries are quite distinct. This is a common scale at which RAD-seq data are often very useful.

Setup

If you haven’t done so yet, start by installing ipyrad2, as well as a few additional packages that will be used to download the dataset from SRA, and run some downstream analyses.

conda install ipyrad2 sra-tools raxml-ng -c bioconda -c conda-forge

Download the dataset

First we will download the metadata which includes sample accession IDs, names, and other information. Here we use some bash commands to fetch the metadata from NCBI using a public URL for the study accession (SRP021469) and save its metadata to a file (runinfo.csv), and also print a subset of it to the terminal for viewing. The data could alternatively be fetched manually online.

# Create directories for the metadata and sequencing data
mkdir -p SRP021469/{sra,fastq,tmp}

# Download the study metadata
wget --no-verbose \
  -O SRP021469/runinfo.csv \
  'https://trace.ncbi.nlm.nih.gov/Traces/sra-db-be/runinfo?acc=SRP021469'

# Display the run accession, number of spots, and library name
cut -d',' -f1,4,29,30 SRP021469/runinfo.csv | tr ',' '\t'

This displays the following table where each row represents one sequenced sample, its number of reads (spots), the scientific name, and the sample name that was assigned by the researchers.

Run          spots     ScientificName                 SampleName
SRR1754715   696994    Pedicularis superba            29154_superba
SRR1754720   1452316   Pedicularis thamnophila        30556_thamno
SRR1754730   1253109   Pedicularis cyathophylla       30686_cyathophylla
SRR1754729   964244    Pedicularis przewalskii        32082_przewalskii
SRR1754728   636625    Pedicularis thamnophila        33413_thamno
SRR1754727   1002923   Pedicularis przewalskii        33588_przewalskii
SRR1754731   1803858   Pedicularis rex                35236_rex
SRR1754726   1409843   Pedicularis rex                35855_rex
SRR1754725   1391175   Pedicularis rex                38362_rex
SRR1754723   822263    Pedicularis rex                39618_rex
SRR1754724   1707942   Pedicularis rex                40578_rex
SRR1754722   2199740   Pedicularis cyathophylloides   41478_cyathophylloides
SRR1754721   2199613   Pedicularis cyathophylloides   41954_cyathophylloides

Save the run accession and sample name, excluding the header, which we will use to select and rename the downloaded sequences.

cut -d ',' -f1,30 SRP021469/runinfo.csv |
  tail -n +2 |
  tr -d '"' |
  tr ',' '\t' > SRP021469/samples.tsv

Then call the following bash script that uses fasterq-dump from the sra-tools package that we installed to download the FASTQ files for each sample. This will probably take a few minutes at most, the total data size is approximately 5Gb raw, and closer to 1Gb after cleanup and compression below.

while IFS=$'\t' read -r run sample; do
    echo "Downloading ${sample} (${run})"

    # Download the SRA data
    prefetch "$run" \
      --max-size u \
      --output-directory SRP021469/sra

    # Convert the SRA data to FASTQ
    fasterq-dump "SRP021469/sra/${run}" \
      --split-3 \
      --threads 4 \
      --temp SRP021469/tmp \
      --outdir SRP021469/fastq

    # Replace the run accession with the sample name
    for file in SRP021469/fastq/${run}*.fastq; do
        suffix=${file#SRP021469/fastq/${run}}
        mv "$file" "SRP021469/fastq/${sample}${suffix}"
    done

done < SRP021469/samples.tsv

Finally, let's compress the FASTQ files and view them. Note the path to our downloaded FASTQ data files is SRP021469/fastq/. If the data were paired-end they would end in _1.fastq.gz and _2.fastq.gz, but here because it is single-end data it produces just one .fastq.gz file per sample.

# compress the FASTQ files
gzip SRP021469/fastq/*.fastq

# clean up temp files to save space
rm -r SRP021469/sra/

# show the final files
ls -lh SRP021469/fastq/
total 1.1G
-rw-rw-r-- 1 deren deren  42M Jul 20 12:51 29154_superba.fastq.gz
-rw-rw-r-- 1 deren deren  85M Jul 20 12:51 30556_thamno.fastq.gz
-rw-rw-r-- 1 deren deren  79M Jul 20 12:51 30686_cyathophylla.fastq.gz
-rw-rw-r-- 1 deren deren  58M Jul 20 12:51 32082_przewalskii.fastq.gz
-rw-rw-r-- 1 deren deren  40M Jul 20 12:52 33413_thamno.fastq.gz
-rw-rw-r-- 1 deren deren  61M Jul 20 12:52 33588_przewalskii.fastq.gz
-rw-rw-r-- 1 deren deren 108M Jul 20 12:52 35236_rex.fastq.gz
-rw-rw-r-- 1 deren deren  84M Jul 20 12:52 35855_rex.fastq.gz
-rw-rw-r-- 1 deren deren  82M Jul 20 12:53 38362_rex.fastq.gz
-rw-rw-r-- 1 deren deren  50M Jul 20 12:53 39618_rex.fastq.gz
-rw-rw-r-- 1 deren deren 100M Jul 20 12:53 40578_rex.fastq.gz
-rw-rw-r-- 1 deren deren 127M Jul 20 12:53 41478_cyathophylloides.fastq.gz
-rw-rw-r-- 1 deren deren 134M Jul 20 12:53 41954_cyathophylloides.fastq.gz

Assembly

trim

run

The data that we downloaded is already demultiplexed to individual samples, so we can start by running read trimming. Here we just enter the path to our data (-d) and the path where we want the trimmed reads to be written (-o). I also specify the total number of cores to use (-c 12) and how to distribute these resources among threaded jobs (-t 4), which specified to run 3 4-threaded jobs at a time. All other settings are left at the default.

ipyrad2 trim \
  -d SRP021469/fastq/*.fastq.gz \
  -o SRP021469/TRIM/ \
  -c 12 -t 4

logging

This will write a log to the terminal (stdout) describing the steps it is performing:

2026-07-20 13:07:44 | INFO     | cli_main.py          | ----------------------------------------------------------
2026-07-20 13:07:44 | INFO     | cli_main.py          | ----- ipyrad2 trim: quality, adapter, and cutsite motif trimming -----
2026-07-20 13:07:44 | INFO     | cli_main.py          | ----------------------------------------------------------
2026-07-20 13:07:44 | INFO     | cli_main.py          | CMD: ipyrad2 trim -d SRP021469/fastq/29154_superba.fastq.gz SRP021469/fastq/30556_thamno.fastq.gz SRP021469/fastq/30686_cyathophylla.fastq.gz SRP021469/fastq/32082_przewalskii.fastq.gz SRP021469/fastq/33413_thamno.fastq.gz ...[truncated; 13 total matched paths] -o SRP021469/TRIM/
2026-07-20 13:07:44 | INFO     | names.py             | failed to pair files, assuming data in single-end
2026-07-20 13:07:44 | INFO     | names.py             | parsed names by stripping known file suffixes
2026-07-20 13:07:44 | INFO     | names.py             | showing first 10/13 names parsed from file paths
2026-07-20 13:07:44 | INFO     | names.py             | 29154_superba          <- 29154_superba.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 30556_thamno           <- 30556_thamno.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 30686_cyathophylla     <- 30686_cyathophylla.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 32082_przewalskii      <- 32082_przewalskii.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 33413_thamno           <- 33413_thamno.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 33588_przewalskii      <- 33588_przewalskii.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 35236_rex              <- 35236_rex.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 35855_rex              <- 35855_rex.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 38362_rex              <- 38362_rex.fastq.gz
2026-07-20 13:07:44 | INFO     | names.py             | 39618_rex              <- 39618_rex.fastq.gz
2026-07-20 13:07:44 | INFO     | trim_fastqs.py       | trim input preflight found 13 usable samples and 0 skipped empty samples
[####################] 100% | Counting kmers - total jobs: 13
2026-07-20 13:07:46 | INFO     | trim_fastqs.py       | cutsite motifs set to R1=[TGCAG] at offset 0 R2=[<none>] at offset 0
2026-07-20 13:07:46 | INFO     | trim_fastqs.py       | trimming/filtering 13 samples with 'fastp' and writing to /home/deren/Documents/tools/ipyrad2/SRP021469/TRIM
2026-07-20 13:07:46 | INFO     | trim_fastqs.py       | running up to 3 parallel jobs each using up to 4 threads
[####################] 100% | Trimming - total jobs: 13
2026-07-20 13:11:47 | INFO     | trim_fastqs.py       | trimming stats written to /home/deren/Documents/tools/ipyrad2/SRP021469/TRIM/ipyrad_trim_stats_0.txt and /home/deren/Documents/tools/ipyrad2/SRP021469/TRIM/ipyrad_trim_stats_0.json

This log includes a few notable things to pay attention to.

First, it says failed to pair files, assuming data in single-end. This is expected, since our data is single-end data.

Second, you can see that it parses sample names from the file names by trimming the .fastq.gz suffix. The trim command includes additional options for how to parse names from file names in case you want to further edit these.

Third, it says cutsite motifs set to R1=[TGCAG] at offset 0 R2=[<none>] at offset 0. This indicates that ipyrad2 detected the restriction enzyme motif that is left on the sequences from the restriction digestion and ligation used during library preparation. Here "TGCAG" is the expected motif from using the enzyme PstI. It will be trimmed from all of the reads.

stats

When the run is finished it writes a stats file. Here we use cat to read it, but you can view this text file using any suitable method.

cat SRP021469/TRIM/ipyrad_trim_stats_0.txt
CMD: ipyrad2 trim -d SRP021469/fastq/29154_superba.fastq.gz SRP021469/fastq/30556_thamno.fastq.gz SRP021469/fastq/30686_cyathophylla.fastq.gz SRP021469/fastq/32082_przewalskii.fastq.gz SRP021469/fastq/33413_thamno.fastq.gz ...[truncated; 13 total matched paths] -o SRP021469/TRIM/

                       total_reads_before total_bases_before q20_rate_before q30_rate_before read1_mean_length_before total_reads_after total_bases_after q20_rate_after q30_rate_after read1_mean_length_after reads_filtered_by_low_quality reads_filtered_by_too_many_N reads_filtered_by_low_complexity reads_filtered_by_too_short
29154_superba                      696994           51577556        0.978960        0.950942                       74            676794          45763500       0.996413       0.975397                      67                          6354                          107                               18                       13721
30556_thamno                      1452316          107471384        0.981800        0.955849                       74           1415109          96004719       0.996578       0.976690                      67                         12213                          217                               98                       24679
30686_cyathophylla                1253109           92730066        0.967338        0.928985                       74           1173909          78490436       0.995187       0.967386                      66                         14618                          133                               28                       64421
32082_przewalskii                  964244           71354056        0.978022        0.948303                       74            936282          63238739       0.996041       0.973448                      67                          8960                          132                               63                       18807
33413_thamno                       636625           47110250        0.969651        0.934449                       74            609722          40887008       0.995692       0.969977                      67                          7494                           69                               44                       19296
33588_przewalskii                 1002923           74216302        0.979369        0.951517                       74            974319          65926297       0.996426       0.975387                      67                          9346                          122                               57                       19079
35236_rex                         1803858          133485492        0.979061        0.950356                       74           1752242         118525053       0.996323       0.974806                      67                         16711                          222                              113                       34570
35855_rex                         1409843          104328382        0.979161        0.950734                       74           1369600          92700424       0.996353       0.974826                      67                         13835                          167                               74                       26167
38362_rex                         1391175          102946950        0.980388        0.953297                       74           1353667          91632437       0.996562       0.976178                      67                         11966                          176                              125                       25241
39618_rex                          822263           60847462        0.976933        0.947744                       74            796778          53807432       0.996447       0.974718                      67                          7563                           97                               52                       17773
40578_rex                         1707942          126387708        0.981325        0.954125                       74           1667208         112853027       0.996327       0.975202                      67                         13226                          204                              106                       27198
41478_cyathophylloides            2199740          162780760        0.982123        0.956337                       74           2149301         145729619       0.996548       0.976818                      67                         17484                          322                              165                       32468
41954_cyathophylloides            2199613          162771362        0.974913        0.943468                       74           2126924         143521850       0.996085       0.972801                      67                         23268                          289                               56                       49076

denovo

Next, we will assemble a denovo pseudoreference genome from the data. A close reference genome is not available for this subclade of Pedicularis, and this pseudoreference will likely serve better than using a distantly related reference genome. If you have a reference genome you can skip this step and proceed straight to map.

run

Here we specify the input data path (-d), output data path (-o), and the clustering thresholds within (-s) and between samples (-S), and the resources to be used. Because this dataset is pretty small, we also use the --use-all-samples option to build the pseudoreference from all 13 samples, instead of randomly sampling a subset of samples, which is the default for this step.

Note that another important parameter in this step is the -m/--min-derep-size argument, which specifies the minimum number of times a sequence must be observed to be included in this step. Setting a lower value will retain more data, but increases run times. I suggest starting with the default -m=5 setting, but if you do not recover many thousands of loci in your denovo pseudoreference then you may want to consider rerunning it with a lower setting.

Another way to achieve speed improvements in this step is to use --no-alignment to skip alignment, which will select the first/longest sequence in each component rather than inferring a consensus.

In this example run on my laptop the step takes about 40 minutes.

ipyrad2 denovo \
  -d SRP021469/TRIM/*.fastq.gz \
  -o SRP021469/DENOVO/ \
  -s 0.94 \
  -S 0.85 \
  -m 5 \
  --use-all-samples \
  -c 12 -t 3

logging

2026-07-20 13:53:56 | INFO     | cli_main.py          | ------------------------------------------------------------
2026-07-20 13:53:56 | INFO     | cli_main.py          | ----- ipyrad2 denovo: construct locus reference library -----
2026-07-20 13:53:56 | INFO     | cli_main.py          | ------------------------------------------------------------
2026-07-20 13:53:56 | INFO     | cli_main.py          | CMD: ipyrad2 denovo -d SRP021469/TRIM/29154_superba.trimmed.fastq.gz SRP021469/TRIM/30556_thamno.trimmed.fastq.gz SRP021469/TRIM/30686_cyathophylla.trimmed.fastq.gz SRP021469/TRIM/32082_przewalskii.trimmed.fastq.gz SRP021469/TRIM/33413_thamno.trimmed.fastq.gz ...[truncated; 13 total matched paths] -o SRP021469/DENOVO/ -s 0.94 -S 0.85 --use-all-samples -c 12 -t 3 -f
2026-07-20 13:53:56 | INFO     | denovo.py            | loading FASTQ inputs
2026-07-20 13:53:56 | INFO     | names.py             | failed to pair files, assuming data in single-end
2026-07-20 13:53:56 | INFO     | names.py             | parsed names by stripping known file suffixes
2026-07-20 13:53:56 | INFO     | names.py             | showing first 10/13 names parsed from file paths
2026-07-20 13:53:56 | INFO     | names.py             | 29154_superba.trimmed          <- 29154_superba.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 30556_thamno.trimmed           <- 30556_thamno.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 30686_cyathophylla.trimmed     <- 30686_cyathophylla.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 32082_przewalskii.trimmed      <- 32082_przewalskii.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 33413_thamno.trimmed           <- 33413_thamno.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 33588_przewalskii.trimmed      <- 33588_przewalskii.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 35236_rex.trimmed              <- 35236_rex.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 35855_rex.trimmed              <- 35855_rex.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 38362_rex.trimmed              <- 38362_rex.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | 39618_rex.trimmed              <- 39618_rex.trimmed.fastq.gz
2026-07-20 13:53:56 | INFO     | names.py             | normalized 13 parsed FASTQ sample name(s) by stripping recognized workflow suffixes
2026-07-20 13:53:56 | INFO     | names.py             | 29154_superba.trimmed -> 29154_superba
2026-07-20 13:53:56 | INFO     | names.py             | 30556_thamno.trimmed -> 30556_thamno
2026-07-20 13:53:56 | INFO     | names.py             | 30686_cyathophylla.trimmed -> 30686_cyathophylla
2026-07-20 13:53:56 | INFO     | names.py             | 32082_przewalskii.trimmed -> 32082_przewalskii
2026-07-20 13:53:56 | INFO     | names.py             | 33413_thamno.trimmed -> 33413_thamno
2026-07-20 13:53:56 | INFO     | names.py             | 33588_przewalskii.trimmed -> 33588_przewalskii
2026-07-20 13:53:56 | INFO     | names.py             | 35236_rex.trimmed -> 35236_rex
2026-07-20 13:53:56 | INFO     | names.py             | 35855_rex.trimmed -> 35855_rex
2026-07-20 13:53:56 | INFO     | names.py             | 38362_rex.trimmed -> 38362_rex
2026-07-20 13:53:56 | INFO     | names.py             | 39618_rex.trimmed -> 39618_rex
2026-07-20 13:53:56 | INFO     | names.py             | 40578_rex.trimmed -> 40578_rex
2026-07-20 13:53:56 | INFO     | names.py             | 41478_cyathophylloides.trimmed -> 41478_cyathophylloides
2026-07-20 13:53:56 | INFO     | names.py             | 41954_cyathophylloides.trimmed -> 41954_cyathophylloides
2026-07-20 13:53:56 | INFO     | denovo.py            | loaded 13 denovo input samples
2026-07-20 13:53:56 | INFO     | denovo.py            | selecting denovo samples
2026-07-20 13:53:56 | INFO     | denovo.py            | using all 13 denovo input samples
2026-07-20 13:53:56 | INFO     | denovo.py            | clustering within samples
[####################] 100% | Clustering within samples - total jobs: 13
2026-07-20 13:56:08 | INFO     | denovo.py            | within-sample clustering complete for 13 selected samples
2026-07-20 13:56:08 | INFO     | denovo.py            | combining per-sample summaries
2026-07-20 13:56:13 | INFO     | denovo.py            | combined 644744 consensus records across 13 selected samples
2026-07-20 13:56:13 | INFO     | denovo.py            | clustering consensus sequences across samples
[####################] 100% | Across-sample clustering
2026-07-20 13:58:04 | INFO     | denovo.py            | building denovo locus tables
[####################] 100% | Splitting global clusters - total jobs: 181327
2026-07-20 14:01:16 | WARNING  | graph.py             | retaining 12 raw oversize clusters as unsplit placeholder loci (limit=130 raw nodes; total_oversize_nodes=4255)
2026-07-20 14:01:16 | INFO     | graph.py             | built 203941 loci from 181327 graph components (rescued oversize: 0, raw placeholders: 12, post-contraction placeholders: 0)
2026-07-20 14:01:17 | INFO     | denovo.py            | building denovo reference (MAFFT)
[####################] 100% | Aligning loci - total jobs: 203941
2026-07-20 14:42:54 | INFO     | align.py             | wrote denovo reference
2026-07-20 14:42:54 | INFO     | denovo.py            | collecting final denovo QC
2026-07-20 14:42:59 | INFO     | denovo.py            | writing denovo summary report
2026-07-20 14:42:59 | INFO     | denovo.py            | wrote denovo summary report
2026-07-20 14:42:59 | INFO     | denovo.py            | denovo complete; outputs written to /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO

[add description of some of the logged info...]

pseudoreference FASTA

Below we peek at the first few lines of the pseudoreference FASTA file that is the main output of the denovo step.

head -n 30 SRP021469/DENOVO/denovo_reference.fa
>locus_1_1
ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTGCAG
>locus_1_2
ATTTGTTCTTTTTCCTAATTAAAGATCAGCCCCTGGCTATGTGTTTTCACATCGAGAATTATTTTTAGA
>locus_1_3
ATCTGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCAGTGATACGCTGCAA
>locus_2_1
AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
>locus_2_2
AAAGAAAAACAGCAAAATCCAATCCAATTTATCGTAATCGATTCCTTAACATGTTGGTTAACCGTATTCT
>locus_3_1
GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACCGAG
>locus_3_2
TCCCAAATGGATTGGCTTATTCCAAAAAGACCTTGTTCTTGAAAGATGTATCTCGTGTCTAGTACTAAG
>locus_4_1
TCGCTGCCCAGAAAGAATGATGTTGGTTTCGATGTTGGCAACATCAGACTCAACATCAATGTCTACTGCTCAT
>locus_4_2
TTGCTGCCCAGAATGATGTTGGTATCGATGTTGGCAACATCAGACTCAACATCGATGTCTGCTGCTCCA
>locus_4_3
TTGCTTCCTAGATTGATGTTGGTATCGATGTTGGCAACATCAGAATCAACATTGATGTCTGCTGCTCCA
>locus_4_4
TTGCTGCCCAGAATGATGTTGGTATCGATGTTGGCAACATCAGACTCAACATCGATGTCTGCAATTTTC
>locus_4_5
CTGCTGCCTATAAAAATGATGTTGGTTAAGATATTGGCAACATCAGACTCAACATCGATGTCTACTGCT
>locus_4_6
TTGCTGCCTAGAATGATGTTGTTATTGATGTTGGCAACATCAGACTCAACATCGATGTTTGTTGCTCCA
>locus_4_7
TCGCTGCGTAGAAAATTGATGTTGGTTTAGATGTTTGCAACATCAGACTCAACATCAATGTCTGTTGCT
>locus_4_8
CTGCTGCCCAAAAAAATGATGTTGGTTCCGATGTTGGCAACATTAGACTCAACATCGTTTTCTGTTGCT
...

Here the pseudoreference is composed of >200K loci that were recovered by graph clustering and splitting during the denovo assembly process. The process involved first clustering within each sample to collapse similar reads into a consensus sequence (e.g., using 0.95 threshold), and clustering across samples at a lower threshold (0.85) to cluster homologs across samples. The resulting graph included many clusters that contained duplicated regions of the genome from a single sample, i.e., paralogs. These are split using a graph splitting algorithm to find graph components that contain at most one sequence per sample (i.e., no duplications).

You can see the result of this process in the names of the loci in the pseudoreference. For example, given the consensus sequences that grouped into the first cluster (locus_1), the graph splitting algorithm further split this into three distinct components (locus_1_1, locus_1_2, and locus_1_3). The sequences of these three loci look pretty similar, but clearly differ in their sequences. We purposely keep all three paralogous copies in the final pseudoreference as these will later allow for reads to map best to one locus versus another.

stats

This dataset recovered 640,636 consensus sequences across the 13 samples, which were clustered and split into a final set of 203,941 pseudoreference loci. Graph splitting was applied to 36,668 loci that contained duplications. After splitting, 3,998 loci contained sequences from all 13 samples; 35,423 contained more than half the samples; 89,687 contained more than two samples; and 114,254 contained only a single sample.

cat SRP021469/DENOVO/denovo.stats.txt
CMD: ipyrad2 denovo -d SRP021469/TRIM/29154_superba.trimmed.fastq.gz SRP021469/TRIM/30556_thamno.trimmed.fastq.gz SRP021469/TRIM/30686_cyathophylla.trimmed.fastq.gz SRP021469/TRIM/32082_przewalskii.trimmed.fastq.gz SRP021469/TRIM/33413_thamno.trimmed.fastq.gz ...[truncated; 13 total matched paths] -o SRP021469/DENOVO/ -s 0.94 -S 0.85 --use-all-samples -c 12 -t 3 -f

# Inputs
FASTQ files            13
Selected samples       13
Total input samples    13
Sample selection mode  all
Read layout            single-end

# Clustering Parameters
Within-sample similarity        0.940000
Across-sample similarity        0.850000
Minimum VSEARCH query coverage  0.750000
Minimum dereplication size      5
Minimum read length             35
Minimum merge overlap           20
Maximum merge differences       4
Allow reverse complement        False

# Denovo Summary
Consensus records                     640,636
Loci written                          203,941
Single-sequence loci                  113,659
Identical-sequence loci               18,679
Loci requiring MAFFT                  71,603
Joined-spacer loci                    0
Mixed reconciled spacer loci          1,836
Spacer-stripped output loci           202,105
Duplicated components seen            14,054
Same-sample reconciliation attempted  14,042
Components reconciled                 1,694
Joined-only reconciled loci           0
Mixed reconciled loci                 1,836
Mixed reconciled groups               2,276

# Locus QC
Singleton loci                           114,254
Singleton locus fraction                 0.560231
Loci with 2+ samples                     89,687
Loci with half or more selected samples  35,423
Loci with all selected samples           3,998
Mean samples per locus                   3.125
Median samples per locus                 1.000
Maximum samples per locus                13
Mean cores per locus                     3.141
Median cores per locus                   1.000
Maximum cores per locus                  39
Multi-core single-sample loci            595
Duplicated-component loci                36,668
Reconciled loci                          6,294

# Component QC
Audited components           14,054
Processed components         14,042
Oversize unsplit components  12
Largest component nodes      1,052

# Component Node Summary
Quantile  Input nodes  Contracted nodes
p50       9            8
p90       19           19
p99       40           37
max       1,052        126

# Selected Sample Summary
Sample                  Consensus records  Read count  Joined records  Merged records  Single records
41954_cyathophylloides  78,525             1,570,430   0               0               78,525
40578_rex               55,687             1,244,939   0               0               55,687
41478_cyathophylloides  54,705             1,762,638   0               0               54,705
35236_rex               54,492             1,059,418   0               0               54,492
35855_rex               53,657             937,397     0               0               53,657
38362_rex               52,475             1,078,200   0               0               52,475
30556_thamno            50,756             976,319     0               0               50,756
30686_cyathophylla      50,687             711,961     0               0               50,687
33588_przewalskii       45,808             631,242     0               0               45,808
39618_rex               43,082             514,105     0               0               43,082
32082_przewalskii       41,656             598,909     0               0               41,656
29154_superba           35,145             427,815     0               0               35,145
33413_thamno            28,069             287,939     0               0               28,069

# Locus Occupancy
Samples with data  Loci     Fraction of final loci
0                  0        0.000000
1                  114,254  0.560231
2                  29,320   0.143767
3                  9,123    0.044734
4                  6,337    0.031073
5                  4,925    0.024149
6                  4,559    0.022355
7                  4,031    0.019766
8                  3,939    0.019314
9                  4,896    0.024007
10                 6,092    0.029871
11                 6,577    0.032250
12                 5,890    0.028881
13                 3,998    0.019604

# Runtime
Cores                     12
VSEARCH threads per job   3
VSEARCH worker processes  4
MAFFT threads per job     1
MAFFT worker processes    12
Alignment mode            mafft
MAFFT timeout (seconds)   900
Keep intermediates        False

# Outputs
Reference FASTA       /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo_reference.fa
Locus mapping table   /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo.loci.mapping.tsv
Locus stats table     /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo.loci.stats.tsv
Sample graph summary  /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo.sample_graph_summary.tsv
Run summary report    /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo.stats.txt
Run stats json        /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo.stats.json
Audit directory       /home/deren/Documents/tools/ipyrad2/SRP021469/DENOVO/denovo.audit
Intermediate files    cleaned on success

map

Next, we will map reads from each sample to the pseudoreference genome to generate BAM alignment files.

run

In the map command we specify the trimmed fastq files as the data input (-d), the pseudoreference genome fasta as the reference input (-r), and specify a path to write the output files (-o). We also specify the resources to be used, here assigning 12 cores to be distributed multiple 4-threaded jobs.

ipyrad2 map \
  -d SRP021469/TRIM/*.fastq.gz \
  -r SRP021469/DENOVO/denovo_reference.fa \
  -o SRP021469/MAP/ \
  -c 12 -t 4

logging

The logging report indicates that it successfully identified the samples and their names, completed mapping, and calculated stats for the mapped reads.

2026-07-20 14:47:09 | INFO     | cli_main.py          | --------------------------------------------------------------
2026-07-20 14:47:09 | INFO     | cli_main.py          | ----- ipyrad2 map: map reads and write coordinate-sorted BAMs -----
2026-07-20 14:47:09 | INFO     | cli_main.py          | --------------------------------------------------------------
2026-07-20 14:47:09 | INFO     | cli_main.py          | CMD: ipyrad2 map -d SRP021469/TRIM/29154_superba.trimmed.fastq.gz SRP021469/TRIM/30556_thamno.trimmed.fastq.gz SRP021469/TRIM/30686_cyathophylla.trimmed.fastq.gz SRP021469/TRIM/32082_przewalskii.trimmed.fastq.gz SRP021469/TRIM/33413_thamno.trimmed.fastq.gz ...[truncated; 13 total matched paths] -r SRP021469/DENOVO/denovo_reference.fa -o SRP021469/MAP/ -c 12 -t 4
2026-07-20 14:47:09 | INFO     | names.py             | failed to pair files, assuming data in single-end
2026-07-20 14:47:09 | INFO     | names.py             | parsed names by stripping known file suffixes
2026-07-20 14:47:09 | INFO     | names.py             | showing first 10/13 names parsed from file paths
2026-07-20 14:47:09 | INFO     | names.py             | 29154_superba.trimmed          <- 29154_superba.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 30556_thamno.trimmed           <- 30556_thamno.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 30686_cyathophylla.trimmed     <- 30686_cyathophylla.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 32082_przewalskii.trimmed      <- 32082_przewalskii.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 33413_thamno.trimmed           <- 33413_thamno.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 33588_przewalskii.trimmed      <- 33588_przewalskii.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 35236_rex.trimmed              <- 35236_rex.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 35855_rex.trimmed              <- 35855_rex.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 38362_rex.trimmed              <- 38362_rex.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | 39618_rex.trimmed              <- 39618_rex.trimmed.fastq.gz
2026-07-20 14:47:09 | INFO     | names.py             | normalized 13 parsed FASTQ sample name(s) by stripping recognized workflow suffixes
2026-07-20 14:47:09 | INFO     | names.py             | 29154_superba.trimmed -> 29154_superba
2026-07-20 14:47:09 | INFO     | names.py             | 30556_thamno.trimmed -> 30556_thamno
2026-07-20 14:47:09 | INFO     | names.py             | 30686_cyathophylla.trimmed -> 30686_cyathophylla
2026-07-20 14:47:09 | INFO     | names.py             | 32082_przewalskii.trimmed -> 32082_przewalskii
2026-07-20 14:47:09 | INFO     | names.py             | 33413_thamno.trimmed -> 33413_thamno
2026-07-20 14:47:09 | INFO     | names.py             | 33588_przewalskii.trimmed -> 33588_przewalskii
2026-07-20 14:47:09 | INFO     | names.py             | 35236_rex.trimmed -> 35236_rex
2026-07-20 14:47:09 | INFO     | names.py             | 35855_rex.trimmed -> 35855_rex
2026-07-20 14:47:09 | INFO     | names.py             | 38362_rex.trimmed -> 38362_rex
2026-07-20 14:47:09 | INFO     | names.py             | 39618_rex.trimmed -> 39618_rex
2026-07-20 14:47:09 | INFO     | names.py             | 40578_rex.trimmed -> 40578_rex
2026-07-20 14:47:09 | INFO     | names.py             | 41478_cyathophylloides.trimmed -> 41478_cyathophylloides
2026-07-20 14:47:09 | INFO     | names.py             | 41954_cyathophylloides.trimmed -> 41954_cyathophylloides
2026-07-20 14:47:09 | INFO     | mapper.py            | indexing reference: denovo_reference.fa
2026-07-20 14:47:14 | INFO     | mapper.py            | mapping 13 samples to coordinate-sorted BAMs in /home/deren/Documents/tools/ipyrad2/SRP021469/MAP
2026-07-20 14:47:14 | INFO     | mapper.py            | using up to 12 cores (up to 3 multi-threaded jobs using 4 threads)
[####################] 100% | Mapping - total jobs: 13
[####################] 100% | Gathering mapping stats - total jobs: 13
2026-07-20 14:50:41 | INFO     | mapper.py            | mapping stats written to /home/deren/Documents/tools/ipyrad2/SRP021469/MAP/ipyrad_map_stats_0.txt and /home/deren/Documents/tools/ipyrad2/SRP021469/MAP/ipyrad_map_stats_0.json

stats

The human-readable stats file from map is important to read as it provides some useful guidance on the parameter settings that should be used in the next step.

First, we can see in the ## Applied mapping summary section that between 74-92\% of reads were successfully mapped to the pseudoreference. However, not that this does not yet indicate how well these reads mapped. We will apply a number of filters to only keep reads that mapped uniquely and accurately to loci in the reference. The next section ## Assemble read-filter preview shows us how the filters that will be applied in the next step (assemble) will affect the mapping. This shows that 88-94\% of reads will pass filtering, suggesting that these filters are not too strict. This is further reinforced by the next section ## Preview metric summaries which shows that the MAPQ scores of these reads are generally very high (>50), with few soft clipped bases (<5) and low edit distances to the reference (<2).

cat ./SRP021469/MAP/ipyrad_map_stats_0.txt
CMD: ipyrad2 map -d SRP021469/TRIM/29154_superba.trimmed.fastq.gz SRP021469/TRIM/30556_thamno.trimmed.fastq.gz SRP021469/TRIM/30686_cyathophylla.trimmed.fastq.gz SRP021469/TRIM/32082_przewalskii.trimmed.fastq.gz SRP021469/TRIM/33413_thamno.trimmed.fastq.gz ...[truncated; 13 total matched paths] -r SRP021469/DENOVO/denovo_reference.fa -o SRP021469/MAP/ -c 12 -t 4

# ipyrad2 map stats
# Final BAMs are coordinate sorted and indexed.

## Applied mapping summary
# These counts describe filters already applied during ipyrad2 map.

                       input_reads reads_removed_unmapped_or_nonprimary reads_in_final_bam fraction_input_reads_retained_in_final_bam
sample
29154_superba               686092                               120393             565699                                      0.825
30556_thamno               1421254                               217471            1203783                                      0.847
30686_cyathophylla         1179291                               272866             906425                                      0.769
32082_przewalskii           945670                               183438             762232                                      0.806
33413_thamno                612382                               159210             453172                                      0.740
33588_przewalskii           985540                               193737             791803                                      0.803
35236_rex                  1761279                               521219            1240060                                      0.704
35855_rex                  1377005                               182748            1194257                                      0.867
38362_rex                  1361839                               104941            1256898                                      0.923
39618_rex                   802399                               121029             681370                                      0.849
40578_rex                  1674280                               220551            1453729                                      0.868
41478_cyathophylloides     2175418                               192717            1982701                                      0.911
41954_cyathophylloides     2137180                               321352            1815828                                      0.850

## Assemble read-filter preview (not applied during mapping)
# These preview thresholds were not applied during mapping.
# Use them to guide ipyrad2 assemble read filters: -qm/--min-map-q, -ms/--max-softclip, -me/--max-nm.
# Preview mode: read-level thresholds evaluated on final BAM reads.
# MAPQ threshold: 20
# Soft-clipped bases threshold: 25
# NM threshold: 50

### Preview filter effects
                       reads_failing_min_mapq_20 reads_failing_max_softclip_25 reads_failing_max_nm_50 reads_passing_all_preview_filters fraction_reads_passing_all_preview_filters
sample
29154_superba                              48936                         20797                       0                            505581                                      0.894
30556_thamno                               79936                         22846                       0                           1113404                                      0.925
30686_cyathophylla                         51496                         19823                       0                            845628                                      0.933
32082_przewalskii                          80174                         31606                       0                            664465                                      0.872
33413_thamno                               28442                          9780                       0                            419778                                      0.926
33588_przewalskii                          75783                         31944                       0                            698451                                      0.882
35236_rex                                  69843                         21527                       0                           1159361                                      0.935
35855_rex                                  79813                         21062                       0                           1104175                                      0.925
38362_rex                                  73497                         17725                       0                           1174805                                      0.935
39618_rex                                  47389                         13921                       0                            627166                                      0.920
40578_rex                                  73232                         18845                       0                           1372330                                      0.944
41478_cyathophylloides                    137127                         27238                       0                           1833296                                      0.925
41954_cyathophylloides                    105090                         16614                       0                           1703374                                      0.938

### Preview metric summaries
                       mapq_mean mapq_median mapq_stdev softclip_mean softclip_median softclip_stdev nm_mean nm_median nm_stdev
sample
29154_superba             52.410      60.000     16.373         2.233           0.000          7.403   1.331     1.000    1.851
30556_thamno              53.898      60.000     14.574         1.389           0.000          5.960   1.064     0.000    1.665
30686_cyathophylla        54.543      60.000     13.868         1.524           0.000          6.298   1.149     0.000    1.765
32082_przewalskii         50.736      60.000     17.452         2.980           0.000          8.452   1.583     1.000    1.951
33413_thamno              53.908      60.000     14.431         1.507           0.000          6.236   1.177     1.000    1.764
33588_przewalskii         51.283      60.000     16.984         2.997           0.000          8.434   1.629     1.000    1.968
35236_rex                 54.550      60.000     13.766         1.226           0.000          5.598   1.056     0.000    1.631
35855_rex                 53.500      60.000     14.806         1.306           0.000          5.705   1.175     1.000    1.707
38362_rex                 54.364      60.000     13.909         1.072           0.000          5.098   0.981     0.000    1.582
39618_rex                 53.520      60.000     15.005         1.421           0.000          6.049   1.134     1.000    1.689
40578_rex                 54.799      60.000     13.183         0.997           0.000          4.921   0.933     0.000    1.572
41478_cyathophylloides    53.779      60.000     14.946         1.446           0.000          5.615   1.184     1.000    1.739
41954_cyathophylloides    54.373      60.000     13.999         0.910           0.000          4.532   0.934     0.000    1.503

assemble

Finally, the assemble step represents the main step of the ipyrad2 assembly workflow. Here we apply filters to the BAM alignments to keep only confidently mapped reads, which are then used to delimit RAD loci with sufficiently high coverage across samples, make variant calls, filter for paralogy, and write the final locus alignments into a database and several output files. A verbose stats file is also produced.

run

Here we indicate one or more paths to BAM files as the data input (-d); a path to the reference FASTA (-r); a path to store the outputs (-o); and a prefix name for the results (-n). We also show two of the most commonly changed parameter settings, -m/--min-locus-sample-coverage, -s/--min-sample-depth, and -qm/--min-map-q. Respectively, these parameters effect the minimum number of samples that must be present in a locus to be kept; the minimum read coverage that must be present at a site in a sample to make a variant call; and the minimum mapping score of a read to be retained.

ipyrad2 assemble \
  -d SRP021469/MAP/*.bam \
  -r SRP021469/DENOVO/denovo_reference.fa \
  -o SRP021469/OUT \
  -n assembly \
  -m 4 \
  -s 5 \
  -qm 40 \
  -c 12 -t 4

stats

The stats

CMD: ipyrad2 assemble -d SRP021469/MAP/29154_superba.trimmed.sorted.bam SRP021469/MAP/30556_thamno.trimmed.sorted.bam SRP021469/MAP/30686_cyathophylla.trimmed.sorted.bam SRP021469/MAP/32082_przewalskii.trimmed.sorted.bam ...[truncated; 13 total matched paths] -r SRP021469/DENOVO/denovo_reference.fa -o SRP021469/OUT -n assembly -qm 40 -c 12 -t 4

# Assemble Summary
Samples                                               13
Shared loci before minimum sample coverage filter     199,531
Shared loci after delimiting                          49,417
Shared loci after paralog filtering                   49,378
Final loci written                                    45,448
Final loci retained fraction after paralog filtering  0.920410
Final loci retained fraction after delimiting         0.919684
Assembled sites                                       3,100,317
Final SNP sites written                               204,914
Variable sites                                        183,882
Phylogenetically informative sites                    77,117
Alignment matrix occupancy fraction                   0.670662
Overlapping indel clusters masked                     1,728
Overlapping indel records removed                     4,037
Overlapping indel bases masked                        11,543

# Locus Filtering
Loci filtered by minimum length                 119
Loci filtered by minimum sample coverage        150,114
Loci filtered by maximum variant frequency      0
Loci filtered by maximum shared heterozygosity  3,906
Loci filtered by maximum depth outlier          0

# Sample Masking
Loci with samples masked by minimum observed fraction threshold  4
Sample masks triggered by minimum observed fraction threshold    4
Loci with samples masked by sample heterozygosity threshold      135
Sample masks triggered by sample heterozygosity threshold        153

# Alignment Summary
Mean locus length                           68.217
Median locus length                         69.000
Minimum locus length                        25
Maximum locus length                        89
Mean samples per locus                      8.842
Median samples per locus                    9.000
Sites with sample coverage >= 2             3,083,388
Sites with sample coverage >= 3             3,075,143
Sites with sample coverage >= 4             3,068,712
Sites with sample coverage >= trim minimum  3,068,712

# Sample Summary
Sample                  Sample type  Read layout  Reads before filtering  Reads after filtering  Loci in alignment  Loci fraction in alignment  Shared loci with nonzero depth  Shared-depth loci fraction  Mean depth in shared loci  Median depth in shared loci  Mean depth in nonzero shared loci  Median depth in nonzero shared loci  Masked by minimum observed fraction threshold  Masked by sample heterozygosity threshold
29154_superba           RAD          SE           565,699                 479,661                26,106             0.574415                    26,120                          0.574723                    7.216                      5.000                        12.556                             8.000                                0                                              14
30556_thamno            RAD          SE           1,203,783               1,054,723              35,767             0.786987                    35,771                          0.787075                    16.652                     11.913                       21.157                             13.928                               0                                              4
30686_cyathophylla      RAD          SE           906,425                 805,755                30,766             0.676949                    30,776                          0.677170                    10.366                     8.000                        15.307                             10.725                               0                                              10
32082_przewalskii       RAD          SE           762,232                 613,739                16,664             0.366661                    16,693                          0.367299                    6.118                      0.000                        16.656                             9.000                                0                                              29
33413_thamno            RAD          SE           453,172                 396,835                24,518             0.539474                    24,528                          0.539694                    5.696                      5.000                        10.553                             7.000                                0                                              10
33588_przewalskii       RAD          SE           791,803                 646,001                18,695             0.411349                    18,718                          0.411855                    6.138                      0.000                        14.904                             10.028                               0                                              23
35236_rex               RAD          SE           1,240,060               1,101,371              36,994             0.813985                    37,003                          0.814183                    18.193                     15.725                       22.345                             17.884                               1                                              8
35855_rex               RAD          SE           1,194,257               1,039,563              37,436             0.823711                    37,445                          0.823909                    15.646                     12.493                       18.991                             14.000                               0                                              9
38362_rex               RAD          SE           1,256,898               1,117,068              37,349             0.821796                    37,361                          0.822060                    18.421                     14.000                       22.409                             15.967                               2                                              10
39618_rex               RAD          SE           681,370                 590,414                33,200             0.730505                    33,206                          0.730637                    8.719                      7.768                        11.933                             9.000                                1                                              5
40578_rex               RAD          SE           1,453,729               1,311,633              38,000             0.836120                    38,011                          0.836362                    22.080                     15.000                       26.400                             17.000                               0                                              11
41478_cyathophylloides  RAD          SE           1,982,701               1,731,466              34,228             0.753124                    34,239                          0.753366                    27.202                     23.000                       36.107                             27.000                               0                                              11
41954_cyathophylloides  RAD          SE           1,815,828               1,603,428              32,140             0.707182                    32,149                          0.707380                    11.821                     9.000                        16.711                             11.435                               0                                              9

# Locus Occupancy
Samples with data  RAD loci before min sample coverage  RAD loci after min sample coverage  Final filtered RAD loci with WGS  Cumulative final loci  Fraction of final loci
0                  0                                    0                                   0                                 0                      0.000000
1                  106,886                              0                                   0                                 0                      0.000000
2                  33,836                               0                                   0                                 0                      0.000000
3                  9,363                                0                                   0                                 0                      0.000000
4                  6,260                                6,232                               5,529                             5,529                  0.121656
5                  4,605                                4,604                               3,842                             9,371                  0.084536
6                  4,220                                4,220                               3,462                             12,833                 0.076175
7                  3,643                                3,643                               3,274                             16,107                 0.072038
8                  3,262                                3,262                               2,999                             19,106                 0.065988
9                  4,109                                4,110                               3,859                             22,965                 0.084910
10                 5,383                                5,382                               5,225                             28,190                 0.114967
11                 6,602                                6,602                               6,377                             34,567                 0.140314
12                 5,872                                5,872                               5,726                             40,293                 0.125990
13                 5,490                                5,490                               5,155                             45,448                 0.113426

loci

head -n 300 SRP021469/OUT/assembly.stats.txt
assembly_reference_sequence  ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTGCAG
29154_superba                ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
30556_thamno                 ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
30686_cyathophylla           ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
32082_przewalskii            ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
33413_thamno                 ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
33588_przewalskii            ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
35236_rex                    ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
35855_rex                    ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
38362_rex                    ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
39618_rex                    ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
40578_rex                    ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
41478_cyathophylloides       ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
41954_cyathophylloides       ATCCGCTCTTTTTCCTATTCAAAGATCAGCCCCCTGGCTCTGTGTTTTCACATCGAGAATTATTTNCAG
//                                                                                                |0:locus_1_1:1-69
assembly_reference_sequence  AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
29154_superba                AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
30556_thamno                 AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
30686_cyathophylla           AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
32082_przewalskii            AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
33413_thamno                 AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
33588_przewalskii            AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
35236_rex                    AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
35855_rex                    AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
38362_rex                    AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
39618_rex                    AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
40578_rex                    AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
41478_cyathophylloides       AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
41954_cyathophylloides       AAGAAAAAACAGCAAAATCCGATCCAATTTATCGTAATCGATTAGTTAACATGTTGGTTAACCGTATTC
//                                                                                                |1:locus_2_1:1-69
assembly_reference_sequence  GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACC
29154_superba                GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
30556_thamno                 GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
30686_cyathophylla           GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACC
32082_przewalskii            GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
33413_thamno                 GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
33588_przewalskii            GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
35236_rex                    GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACC
35855_rex                    GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
38362_rex                    GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACC
39618_rex                    GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
40578_rex                    GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
41478_cyathophylloides       GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACN
41954_cyathophylloides       GGTCCCAAATGAATTGGCTTATTCGAAAAAGGCCTTGTTCTTTGGAAGATCTATCTCGTGTCTGGTACT
//                                                                                               *|2:locus_3_1:1-69
assembly_reference_sequence  CCTAGAAATGATGTTGGCTTCGATGTTGGCAACATCATACTCCACATCAATGTCTGCTGCTCC
30556_thamno                 CCTAGAAATGATGTTGGCTTCGATNTTGGCAACATCATACTCCACATCAATGTCTNCTGCTCC
35236_rex                    CCTAGAAATGATGTTGGCTTCGATNTTGGCAACATCATACTCCAYATCAATGTCTNCTGCTCC
35855_rex                    CCTAGAAATGATGTTGGCTTCGATNTTGGCAACATCATACTCCACATCAATGTCTNCTGCTCC
38362_rex                    CCTAGAAATGATGTTGGCTTCGATNTTGGMAACATCATACTCCACATCAATGTCWNCTGCTCC
39618_rex                    CCTAGAAATGATGTTGGCTTCGATNTTGGCAACATCATACTCCACATCAATGTCTNCTGCTCC
40578_rex                    CCTAGAAATGATGTTGGCTTCGATNTTGGCAACATCATACTCCACATCAATGTCTNCTGCTCC
//                                                        -              -         -        |3:locus_4_25:9-71
assembly_reference_sequence  TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
29154_superba                TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
30556_thamno                 TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
30686_cyathophylla           TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
32082_przewalskii            TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATCAC
33413_thamno                 TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
33588_przewalskii            TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATCAC
35236_rex                    TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
35855_rex                    TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
38362_rex                    TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
39618_rex                    TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
40578_rex                    TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
41478_cyathophylloides       TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
41954_cyathophylloides       TACCTCGACGTGACATGAGCGTGAAAGGGGTTTAAGAATCAGTTTTCTTTTTATAAGGGCTAAAATTAC
//                                                                                             *  |4:locus_5_1:1-69
assembly_reference_sequence  CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
29154_superba                CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
30556_thamno                 CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
30686_cyathophylla           CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
33413_thamno                 CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
33588_przewalskii            CTGCACGAGCCCTTCCTGCATGCCACAAATGACCTACGAAGAAGAAGAATCCTAGAACAAAATGAGAGG
35236_rex                    CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
35855_rex                    CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
38362_rex                    CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
39618_rex                    CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
40578_rex                    CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
41478_cyathophylloides       CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
41954_cyathophylloides       CTGCACGAGCCCTTCCCGCATGCCACAAATGACCTACGAATAAGAAGAATCCTAGAACAAAATGAGAGG
//                                           -                       -                            |5:locus_6_1:1-69
assembly_reference_sequence  TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
29154_superba                TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGACTTACTAGCCTTGATCGTT
30556_thamno                 TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
30686_cyathophylla           TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
32082_przewalskii            TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGACTTACTAGCCTTGATCGTT
33413_thamno                 TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
33588_przewalskii            TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGACTTACTAGCCTTGATCGTT
35236_rex                    TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
35855_rex                    TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
38362_rex                    TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
39618_rex                    TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
40578_rex                    TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGGCTTACTAGCCTTGATCGTT
41478_cyathophylloides       TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGACTTACTAGCCTTGATCGTT
41954_cyathophylloides       TAGCTGCCGAATCTTCTACTGGTACATGGACAACTGTGTGGACCGATGGACTTACTAGCCTTGATCGTT
//                                                                            *                   |6:locus_7_1:1-69
assembly_reference_sequence  CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
29154_superba                CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
30556_thamno                 CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
30686_cyathophylla           CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
32082_przewalskii            CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
33413_thamno                 CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
33588_przewalskii            CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
35236_rex                    CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
35855_rex                    CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
38362_rex                    CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
39618_rex                    CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
40578_rex                    CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
41478_cyathophylloides       CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
41954_cyathophylloides       CCGGATTTGAAAAAGGAATTGATCGCGATTTTGAACCTGTTCTTTCCATGACCCCTCTTAATTGAGATG
//                                                                                                |7:locus_8_1:1-69
assembly_reference_sequence  CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
29154_superba                CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
30556_thamno                 CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
30686_cyathophylla           CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
32082_przewalskii            CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
33413_thamno                 CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
33588_przewalskii            CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
35236_rex                    CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
35855_rex                    CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
38362_rex                    CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
39618_rex                    CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
40578_rex                    CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
41478_cyathophylloides       CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
41954_cyathophylloides       CCCCTGCTTCTTCAGGCGGAACTCCAGGTTGAGGAGTTACTCGGAATGCTGCCAAGATATCA
//                                                                                         |8:locus_9_1:1-62
assembly_reference_sequence  TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
29154_superba                TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
30556_thamno                 TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
30686_cyathophylla           TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
32082_przewalskii            TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
33413_thamno                 TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
33588_przewalskii            TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
35236_rex                    TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
35855_rex                    TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
38362_rex                    TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
39618_rex                    TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
40578_rex                    TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
41478_cyathophylloides       TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
41954_cyathophylloides       TTGTGATTGATCAAGAAGGAAATCCAAAAGGAACTCGCATTTTTGGTGCAATCCCGCGGGAATTGCGAC
//                                                                                                |9:locus_10_1:1-69
assembly_reference_sequence  AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
29154_superba                AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCGTAAAGTAGAGATCCAGAAACAGGTTCACGAA
30556_thamno                 AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
30686_cyathophylla           AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
32082_przewalskii            AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCGTAAAGTAGAGATCCAGAAACAGGTTCACGAA
33413_thamno                 AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
33588_przewalskii            AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCGTAAAGTAGAGATCCAGAAACAGGTTCACGAA
35236_rex                    AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
35855_rex                    AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
38362_rex                    AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
39618_rex                    AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
40578_rex                    AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCATAAAGTAGAGATCCAGAAACAGGTTCACGAA
41478_cyathophylloides       AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCGTAAAGTAGAGATCCAGAAACAGGTTCACGAA
41954_cyathophylloides       AAGTAGGAATAATGGCACCCGAGATAATATTGTTTCCGTAAAGTAGAGATCCAGAAACAGGTTCACGAA
//                                                                *                               |10:locus_11_1:1-69
assembly_reference_sequence  CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
29154_superba                CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
30556_thamno                 CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
30686_cyathophylla           CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
32082_przewalskii            CATTGTCATCATATCGTATTATCATGCCGCTGTTACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
33413_thamno                 CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
33588_przewalskii            CATTGTCATCATATCGTATTATCATGCCGCTGTTACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
35236_rex                    CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
35855_rex                    CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
38362_rex                    CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
39618_rex                    CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
40578_rex                    CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
41478_cyathophylloides       CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
41954_cyathophylloides       CATTGTCATCATATCGTATTATCATGCCGCTGTCACGTTTAAGTTCTTTACAGGTACGAACAATGACAG
//                                                            *                                   |11:locus_13_1:1-69
assembly_reference_sequence  CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
29154_superba                CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
30556_thamno                 CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
30686_cyathophylla           CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
32082_przewalskii            CAGAATAAACCAATTTAAAAATGGGATAACATGCTTTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
33413_thamno                 CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
33588_przewalskii            CAGAATAAACCAATTTAAAAATGGGATAACATGCTTTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
35236_rex                    CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
35855_rex                    CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
38362_rex                    CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
39618_rex                    CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
40578_rex                    CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
41478_cyathophylloides       CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
41954_cyathophylloides       CAGAATAAACCAATTTAAAAATGGGATAACATGCTCTATAGGGCATGAGCTCGAGTATCATAAGTGTTT
//                                                              *                                 |12:locus_14_1:1-69
assembly_reference_sequence  GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
29154_superba                GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
30556_thamno                 GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
30686_cyathophylla           GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
32082_przewalskii            GCCCTAGAACCAGAAATAAATAAGCTTATTCTTTGTTCACTTGAATCAGAATTCTAACCCGAACTCAAA
33413_thamno                 GCCTTAGAACTAGAAATAAATAAGCTTATTTTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
33588_przewalskii            GCCCTAGAACCAGAAATAAATAAGCTTATTCTTTGTTCACTTGAATCAGAATTCTAACCCGAACTCAAA
35236_rex                    GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
35855_rex                    GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
38362_rex                    GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
39618_rex                    GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
40578_rex                    GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
41478_cyathophylloides       GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
41954_cyathophylloides       GCCTTAGAACTAGAAATAAATAAGCTTATTCTTTGTTCATTTGAATCAGAATTCCAACCCGAACTCAAA
//                              *      *                   -        *              *              |13:locus_15_1:1-69
assembly_reference_sequence  AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
29154_superba                AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
30556_thamno                 AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
30686_cyathophylla           AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
32082_przewalskii            AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGGTCTGGTTCACCCGACACGTACAC
33413_thamno                 AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
33588_przewalskii            AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGGTCTGGTTCACCCGACACGTACAC
35236_rex                    AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
35855_rex                    AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
38362_rex                    AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
39618_rex                    AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
40578_rex                    AACACGTGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
41478_cyathophylloides       AACACGCGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
41954_cyathophylloides       AACACGCGCGAGCCCCTTCGAATGGAAAAATAAAATTTAATGAGGATCTGGTTCACCCGACACGTACAC
//                                 *                                      *                       |14:locus_16_1:1-69
assembly_reference_sequence  CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
29154_superba                CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
30556_thamno                 CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
30686_cyathophylla           CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
32082_przewalskii            CTCTAGTGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
33413_thamno                 CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
33588_przewalskii            CTCTAGTGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
35236_rex                    CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
35855_rex                    CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
38362_rex                    CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
39618_rex                    CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
40578_rex                    CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
41478_cyathophylloides       CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
41954_cyathophylloides       CTCTAGCGGTCGGCTCGGTTCTTTCAAATTGTTTCTCATTATTGAGAAAAGGTAACAAAGATAAAATAC
//                                 *                                                              |15:locus_17_1:1-69
assembly_reference_sequence  TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
29154_superba                TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
30556_thamno                 TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
30686_cyathophylla           TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
32082_przewalskii            TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
33413_thamno                 TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
33588_przewalskii            TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
35236_rex                    TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
35855_rex                    TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
38362_rex                    TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
39618_rex                    TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
40578_rex                    TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
41478_cyathophylloides       TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
41954_cyathophylloides       TTTGAGCAGCAAAGGGTGTCCCTCTTCTCGTACCCTTGAATCCACAAGTACCGGCCGAGGACC
//                                                                                          |16:locus_18_1:1-63
assembly_reference_sequence  TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
29154_superba                TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
30556_thamno                 TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
30686_cyathophylla           TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
32082_przewalskii            TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
33413_thamno                 TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
33588_przewalskii            TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
35236_rex                    TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
35855_rex                    TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
38362_rex                    TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
39618_rex                    TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
40578_rex                    TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
41478_cyathophylloides       TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
41954_cyathophylloides       TACCCCCCGTGAATACTCCGCCGGTATGAAAAGTTCTTAATGTTAATTGAGTGCCCGGTTCTCCAATTG
//                                                                                                |17:locus_19_1:1-69
assembly_reference_sequence  CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
29154_superba                CAAACGCAACTTTCAGTATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
30556_thamno                 CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
30686_cyathophylla           CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
32082_przewalskii            CAAACGCAGCTTTCAATATGGGTTCCGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
33413_thamno                 CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
33588_przewalskii            CAAACGCAGCTTTCAATATGGGTTCCGACGAAGCCAATTTAGTAATTAGTAAAGMTGAGGTTAATGAGG
35236_rex                    CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
35855_rex                    CAAACGCAACTTTCAATATRGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGYTGAGGTTAATGAGG
38362_rex                    CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
39618_rex                    CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
40578_rex                    CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
41478_cyathophylloides       CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
41954_cyathophylloides       CAAACGCAACTTTCAATATGGGTTCTGACGAAGCCAATTTAGTAATTAGTAAAGCTGAGGTTAATGAGG
//                                   *      -   -     *                            -              |18:locus_20_1:1-69
assembly_reference_sequence  CAAACGCAGCTTACAATATGGGTTCCGACGAGGCTAATTTAGTAATTAGTAAAGCTGAGGTTAATGAAG
30686_cyathophylla           CAAACGCAGCTTACAATATGGGTTCCGACGAGGCTAATTTAGTAATTAGTAAAGCTGAGGTTAATGAAG
32082_przewalskii            CAAACGCAGCTTACAATATGGGTTCCRACGAGGCTAATTTAGTAATTAGTAAAGCTGARGTTAATGAAG
33588_przewalskii            CAAACGCAGCTTACAATATGGGTTCCAACGAGGCTAATTTAGTAATTAGTAAAGCTGAGGTTAATGAAG
35855_rex                    CAAACACAACTTACAATATGGGTTCCGACGAGGCCAATTCAGTAATTAGTAAAGTTGAGGTTAATGAGG
41478_cyathophylloides       CAAACGCAGCTTACAATATGGGTTCCGACGAGGCTAATTTAGTAATTAGTAAAGCTGAGGTTAATGAAG
41954_cyathophylloides       CAAACGCAGCTTACAATATGGGTTCCGACGAGGCTAATTTAGTAATTAGTAAAGCTGAGGTTAATGAAG
//                                -  -                 *       -    -              -   -        - |19:locus_20_3:1-69
assembly_reference_sequence  CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
29154_superba                CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
30556_thamno                 CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
30686_cyathophylla           CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
32082_przewalskii            CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
33413_thamno                 CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
33588_przewalskii            CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
35236_rex                    CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
35855_rex                    CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
38362_rex                    CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
39618_rex                    CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
40578_rex                    CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
41478_cyathophylloides       CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
41954_cyathophylloides       CTATCGGTTTGCACTTTTACCCAATCTGGGAAGCAGCATCCGTTGATGAATGGTTATACAATGG
//                                                                                           |20:locus_21_1:1-64

output files

ls -lh SRP021469/OUT/
total 37M
-rw-rw-r-- 1 deren deren 948K Jul 20 15:11 assembly.bed
-rw-rw-r-- 1 deren deren 5.7M Jul 20 15:11 assembly.loci.gz
-rw-rw-r-- 1 deren deren 6.1M Jul 20 15:12 assembly.vcf.gz
-rw-rw-r-- 1 deren deren 521K Jul 20 15:12 assembly.vcf.gz.csi
-rw-rw-r-- 1 deren deren  24M Jul 20 15:12 assembly.hdf5
-rw-rw-r-- 1 deren deren  11K Jul 20 15:12 assembly.stats.txt
-rw-rw-r-- 1 deren deren  15K Jul 20 15:12 assembly.stats.json

Analysis

This dataset is used as an example for each tool in the Analysis section. Below I show just one example of using the window extracter (wex) tool filter and write a concatenated alignment, followed by raxml-ng to infer a ML phylogenetic tree.

window-extracter (wex)

ipyrad2 wex \
  -d SRP021469/OUT/assembly.hdf5 \
  -o SRP021469/output-wex \
  -n assembly_min8 \
  -m 8 \
  -r 0.9
2026-07-20 16:59:25 | INFO     | cli_analysis.py      | -------------------------------------------------------
2026-07-20 16:59:25 | INFO     | cli_analysis.py      | ----- ipyrad2 wex: extract alignments from windows -----
2026-07-20 16:59:25 | INFO     | cli_analysis.py      | -------------------------------------------------------
2026-07-20 16:59:25 | INFO     | cli_analysis.py      | CMD: ipyrad2 wex -d SRP021469/OUT/assembly.hdf5 -m 8 -o SRP021469/output-wex -n assembly_min8 -r 0.9
2026-07-20 16:59:25 | INFO     | window_extracter.py  | No windows specified; selecting the full length of all scaffolds. Use -w to subset scaffold windows and -P to view scaffold names.
2026-07-20 16:59:25 | INFO     | window_extracter.py  | selected 45448 windows from 45448 scaffolds
2026-07-20 16:59:43 | INFO     | window_extracter.py  | wrote alignment (13, 1965012) to: /home/deren/Documents/tools/ipyrad2/SRP021469/output-wex/assembly_min8.phy
2026-07-20 16:59:43 | INFO     | window_extracter.py  | wrote stats/log to: /home/deren/Documents/tools/ipyrad2/SRP021469/output-wex/assembly_min8.stats.txt

This generated an alignment that is 13 taxa x 1.96M sites. Examining the stats file we can see additional information.

cat SRP021469/output-wex/assembly_min8.stats.txt
CMD: ipyrad2 wex -d SRP021469/OUT/assembly.hdf5 -m 8 -o SRP021469/output-wex -n assembly_min8 -r 0.9

# Extract Summary
infile                    SRP021469/OUT/assembly.hdf5
outfile                   /home/deren/Documents/tools/ipyrad2/SRP021469/output-wex/assembly_min8.phy
out_format                phy
windows_selected          45,448
selected_windows_preview  locus_1_1:1-69, locus_2_1:1-69, locus_3_1:1-72, locus_4_25:1-71, locus_5_1:1-69, locus_6_1:1-69, locus_7_1:1-69, locus_8_1:1-69, locus_9_1:1-62, locus_10_1:1-69, ... (45448 total)

# Filtering Summary
populations                     all
min_sample_coverage_filter      all=8
max_sample_missing              0.900000
samples_selected_initial        13
samples_dropped_by_max_missing  0
samples_final                   13

# Alignment Summary
nsamples_before_filtering              13
nsites_in_windows_before_filtering     3,100,317
nvariants_in_windows_before_filtering  183,379
nsamples_after_filtering               13
nsites_in_windows_after_filtering      1,965,012
nvariants_in_windows_after_filtering   126,655

# Sample Summary
sample                  population  percent_missing  dropped_by_max_missing
29154_superba           all         26.241           no
30556_thamno            all         6.652            no
30686_cyathophylla      all         14.528           no
32082_przewalskii       all         49.630           no
33413_thamno            all         33.084           no
33588_przewalskii       all         43.547           no
35236_rex               all         4.721            no
35855_rex               all         4.861            no
38362_rex               all         4.950            no
39618_rex               all         13.964           no
40578_rex               all         3.844            no
41478_cyathophylloides  all         6.613            no
41954_cyathophylloides  all         10.684           no

Now that have written a concatenated phylip file with the supermatrix alignment we can run a tree inference tool on it, such as raxml-ng below.

raxml-ng concatenation tree

Here we use raxml-ng to infer a phylogenetic tree from the supermatrix alignment generated by wex. We specify the --all option which will perform a tree search and bootstrap analysis to calculate support values. We specify the input (--msa) as the phy file produced in the previous step, indicate the substitution model choice, here using the common default GTR+G, and tell it to perform 100 non-parametric bootstrap replicate searches (--bs-trees). This will likely take 20 minutes or more to run.

raxml-ng \
    --all \
    --msa SRP021469/output-wex/assembly_min8.phy \
    --model GTR+G \
    --bs-trees 100 \
    --workers 2

When it finishes you an examine the results by plotting a tree. The default result files are saved to the same folder as the input file. One easy way to plot a tree is using toytree, which can plot trees either in the terminal, or as high quality vector graphics in formats like PDF. It can also be used to perform operations on a tree, such as re-rooting on an outgroup, as shown below.

Let's start by rooting the tree on an outgroup, which in this case is the taxa labeled 'przewalksii'.

toytree root \
    -i SRP021469/output-wex/assembly_min8.phy.raxml.support \
    -o SRP021469/output-wex/assembly_min8.phy.raxml.support.rooted \
    -n "~prz" \
    --mad

Then we can print a tree visualization to the terminal:

toytree view \
    -i SRP021469/output-wex/assembly_min8.phy.raxml.support.rooted \
    --ladderize
                               ┌───32082_przewalskii
┌──────────────────────────────┤
│                              └───33588_przewalskii
│
│                       ┌─────────29154_superba
│                    ┌──┤
│                    │  └─────────30686_cyathophylla
│                ┌───┤
│                │   │            ┌─41954_cyathophylloides
│                │   └────────────┤
└────────────────┤                └─41478_cyathophylloides
                 │
                 │      ┌───────33413_thamno
                 │      │
                 └──────┤┌─────────30556_thamno
                        ││
                        └┤   ┌────35855_rex
                         │┌──┤
                         ││  └────40578_rex
                         └┤
                          │┌────────35236_rex
                          └┤
                           │      ┌──38362_rex
                           └──────┤
                                  └──39618_rex

Or generate a high quality PDF tree visualization and open it externally:

toytree draw \
    -i SRP021469/output-wex/assembly_min8.phy.raxml.support.rooted \
    -o SRP021469/output-wex/assembly_min8.phy.raxml.support.rooted.pdf \
    --node-labels 'support' \
    --ladderize

Or you can open a python or jupyter session and use toytree interactively in Python to generate a tree figure with many more styling options. See the toytree docs.

EXIT

treeslider tree set

Another useful phylogenetic analysis is to infer a species tree using ASTRAL. Here, you must first infer a gene tree for each locus individually, and then analyze the distribution of gene trees to find the best species tree that can explain the variation among trees under assumptions of multi-species coalescent model. This takes into account the expectation that incomplete lineage sorting will cause gene tree variation among close relatives.

The treeslider tool in ipyrad2 makes it easy to infer a gene tree for each locus, while also filtering the dataset to only consider loci that meet some minimum filtering requirement. For example, you can require that all samples are present, or that at least a certain subset of samples are present using the -m, --imap, and --minmap arguments. Here we just use -m 10 to require that a locus has data for at least 13 samples. After filtering the set of loci, it will run a raxml-ng analysis for each one to generate a tree, with the final set of trees saved to the result table.

ipyrad2 treeslider \
  -d SRP021469/OUT/assembly.hdf5 \
  -o SRP021469/OUT/output-treeslider \
  -m 10
...

astral species tree

Create an IMAP file mapping each sample to a group/population name.

32082_przewalskii       przewalskii
33588_przewalskii       przewalskii
29154_superba           superba
30686_cyathophylla      cyathophylla
41954_cyathophylloides  cyathophylloides
41478_cyathophylloides  cyathophylloides
33413_thamno            thamnophila_subsp_cupuliformis
30556_thamno            thamnophila_subsp_thamnophila
35855_rex               rex_subsp_rex
40578_rex               rex_subsp_rex
35236_rex               rex_subsp_rockii
38362_rex               rex_subsp_lipskyana
39618_rex               rex_subsp_lipskyana

Infer a species tree in astral4 by providing the input set of trees and mapping file.

astral4 \
    --input ... \
    --mapping ... \
    --output ... \
    --thread 6 \
    --root przewalskii \
    ...
toytree

PCA

ipyrad2 pca \
  -d SRP021469/OUT/assembly.hdf5 \
  -o SRP021469/OUT/output-pca \
  ...

BPP model fit

The ipyrad2 bpp tool makes it easy to setup and run BPP analyses from an ipyrad assembly. This includes fitting MSC, MSC-i, and MSC-m models, inferring species trees, and performing species delimitation.

ipyrad2 bpp \
  -d ... \
  -o ... \