Sample nucleotides from a given codon position¶
The take_codon_positions
app allows you to extract all nucleotides at a given codon position from an alignment.
Let’s create a sample alignment for our example.
Extract the third codon position from an alignment¶
We can achieve this by creating the take_codon_positions
app with 3
as a positional argument.
Extract the first and second codon positions from an alignment¶
We can achieve this by creating the take_codon_positions
app with 1
and 2
as a positional argument.
Extract only the third codon positions from four-fold degenerate codons¶
We can achieve this by creating the take_codon_positions
app with the argument fourfold_degenerate=True
.
Create a composed process which samples only the third codon position¶
Let’s set up a data store containing all the files with the “.fasta” suffix in the data directory, limiting the data store to two members as a minimum example.
Now let’s set up a process composing the following apps: load_aligned
(loads the sequences ), take_codon_positions
(extracts the third codon position), and write_seqs
(writes the filtered sequences to a data store).
Note
Learn the basics of turning apps into composed processes here!
Tip
When running this code on your machine, remember to replace path_to_dir
with an actual directory path.
Now let’s apply process
to our data store! This populates out_dstore
(which is returned by the .apply_to()
call) with the filtered alignments. We can index out_dstore
to see individual data members. We could take a closer look using the .read()
method on data members.