CodonCode Corporation
Better Software for DNA Sequencing

How to Verify Clones

In molecular cloning experiments, verifying that the sequence of clones matches the expected sequences is a common and important step. CodonCode Aligner's Clone Verification wizard makes this step fast and easy.

This page gives step by step instructions and screenshots showing how to verify clone sequences in CodonCode Aligner.

Starting Clone Verification

To validate clone sequences in CodonCode Aligner, you need to first gather the expected sequence (the reference) and sequence reads for the analyzed clones, which can be from Sanger or NGS sequencing. The sequences can either be in a CodonCode Aligner project, or in separate files in a format that CodonCode Aligner supports (like Genbank for the reference sequence, and abi or FASTA for the clone reads).

This guide explains how to define the reference sequence and the region of your cloning insert; how to assign sequence reads to clones; and how to generate and analyze the clone verification results.

First, open an existing project in CodonCode Aligner, or create a new project. You can also add the sequences you want to analyze to the project now (for example by dragging the sequence files onto the project window).

Example data download: Clone-Verification.zip

Note: To use this dataset, unpack the downloaded ZIP file, and open the "Clone-Verification.ccap" project.

To start the clone verification wizard:

  • You can choose the sequence you want to use as the reference sequence now, or later in the cloning wizard. To choose it now, simply click on the sequence in the project view so it is selected. In the example project, select the "CFTRCloningProduct" sample in the "TA_Cloning" folder:
  • Choose Tools → Clone Verification... to start the clone verification wizard.

Start Gibson Assembly from the Tools menu

This will open the clone verification wizard:

The cloning verification wizard interface

Selecting the Reference and Insert Region

To select or change the reference sequence (the expected sequence for your clones) in the clone verification wizard, you can:

  • Use the "Reference:" pulldown menu in the top right to select an unassembled sample in the project
  • Drag and drop a sample from the project view onto the wizard window
  • Drag and drop an external sequence file onto the wizard window
  • Use the "Open..." option in the "Reference:" pulldown menu to import a sequence from a file.

Once the reference sequence is defined, you need to define the region of your cloning insert. If the reference sequence was created by virtual cloning in CodonCode Aligner, the insert region can usually be found automatically from the "source" tags and/or the cloning history. In this case, the "Use found insert region" box will be checked, and the start and end of the insert region will be shown in the "Start:" and "End:" text boxes.

If the insert region cannot be determined automatically, you need to either select it in the map or bases view, or enter the start and end coordinates manually in the text boxes.

The coordinates of the insert region are used to determine if the sequencing reads cover the insert completely. If you want to verify just part of the insert sequence, or the insert sequence plus part of the vector sequence, you can change the start and end numbers accordingly (after unchecking the "Use found insert region" box if it was checked).

Assigning Sequence Reads to Clones

Click on the "Clone reads" button to switch to the next step, where we define which sequences reads belong to each clone.

Assign reads to clones in the Clone Reads tab

The list on the right shows the available unassembled samples in your project. In this example, we have a forward (.F) and a reverse (.R) read for 8 different clones. The list also shows other sequences from the virtual cloning design, like the primers and the vector and insert fragments.
You can use the "Filter:" box at the top to show only names that match the text you enter:

Sample names filters to only show reads for clones

Here, entering "clone" in the "Filter:" box reduced the samples shown in the list to only the sequence reads for the 8 different clones.

You can manually assign reads to clones by selecting the reads in the list on the right, and dragging them onto a clone card on the left, or by using the "Move" pulldown menu above the list. You can also drag and drop files directly onto the "Clone reads" window to add the sequences in the files to an existing or new clone card.

If your read names indicate which clone reads belong to, like in our example, a faster way is to automatically group samples by name. First, press the "Select All" button, and then choose "Group reads by name" from the "Move" popup menu:

Using Group reads by name from the Move popup menu

This will open a new dialog that shows a suggestion on how to divide the clone names into parts, based on separation characters:

Group by name dialog showing results of automatic name parsing

In this example, the names were separated into 3 parts, and the middle part was selected for assigning clones. You can click on the name parts at the top to group reads by - for example, clicking on ".F" would separate the reads into 2 groups, one with all the ".F" samples and one with all the ".R" samples.

If the automatic name parsing does not give the desired results, you can click on the "Define name parts" button for advanced parsing options. This lets you define separation characters or use name parts of fixed length.

You can even define regular expressions to parse the names, which can be helpful when names follow a clear convention, but use neither separator characters nor fixed length parts. If you are not familiar with regular expressions, AI chatbots can be a great tool.

When you press "OK" in the "Group By Name" dialog, the "Clone reads" tab will show the assignment of samples to the clones:

Results of assigning reads to clones, showing 8 clones with a forward and reverse read each

Here, the forward and reverse reads are correctly assigned to 8 different clones, so we are ready for the next step: generating and analyzing results.

Analyzing Verification Results

Once reference sequence and clone reads are defined, clicking on the "Results" button will start the analysis. CodonCode Aligner aligns the reads for each clone to the reference sequence. Before generating the alignments, circular reference sequences will be rotated if the insert region is close to the start or end of the insert region; in the example project, the insert is at the end of the sequence, so you will see a warning dialog about the rotation:

Results of assigning reads to clones, showing 8 clones with a forward and reverse read each

Generating alignments and analyzing results may take a few seconds. The results for the example project illustrate a number of different possible results:

Analysis results for the 8 clones in the example project

Click on the triangle before the Clone 2 results to see additional analysis details:

Expanded analysis results for the Clone 2, showing coverage and discrepancy details

The graphical overview on the right shows where the reads align; the insert region is shown in black. After the rotation of the reference sequence explained above, the insert region is in the middle of the reference. The graph and the "Coverage:" text show that the entire insert is covered by the two aligned sequences.

For Clone 2 in this example, one discrepancy between the aligned sequence and the reference sequence at position 1958 was found. Clicking on the underlined lines in the "Discrepancies:" table will open a contig view for the aligned contig, and select the discrepant location:

Expanded analysis results for the Clone 2, showing coverage and discrepancy details

The contig view shows that both the forward and the reverse read at this position have a C, while the reference sequence has an A. If you look three bases to the right, you can see a region where the forward and reverse sequence disagree: the forward sequence and the reference sequence have an A, but the reverse sequence read has a C here. In this case, CodonCode Aligner has chosen the A from the forward sequence as the consensus base since it has a higher quality score than the reverse sequence. Using a quality-based consensus sequence, built from the aligned reads but ignoring the reference sequences, allows you to ignore the regions where one of the aligned reads has a error due to low quality.

You may want to use other functions in CodonCode Aligner during your analysis of results. For example, if your sequence reads are Sanger sequences and you imported the chromatogram files, you can use the trace view to double check the original trace files.
Or look at the results for Clone 6, which indicated the insert direction is reversed. A dot plot that compares the sequence of the contig for Clone 6 to the reference sequence clearly shows that this is indeed the case:

Expanded analysis results for the Clone 2, showing coverage and discrepancy details

If necessary, you can edit contigs at this time, and then press the Reanalyze button to update the analysis results to reflect the changes. Alternatively, you can press the Realign button to re-align the clone reads to the reference; this is rarely necessary, but can make sense if you made changes to the sequences that may affect the alignment.

You can use the Confirmed checkbox to track that you have verified the analysis results. The "Confirmed" state will be conserved when you re-analyze results, unless the consensus sequence for an alignment has changed.

Printing Results

Use the Print button in the results tab to print your results. The printout will match what is currently shown on the screen, including details if individual results are expanded. You can quicky expand or collapse results for all clones by right-clicking in the results summary near the top, and selecting "Expand all" or "Collapse all" from the popup menu.

Saving and Re-opening Clone Verification Results

Clone verification results will be saved when you save CodonCode Aligner projects. You can see the results again by opening a project, selecting the "VerifyResults" folder with the result contigs, and then choosing "Clone Verification..." from the "Tools" menu; or by double-clicking on the "VerifyResults" folder. This will open the clone verification wizard, fill out the reference and clone reads panels based on the folder contents, and then re-analyze the results.