我的目标是从 mysql 表中提供的信息中获取 0-1-2 矩阵。
例子:
表'Dom'
Origin|Species | Domain
KMT1 | blabla_1234 | Kringel
KMT1 | blabla_1234 | Helix
KMT1 | wobble_4556 | Kringel
KMT2 | blabla_1234 | Helix
KMT2 | piffi_876 | Kringel
现在我想要以下矩阵:在 x 轴上将是所有物种 - 像这样:
blabla_1234 | wobble_4556 | piffi_876
在 y 轴上将是表“Dom”中的所有域,但它们必须按其相应的 KMT(“来源”)进行分组。 例如,y 轴看起来像这样:
KMT1 Helix
KMT1 Kringel
KMT2 Helix
KMT2 Kringel
结果应该是这样的:
橙色表示给定物种中同时存在结构域和原始蛋白。黄色表示仅在物种中发现了蛋白质,但在域中却没有。 我刚刚学会了如何使用 MySQL,而且我从未编写过脚本。你能给我一个提示,我可以用什么程序/脚本来完成这个任务吗?
提前致谢!
最佳答案
鉴于您的 Dom 表仅包含正数而不包含负数,您需要生成负数以便您的输出表可以映射它们。
此查询将为您提供起源、域和物种的所有可能组合:
SELECT ds.domain, os.origin, ss.species FROM
(SELECT DISTINCT domain FROM Dom) ds
CROSS JOIN
(SELECT DISTINCT origin FROM Dom) os
CROSS JOIN
(SELECT DISTINCT species FROM Dom) ss
因此,要获取每个组合(包括否定)的“表达式值”,请执行以下操作:
SELECT completelist.domain, completelist.origin, completelist.species,
COALESCE(Dom.species, FALSE) AS found
FROM
(SELECT ds.domain, os.origin, ss.species
FROM
(SELECT DISTINCT domain FROM Dom) ds
CROSS JOIN
(SELECT DISTINCT origin FROM Dom) os
CROSS JOIN
(SELECT DISTINCT species FROM Dom) ss
) AS completelist
LEFT JOIN Dom ON (completelist.domain = Dom.domain &&
completelist.origin = Dom.origin &&
completelist.species = Dom.species)
一旦你有一个 array数据库中的记录,然后可以将其输出为 html table 。你会风格(使用 css ) <td>元素根据expressionvalue的值。所以你的输出看起来像这样:
<table>
<thead>
<tr>
<th>Origin</th>
<th>Domain</th>
<th>Blahbla_1234</th>
<th>wobble_4556</th>
<th>piffi_876</th>
</tr>
</thead>
<tbody>
<tr>
<th>KMT1</th>
<th>Kringel</th>
<td class='bothexist'> </td>
<td class='bothexist'> </td>
<td class='onlyprotein'> </td>
</tr>
<tr>
<th>KMT1</th>
<th>Helix</th>
<td class='bothexist'> </td>
<td class='onlyprotein'> </td>
<td> </td>
</tr>
<!-- etc. -->
</tbody>
<tfoot></tfoot>
<table>
繁琐的部分是将来自查询的数据重新组织成一个易于输出表格的结构。
无论如何,虽然您可以使用 shell 脚本来完成所有这些,但使用高级语言可能会更轻松。 perl传统上一直用于生物信息学,并且有许多不错的库可用,其中可能最重要的是 BioPerl . python和 ruby也很受欢迎。 php是一种非常流行的通用语言,特别适用于网站并且被认为非常容易学习(但许多程序员反对它的各种松散性)。
我希望这能为您指明一个有用的方向。
关于mysql - 表热图中的 0-1-2 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15363963/
点向量坐标矩阵的几何意义介绍旋转矩阵的几何含义之前,先介绍一下点向量坐标矩阵的几何含义点:在一维空间下就是一个标量,如同一条直线上,以任意某一个位置为0点,以一定的尺度间隔为1,2,3...,相反方向为-1,-2,-3...;如此就形成了一维坐标系,这时候任何一个点都可以用一个数值表示,如点p1=5,即即从原点出发沿着x轴正方向移动5个尺度;点p2=-3,负方向移动3个尺度; 在一维坐标系上过原点做垂直于一维坐标系的直线,则形成了二维坐标系,此时描述一个点需要两个数值来表示点p3=(3,2),即从原点出发沿着x轴正方向移动3个尺度,在此基础上沿着y轴正方向移动两个尺度的位置就是点p3。
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin
我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi
所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。
我正在尝试绕过rails配置这个极其复杂的迷宫。到目前为止,我设法在ubuntu上设置了rvm(出于某种原因,ruby在ubuntu存储库中已经过时了)。我设法建立了一个Rails项目。我希望我的测试项目使用mysql而不是mysqlite。当我尝试“rakedb:migrate”时,出现错误:“!!!缺少mysql2gem。将其添加到您的Gemfile:gem'mysql2'”当我尝试“geminstallmysql”时,出现错误,告诉我需要为安装命令提供参数。但是,参数列表很大,我不知道该选择哪些。如何通过在ubuntu上运行的rvm和mysql获取rails3?谢谢。
一、习惯约定图片来自PSINS(高精度捷联惯导算法)PSINS工具箱入门与详解.pptx二、基本旋转矩阵绕x轴逆时钟旋转α\alphaα角度Rx(α)=[ 1000cosαsinα0−sinαcosα]R_x(\alpha)=\begin{bmatrix}\1&0&0\\0&\cos\alpha&\sin\alpha\\0&-\sin\alpha&\cos\alpha\end{bmatrix}Rx(α)= 1000cosα−sinα0sinαcosα绕y轴逆时钟旋转α\alphaα角度Ry(α)=[ cosα0−sinα010sinα0cosα]R_y(\alpha
欧拉角、旋转矩阵及四元数1.简介2.欧拉角2.1欧拉角定义2.2右手系和左手系2.3转换流程3.旋转矩阵4.四元数4.1四元数与欧拉角和旋转矩阵之间等效变换4.2测试Matlab代码5.总结1.简介常用姿态参数表达方式包括方向余弦矩阵、欧拉轴/角参数、欧拉角、四元数以及罗德里格参数等。高分辨率光学遥感卫星主要采用欧拉角与四元数对姿态参数进行描述。这里着重讲解欧拉角、旋转矩阵和四元数。2.欧拉角2.1欧拉角定义欧拉角是表征刚体旋转的一种方法之一,由莱昂哈德·欧拉引入的三个角度,用于描述刚体相对于固定坐标系的方向。在摄影测量、空间科学或其它技术领域,一般用一组(三个)欧拉角描述两个空间坐标之间的旋
目录1、yum安装mysql修改密码(1)在mysql里面修改(2)第二种方式,利用mysqladmin修改密码2、没有密码,登录mysql修改密码3、mysql的安全设置1、yum安装mysql在CentOS中默认安装有MariaDB(MySQL的一个分支),安装完成之后可以直接覆盖MariaDB。rpm-qa|grepmariadb查询是否安装了mariadbrpm-e--nodepsmariadb-libs-5.5.60-1.el7_5.x86_64卸载mariadwgethttp://dev.mysql.com/get/mysql57-community-release-el7-11.
我是Ruby的新手。我安装了DataMapper并且正在尝试安装dm-mysql-adapter-1.0.2gem。但是当我尝试安装时,出现以下错误。我正在使用ubuntu操作系统。vinoth@vinoth-laptop:~/Downloads$geminstalldm-mysql-adapter-1.0.2----with-mysql-lib=/usr/lib/mysql----with-mysql-conf=/usr/bin/mysqlWARNING:Installingto~/.gemsince/home/vinoth/gemsand/home/vinoth/gems/bina