当前位置: 首页 > news >正文

SQL-leetcode—3475. DNA 模式识别

3475. DNA 模式识别

表:Samples

±---------------±--------+
| Column Name | Type |
±---------------±--------+
| sample_id | int |
| dna_sequence | varchar |
| species | varchar |
±---------------±--------+
sample_id 是这张表的唯一主键。
每一行包含一个 DNA 序列以一个字符(A,T,G,C)组成的字符串表示以及它所采集自的物种。
生物学家正在研究 DNA 序列中的基本模式。编写一个解决方案以识别具有以下模式的 sample_id:

以 ATG 开头 的序列(一个常见的 起始密码子)
以 TAA,TAG 或 TGA 结尾 的序列(终止密码子)
包含基序 ATAT 的序列(一个简单重复模式)
有 至少 3 个连续 G 的序列(如 GGG 或 GGGG)
返回结果表以 sample_id 升序 排序。

结果格式如下所示。

示例:

输入:

Samples 表:

±----------±-----------------±----------+
| 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 |
±----------±-----------------±----------+
输出:

±----------±-----------------±------------±------------±-----------±-----------±-----------+
| 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 |
±----------±-----------------±------------±------------±-----------±-----------±-----------+
解释:

样本 1(ATGCTAGCTAGCTAA):
以 ATG 开头(has_start = 1)
以 TAA 结尾(has_stop = 1)
不包含 ATAT(has_atat = 0)
不包含至少 3 个连续 ‘G’(has_ggg = 0)
样本 2(GGGTCAATCATC):
不以 ATG 开头(has_start = 0)
不以 TAA,TAG 或 TGA 结尾(has_stop = 0)
不包含 ATAT(has_atat = 0)
包含 GGG(has_ggg = 1)
样本 3(ATATATCGTAGCTA):
不以 ATG 开头(has_start = 0)
不以 TAA,TAG 或 TGA 结尾(has_stop = 0)
包含 ATAT(has_atat = 1)
不包含至少 3 个连续 ‘G’(has_ggg = 0)
样本 4(ATGGGGTCATCATAA):
以 ATG 开头(has_start = 1)
以 TAA 结尾(has_stop = 1)
不包含 ATAT(has_atat = 0)
包含 GGGG(has_ggg = 1)
样本 5(TCAGTCAGTCAG):
不匹配任何模式(所有字段 = 0)
样本 6(ATATCGCGCTAG):
不以 ATG 开头(has_start = 0)
以 TAG 结尾(has_stop = 1)
包含 ATAT(has_atat = 1)
不包含至少 3 个连续 ‘G’(has_ggg = 0)
样本 7(CGTATGCGTCGTA):
不以 ATG 开头(has_start = 0)
不以 TAA,TAG 或 TGA 结尾(has_stop = 0)
不包含 ATAT(has_atat = 0)
不包含至少 3 个连续 ‘G’(has_ggg = 0)
注意:

结果以 sample_id 升序排序
对于每个模式,1 表示该模式存在,0 表示不存在

题解

分析需求中的 4 个判断条件

  • has_start:dna_sequence 以 ATG 开头 → 符合为 1,否则为 0。
  • has_stop:dna_sequence 以 TAA、TAG 或 TGA 结尾 → 符合为 1,否则为 0。
  • has_atat:dna_sequence 包含子串 ATAT → 符合为 1,否则为 0。
  • has_ggg:dna_sequence 包含至少 3 个连续的 G(即 GGG 或更多,如 GGGG)→ 符合为 1,否则为 0。

方法一

SELECT sample_id,dna_sequence,species,-- 判断是否以 ATG 开头CASE WHEN dna_sequence LIKE 'ATG%' THEN 1 ELSE 0 END AS has_start,-- 判断是否以 TAA、TAG 或 TGA 结尾CASE WHEN dna_sequence LIKE '%TAA' OR dna_sequence LIKE '%TAG' OR dna_sequence LIKE '%TGA' THEN 1 ELSE 0 END AS has_stop,-- 判断是否包含 ATAT 子串CASE WHEN dna_sequence LIKE '%ATAT%' THEN 1 ELSE 0 END AS has_atat,-- 判断是否包含至少 3 个连续的 G(GGG 及以上)CASE WHEN dna_sequence LIKE '%GGG%' THEN 1 ELSE 0 END AS has_ggg
FROM Samples
ORDER BY sample_id ASC; -- 按 sample_id 升序排序
http://www.dtcms.com/a/541194.html

相关文章:

  • AI搜索优化工具推荐!如何用免费工具帮助内容在AI搜索中抢占排名
  • 【GESP】C++二级真题 luogu-B4411 [GESP202509 二级] 优美的数字
  • 提供虚拟主机服务的网站扬州建设工程信息网站
  • C++ 分治 归并排序 归并排序VS快速排序 力扣 912. 排序数组 题解 每日一题
  • 大语言模型发展脉络
  • Python元编程:理解__metaclass__和元类的力量
  • 快速排序和交换排序详解(含三路划分)
  • android如何在framework层禁止指定包名访问网络
  • 输电线路绝缘子缺陷检测数据集VOC+YOLO格式4061张5类别
  • Git 完全指南:入门篇
  • 上海牛巨微seo关键词优化怎么做网站的seo优化
  • 温州网站制作软件凌晨三点看的片免费
  • 【Java +AI |基础篇day4 数组】
  • 麒麟系统使用-在Sublime中达到滚屏效果
  • 泰州网站关键词优化软件咨询新网站友链
  • 行政还要负责网站建设新媒体吗7000元买一个域名做网站
  • 前端常用的环境 API 清单
  • CreArt 2.5.6| 无限AI图片生成,需要注意的是点创建之后切出去几秒再切回来
  • 现金流量表不平排查方法
  • 深入理解 HTTP Cookie 与 Session:会话管理的核心机制
  • 【Windows】CoInitializeEx 和 CoUninitialize() 必须在同一个线程中调用吗?
  • 网站建设职责要求saas建站平台
  • 优秀国外网站设计赏析郑州企业网站优化哪家便宜
  • 机器学习、深度学习、信号处理领域常用公式速查表
  • 各类服装网站建设软件正版化情况及网站建设情况
  • 服务器端护照识别技术:通过图像预处理、OCR字符识别和智能分析实现高效身份核验
  • 武胜网站建设敬请期待海报
  • 基于Vue的高校教师文件管理系统7h274l7n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Surface-Book-3 i7-1065G7-i5-1035G7 黑苹果 EFI
  • 北京汽车业务网站开发公司建设银行网站网址是什么