Search ⌘K
I
IshaSQL

Foundations Track · Easy · 15 min

DNA Pattern Recognition

Table: Samples +----------------+---------+ | Column Name | Type | +----------------+---------+ | sample_id | int | | dna_sequence | varchar | | species | va...

Foundations Track
Easy
15 min
filtering

Company labels are directional practice context, not official interview guidance.

Timer 00:00
Back to practice

Objective

Practice filtering through a IshaSQL-tagged business scenario.

Approach

Use this track to lock in clean query structure, basic filtering logic, and confidence with grouped output.

Company context

Company labels are directional practice context, not official interview guidance.

Prereq: query basics

Table: Samples +----------------+---------+ | Column Name | Type | +----------------+---------+ | sample_id | int | | dna_sequence | varchar | | species | varchar | +----------------+---------+ sample_id is the unique key for this table. Each row contains a DNA sequence represented as a string of characters (A, T, G, C) and the species it was collected from. Biologists are studying basic patterns in DNA sequences. Write a solution to identify sample_id with the following patterns: Sequences that start with ATG (a common start codon ) Sequences that end with either TAA , TAG , or TGA ( stop codons ) Sequences containing the motif ATAT (a simple repeated pattern) Sequences that have at least 3 consecutive G (like GGG or GGGG ) Return the result table ordered by sample_id in ascending order . The result format is in the following example. Example: Input: Samples table: +-----------+------------------+-----------+ | sample_id | dna_sequence | species | +-----------+------------------+-----------+ | 1 | ATGCTAGCTAGCTAA | Human | | 2 | GGGTCAATCATC | Human | | 3 | ATATATCGTAGCTA | Human | | 4 | ATGGGGTCATCATAA | Mouse | | 5 | TCAGTCAGTCAG | Mouse | | 6 | ATATCGCGCTAG | Zebrafish | | 7 | CGTATGCGTCGTA | Zebrafish | +-----------+------------------+-----------+ Output: +-----------+------------------+-------------+-------------+------------+------------+------------+ | sample_id | dna_sequence | species | has_start | has_stop | has_atat | has_ggg | +-----------+------------------+-------------+-------------+------------+------------+------------+ | 1 | ATGCTAGCTAGCTAA | Human | 1 | 1 | 0 | 0 | | 2 | GGGTCAATCATC | Human | 0 | 0 | 0 | 1 | | 3 | ATATATCGTAGCTA | Human | 0 | 0 | 1 | 0 | | 4 | ATGGGGTCATCATAA | Mouse | 1 | 1 | 0 | 1 | | 5 | TCAGTCAGTCAG | Mouse | 0 | 0 | 0 | 0 | | 6 | ATATCGCGCTAG | Zebrafish | 0 | 1 | 1 | 0 | | 7 | CGTATGCGTCGTA | Zebrafish | 0 | 0 | 0 | 0 | +-----------+------------------+-------------+-------------+------------+------------+------------+ Explanation: Sample 1 (ATGCTAGCTAGCTAA): Starts with ATG (has_start = 1) Ends with TAA (has_stop = 1) Does not contain ATAT (has_atat = 0) Does not contain at least 3 consecutive 'G's (has_ggg = 0) Sample 2 (GGGTCAATCATC): Does not start with ATG (has_start = 0) Does not end with TAA, TAG, or TGA (has_stop = 0) Does not contain ATAT (has_atat = 0) Contains GGG (has_ggg = 1) Sample 3 (ATATATCGTAGCTA): Does not start with ATG (has_start = 0) Does not end with TAA, TAG, or TGA (has_stop = 0) Contains ATAT (has_atat = 1) Does not contain at least 3 consecutive 'G's (has_ggg = 0) Sample 4 (ATGGGGTCATCATAA): Starts with ATG (has_start = 1) Ends with TAA (has_stop = 1) Does not contain ATAT (has_atat = 0) Contains GGGG (has_ggg = 1) Sample 5 (TCAGTCAGTCAG): Does not match any patterns (all fields = 0) Sample 6 (ATATCGCGCTAG): Does not start with ATG (has_start = 0) Ends with TAG (has_stop = 1) Starts with ATAT (has_atat = 1) Does not contain at least 3 consecutive 'G's (has_ggg = 0) Sample 7 (CGTATGCGTCGTA): Does not start with ATG (has_start = 0) Does not end with TAA, "TAG", or "TGA" (has_stop = 0) Does not contain ATAT (has_atat = 0) Does not contain at least 3 consecutive 'G's (has_ggg = 0) Note: The result is ordered by sample_id in ascending order For each pattern, 1 indicates the pattern is present and 0 indicates it is not present

Samples
sample_id INT
dna_sequence VARCHAR(100
Editor
SQL workspace

Run queries against the protected question data, then submit once the result shape looks right.

Sign in to run SQL

Create a free account or sign in before running queries against protected question data.