BF Workbench is a restricted scientific system. Records are available only to registered, authorised accounts.

Sequence composition

Nucleotide frequencies by taxon.

Reference

Sequence Composition reports the proportion of A, C, G and T, and the GC content, of every selected sequence for one marker, and summarises those values by order, family and genus. Use it to find records whose base composition is unusual for their taxon, to compare taxa, or to inform the choice of a substitution model before another analysis. No alignment is needed, because each sequence is counted on its own.

Purpose

The question answered is "what is the base composition of each sequence, and how does it vary within and between taxa?". The method makes no judgement about a record; it gives the numbers and the distribution so that you can.

Inputs

Records selected on the console, restricted to one marker. The shared record filter (see The methods and their shared pipeline) keeps a record when its marker_code matches, its count of A, C, G and T bases lies within the length bounds, and no more than 10% of its bases are ambiguity codes. A record with no sequence is dropped. The job carries record_id, processid, marker_code, phylum, class, order, family, genus, species, nuc_bases and the sequence into the analysis. Note that subfamily is not carried.

Parameters

Parameter Form offers Job applies
Marker one marker Applied as the marker_code filter
Sequence Length Filter 400–1000 by default Applied, counting A, C, G and T only
Exclude Records with Stop Codons checkbox Not applied
Exclude Records Flagged as Misidentifications or Errors checkbox Not applied

There is no alignment option, and none is needed. The report lists the two checkboxes as submitted even though the job does not apply them.

Method

  1. Per record. The sequence is upper-cased and every character other than A, C, G, T or N is replaced by N; gaps and IUPAC ambiguity codes are therefore treated as N. The percentages are: - pct_A, pct_C, pct_G, pct_T = count of that base ÷ (A + C + G + T) × 100 - pct_GC = (G + C) ÷ (A + C + G + T) × 100

N never enters the denominator, so the percentages describe the resolved bases only. Two lengths are reported: seq_len_raw, the length after cleaning (N included), and seq_len_acgt, the number of resolved bases. 2. Per taxon. Records are grouped by the name in each of order, family and genus. For every taxon the job reports n and the minimum, mean and maximum of each of the five percentages. The script also looks for subfamily, but that field is not carried, so no subfamily rows appear. Species are not summarised. 3. GC histogram. For every taxon the job counts records in 1% bins of pct_GC from 20% to 60%, giving 40 counts for the bins 20–21, 21–22 and so on up to 59–60, written as one comma-separated string. A record whose GC content lies outside 20–60% is not counted in the histogram, although it still contributes to n, the minimum, the mean and the maximum. 4. Charts. The report draws three charts from the two tables: a GC content histogram of all records in 1% bins from 15% to 65% with the mean marked; a stacked bar of mean A, C, G and T per taxon, at family rank when the data set has 2 to 25 families, otherwise order, otherwise genus, otherwise whichever rank has the most taxa (capped at 20), sorted by GC content; and a histogram of seq_len_acgt.

Outputs

File Content
record_composition.tsv One row per record: record_id, the carried taxonomy and record fields, pct_A, pct_C, pct_G, pct_T, pct_GC, seq_len_raw, seq_len_acgt
composition_summary.tsv One row per taxon: rank, taxon, n, then _min, _mean and _max for each percentage, then pct_GC_hist_20-60_step1
analysis_report.html, analysis_report.pdf The report with the three charts
filtered_records.jsonl The records included

Taxa are sorted by rank and then by name in the summary. See Anatomy of a result package for the rest of the package.

Limitations and interpretation

  • Missing taxonomy becomes a taxon. A record with no value at a rank is written with the text null at that rank and summarised under a taxon called null. Treat such rows as "unassigned", and expect them to pull the group statistics in whatever direction those records lean.
  • No species or subfamily summary. Use record_composition.tsv and group by species yourself if you need it.
  • Composition is of the stored sequence. It is taken from the sequence as submitted, on the strand as submitted. Records of the same marker stored on opposite strands will show mirrored A/T and C/G values.
  • Resolved bases only. Because N and ambiguity codes are excluded from the denominator, a heavily ambiguous sequence can show ordinary percentages; check seq_len_acgt against seq_len_raw before trusting a record.
  • Histogram range. Taxa whose GC content lies below 20% or above 60% are under-represented in the histogram string and at the edges of the chart; the minimum and maximum columns are the reliable guide.
  • Filters that do nothing. The stop-codon and misidentification checkboxes have no effect, so a flagged record is included if it passes the marker and length filters.
  • The report does not record the software versions used; see Software, versions and citations.