当前位置:首页 » 数据仓库 » imgt数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

imgt数据库

发布时间: 2022-09-14 14:17:44

1. 生物信息学入门书籍推荐

生物信息学参考书籍(入门级) 1、 David W.Mount 《Bioinformatics sequence and genome analysis》影印本,科学出版社,2002 2、 Durbin R,Eddy S,Krogh A,et al.生物序列分析,蛋白质和核酸的概率论模型[M].北京清华大学出版社,2002 3、 帕夫纳,计算分子生物学 算法逼近,化学工业出版社,2004 4、 (巴西) J.塞图宝,J.梅丹尼斯着,朱浩 等译,计算分子生物学导论 ,科学出版社,2003 5、 Masatoshi Nei(根井正利) Sudhir Kumar. 译者:吕宝忠,钟扬,高莉萍,高等教育出版社,2002 6、 [美][巴森文尼斯]Andreas D.Baxevanis,[美]B.F.Francis Ouellette着;李衍达,孙之荣等译,生物信息学基因和蛋白质分析 的实用指南,,清华大学出版社, 2000 7、 鲍尔迪,DNA芯片和基因表达从实验到数据分析与模建,科学出版社,2003 8、 (美)利布莱尔,蛋白质组学导论:生物学的新工具,科学出版社,2005 9、 张亮,M.谢纳[美] ,生物芯片分析,科学出版社,2004 10、 卢因,基因VⅢ,科学出版社,2005 11、 (英)D.R.韦斯特海德(D.R. Westhead)等着;王明怡等译, 生物信息学,科学出版社 2004 12、 (法)皮埃尔·巴尔迪(Pierre Baldi),(丹)索恩·布鲁纳克(Soren Brunak)着;张东晖等译,生物信息学:机器学 习方法,中信出版社,2003 13、 (美)Cyntbia Gibas,Per Jambecks着;孙超等译 《生物信息学中的计算机技术》中国电力出版社,2002 14、 (美) Dan E. Krane, Michael L. Raymer着, 孙啸,陆祖宏,谢建明 等译,生物信息学概论, 清华大学出版社2004 15、 (加)S.米塞诺, (美)S.A.克拉维茨着;欧阳红生, 阮承迈, 李慎涛等译,生物信息学方法指南,科学出版社, 2005 16、 孙之荣 主译 探索基因组学、蛋白质组学和生物信息学(中译版) , 科学出版社, 2004年8月出版 17、 哈特尔,遗传学基因与基因组分析,科学出版社,2002 18、 生物信息学若干前沿问题的探讨:中国科协第81次青年科学家论坛论文集/黄德双等主编, 中国科学技术大学出版社 2004 19、 胡松年 , 薛庆中 主编,《基因组数据分析手册》浙江大学出版社, 2003 20、 胡松年 ,基因表达序列标签(EST)数据分析手册,浙江大学出版社, 2005。

2. 生物信息学一些基本的常用软件有哪些

必学:1、计算机基础(linux+perl+R 或者 python+matlab)
2、生信基础知识(测序+数据库+数据格式)
3、生信研究领域(全基因组,全转录组,全外显子组,捕获目标区域测序)
4、生信应用领域(肿瘤筛查,产前诊断,流行病学,个性化医疗)
分而治之:
一、计算机基础,需要看三本书,一步步的学会学通,不需要刻意去找哪个书,一般linux是鸟哥私房菜,perl是小骆驼咯,R是R in action,但是看一本书只能入门,真正想成为菜鸟,必须每个要看五本书以上!我云盘里面有这基本上的高清打印版,大家可以去淘宝打印一下才几十块钱还包邮,对书比较讲究的也可以买正版,也不过是一百多块钱而已!
二、生信基础知识,测序方面,在网络文库找十几篇一代二代三代测序仪资料仔细研读,然后去优酷下载各大主流测序仪的动画讲解,再看看陈巍学基因的讲解;数据库先看看三大主流数据库——NCBI,ENSEMBL,UCSC,还有一些也可以了解一些(uniprot,IMGT,KEGG,OMIN,TIGR,GO)同样也是网络文库自己搜索资料,但是这次需要自己去官网一个个页面点击看,一个个翻译成中文理解吃透;数据格式讲起了就多了,这个主要是在项目流程中慢慢学,或者你有机会去上课,不然你看来也是立马忘记的,主要有sam,vcf,fasta,fastq,bed,gtf,gff,genbank,ensembl,psl等等
三、生信研究领域,各个领域主要是软件繁多,合起来常用的估计有上百个软件了,一般只有从业五六年以上的人才有可能把它们全部用过一遍,而且这也完全需要项目来训练,而不能仅仅是看看软件手册,但是研究领域最重要的是背后的原理,需要看各大牛的综述。
a) 生信基础软件(blast++套件,fastqc,flash,blast,solexaQA,NGS-QC-toolkit,SRA-toolkit,fastx-toolkit)
b) snp-calling相关软件(bwa,bowtie,samtools,GATK,VarScan.jar,annovar)
c) 基因组相关软件(velvet,SOAPdenovo2,repeatmasker,repeatscount,piler,orthMCL,inparanoid,clustw,muscle,MAFFT,quickparanoid,blast2go,RAxML,phyML)
d) 转录组相关软件(trinity,tophat,cufflinks,RseQC,RNAseq,GOseq,MISO,RSEM,khmer,screed,trimmomatic,transDecoder,vast-tools,picard-tools,htseq,cuffdiff,edgeR,DEseq,funnet,davidgo,wego,kobas,KEGG,Amigo,go)

3. jsp如何上传照片到mysql,再查询在jsp中显示

1 mysql存储大容量的二进制文件的格式是longblob ,其实除了图片还可以存别的

CREATE TABLE `abc`.`images` (
`name` varchar(10) NOT NULL,
`chang` int(10) unsigned NOT NULL,
`content` longblob NOT NULL,
PRIMARY KEY (`name`)
)

ENGINE=InnoDB DEFAULT CHARSET=utf8;

2 要向数据库存储二进制的文件一定要把要存储的数据转换成二进制流
废话就不多说了,大家看看代码很容易明白,先来看一个app程序,当然首先您要在数据库中先建立一个用于保存图片的表和相应的列,
数据格式为blob
package com.lizhe;
import java.io.*;
import java.sql.*;
public class PutImg {
public void putimg() {
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "jdbc:mysql://localhost/img?user=root&password=root&useUnicode=true&characterEncoding=gbk";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
//stmt.execute("insert into imgt (id) values (5)");
stmt.close();
PreparedStatement pstmt = null;
String sql = "";
File file = new File("c:\\blog.jpg");
InputStream photoStream = new FileInputStream(file);
//sql = " UPDATE imgt SET img = ? ";

sql = "INSERT INTO imgtable (img) VALUES (?)";

pstmt = conn.prepareStatement(sql);
pstmt.setBinaryStream(1, photoStream, (int) file.length());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]){
PutImg pi=new PutImg();
pi.putimg();
}
}

InputStream photoStream = new FileInputStream(file);
可以很清楚的看到我们首先把一个图片文件(当然也可以是别的什么文件)转换成了一个二进制输入流
pstmt.setBinaryStream(1, photoStream, (int) file.length());
这个方法建议大家去查一下API文档,第一个参数是通配符位置没的说,第二个参数是流,这和以往的string类型的参数不太一样,
我刚看到的时候也觉得豁然开朗了,但是到这里还没完,不同于以往的字符串参数,这里我们还需要第三个参数来设置这个流的长度,
这里也就是这个文件的长度,导出数据库中的sql,一切都清楚了
INSERT INTO `m_diy` VALUES (2,?\0 JFIF\0 \0H\0H\0\0?? Exif\0\0MM\0*\0\0\0 \0 \0 \0\0\0 \0 \0\0 \0 \0\0\0 \0\0\0b
\0 \0\0\0 \0\0\0j (\0 \0\0\0 \0 \0\0 1\0 \0\0\0 \0\0\0r 2\0 \0\0\0 \0\0\0?i\0 \0\0\0 \0\0\0\0\0\0\0\0\0H\0\0\0
\0\0\0H\0\0\0 Adobe Photoshop CS Windows\02007:03:18 23:08:15\0\0\0\0\0 ?\0 \0\0\0 ??\0\0?\0 \0\0\0 \0\0\0? \0
........等等
其实就是将文件先转换成了二进制的流,然后插入到了sql语言中,向数据库写入了很长很长的一段sql语句

然后我们再来写一个app程序将这个文件读出来,存储成一个图片文件
package com.lizhe;
import java.io.*;
import java.sql.*;
class GetImg {

private static final String URL = "jdbc:mysql://localhost/img?user=root&password=root&useUnicode=true&characterEncoding=gbk";
private Connection conn = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
private File file = null;

public void blobRead(String outfile, int picID) throws Exception {
FileOutputStream fos = null;
InputStream is = null;
byte[] Buffer = new byte[4096];
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = DriverManager.getConnection(URL);
pstmt = conn.prepareStatement("select img from imgt where id=?");
pstmt.setInt(1, picID); // 传入要取的图片的ID
rs = pstmt.executeQuery();
rs.next();
file = new File(outfile);
if (!file.exists()) {
file.createNewFile(); // 如果文件不存在,则创建
}
fos = new FileOutputStream(file);
is = rs.getBinaryStream("img");
int size = 0;

while ((size = is.read(Buffer)) != -1) {
// System.out.println(size);
fos.write(Buffer, 0, size);
}
} catch (Exception e) {
System.out.println( e.getMessage());
} finally {
// 关闭用到的资源
fos.close();
rs.close();
pstmt.close();
conn.close();
}
}
public static void main(String[] args) {
try {
GetImg gi=new GetImg();
gi.blobRead("c:/getimgs/1.jpg", 5);
} catch (Exception e) {
System.out.println("[Main func error: ]" + e.getMessage());
}
}
}
这里需要注意的是
is = rs.getBinaryStream("img");
img是数据库中相应的列名,其实和rs.getString()方法差不多,只不过这个方法是读取二进制流的
最后在帖两个bs系统上用的文件给大家参考
通过struts的action向数据库写入二进制图片
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.lizhe.struts.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.lizhe.struts.form.UpimgForm;
/**
* MyEclipse Struts
* Creation date: 05-18-2007
*
* XDoclet definition:
* @struts.action path="/upimg" name="upimgForm" input="/userhomepage.jsp"
* @struts.action-forward name="userhome" path="/userhomepage.jsp" redirect="true" contextRelative="true"
*/
public class UpimgAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
* @throws IOException
* @throws FileNotFoundException
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws FileNotFoundException, IOException {
UpimgForm upimgForm = (UpimgForm) form;// TODO Auto-generated method stub

FormFile file=upimgForm.getFile();
InputStream is=file.getInputStream();

try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "jdbc:mysql://localhost/blog?user=root&password=root&useUnicode=true&characterEncoding=gb2312";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
//stmt.execute("insert into img (id) values (5)");
stmt.close();
PreparedStatement pstmt = null;
String sql = "";
//File file = new File("c:\\blog.jpg");
//InputStream photoStream = new FileInputStream(file);
//sql = " UPDATE imgt SET img = ? ";

sql = "INSERT INTO img (img) VALUES (?)";

pstmt = conn.prepareStatement(sql);
pstmt.setBinaryStream(1, is, (int) file.getFileSize());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}

return mapping.findForward("userhomepage");
}
}
和app的方式几乎是一样的
第二个文件是通过jsp将数据库中的图片显示在页面上
这个有些不同
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.awt.*"%>
<html>
<body>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/img?user=root&password=root";
Connection con = DriverManager.getConnection(url);
String sql = "select * from imgt where id=5";
Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(sql);
if(rs.next()) {
InputStream in = rs.getBinaryStream("img");
ServletOutputStream op = response.getOutputStream();
int len;
byte[] buf=new byte[1024];
while((len= in.read(buf))!=-1) {
op.write(buf, 0, len);
}
op.close();
in.close();
}

rs.close();
stmt.close();
con.close();
%>
</body>
</html>

4. iapp怎么用代码控制另一个界面的控件

首先,你的图片必须是以二进制输入流的形式保存在数据库中。 其实,从数据库读二进制保存的图片的时候,就是存的一个逆过程,重新再生成一个图片文件而已。 简单给出下面的代码,你研究研究。 import java.io.*; import java.sql.*; class GetImg { private static final String URL = "jdbc:mysql://localhost/img?user=root&password=root&useUnicode=true&characterEncoding=gbk"; private Connection conn = null; private PreparedStatement pstmt = null; private ResultSet rs = null; private File file = null; public void blobRead(String outfile, int picID) throws Exception { FileOutputStream fos = null; InputStream is = null; byte[] Buffer = new byte[4096]; try { Class.forName("org.gjt.mm.mysql.Driver").newInstance(); conn = DriverManager.getConnection(URL); pstmt = conn.prepareStatement("select img from imgt where id=?"); pstmt.setInt(1, picID); // 传入要取的图片的ID rs = pstmt.executeQuery(); rs.next(); file = new File(outfile); if (!file.exists()) { file.createNewFile(); // 如果文件不存在,则创建 }

5. 如何批量下载IMGT/HLA数据库 的序列

首先到JGI主页,选择一个物种,然后用Key Words search,或者Blast,找到目的序列。点这个目的序列。会出现一排目录,一个基因,一般是About this gene, Sequences,peptide Homologs, Gene Ancestry, Get Data,点Sequences就可以得到DNA,cDNA等。如果你想得到两端更长序列,还可以在Show flanking sequence调 upstream和downstream,然后点Update sequence

6. 如何将数据库中的图片(二进制),读出并显示在界面的Image控件[VB6.0]

摘 要 本文以VB6与Access97作为开发工具,介绍了图像在数据库中的存储与显示技术。

关键词 数据库,数据控件,二进制,图像存储,图像显示,ADODB,Recordset

数据库是数据管理的最新技术,是计算机科学的重要分支,是现代计算机信息系统和计算机应用的基础和核心。在科学技术高速发展的今天,在信息资源无处不在、无处不用,已成为各部门的重要财富的时候,对于从事程序开发的人员来说显得尤为重要。

如今,对数据库的操作不仅仅满足于对字符和数字的单一操作,图像的存储与显示已显得尤为重要。下面作者将以VB6.0与Access97作为开发工具,分别介绍两种图像显示与存储的方法。

利用数据控件和数据绑定控件

利用这种方法,不写或写少量代码就可以构造简单的数据库应用程序,这种方法易于被初学者接受。在举例之前,先把数据绑定功能简要的说明一下,凡是具有DataSource属性的控件都是对数据敏感的,它们都能通过数据控件直接使用数据库里的数据。比如CheckBox Control , ComboBox Comtrol , TextBox Comtrol , PictureBox Control ,Image Comtrol … 因为这种方式涉及到的知识点比较少,也比较容易理解,不多作说明,现直接介绍编程步骤。

1、从数据库中显示所需要的图片

首先,添加一个Data数据控件,设置它的DatabaseName和RecordSource属性,

strPath = App.Path
If Right(strPath, 1) <> "\" Then
strPath = strPath & "\"
MyData.DatabaseName = strPath & "ExampleDB.mdb" '数据库存地址
MyData.RecordSource = "Info" '表名

第二步,添加Image控件用来显示图片,设置它的DataSource和DataField属性。例如本例中: Image1.DataSource="MyData"和Image1.DataField=" MyPhoto" 。然后设置其它具有数据绑定功能的控件用来显示所要的其它内容,经过这两步的操作,运行程序就可以显示你要的数据了。

2、向数据库中添加需要存储的图片

首先,利用数据控件所具有的AddNew属性,添加一个按钮,双击后添加如下代码MyData.Recordset.AddNew

第二步,为Image控件图片指定图片路径Image1.Picture = LoadPicture("图片路径"),经过这两步的操作,就可以向数据库中添加图片了。

这种方法最简单快捷,要写的代码量很少。但是这种方法在运行速度和灵活性方面有一定的限制,适合于初学者和一些简单的应用,要想灵活多变的显示图像,下面介绍的方法或许更适应您的要求。

利用编写代码实现图片的存储与显示

这种方法相对于方法一来说,代码量大,但是它操作灵活,能够满足多样形式下的操作,受到更多编程者的青睐。但是涉及到的知识面相对要多一些,不仅要掌握数据库的操作方法,还要二进制文件的读写作进一步的了解。关于数据库及二进制文件的基本操作很多参考书上都介绍的比较详细,需要时请查阅即可。在编程之前把本部分用到的变量说明如下:

Dim RS As New ADODB.Recordset
Dim Chunk() As Byte
Const ChunkSize As Integer = 2384
Dim DataFile As Integer, Chunks, Fragment As Integer
Dim MediaTemp As String
Dim lngOffset, lngTotalSize As Long
Dim i As Integer

1、从数据库中显示所需要的图片

第一步首先打开数据库,看有没有要查找的内容,有则继续执行,没有就退出

RS.Source = "select * from Info Where Name='" & sparaName &"';"
RS.ActiveConnection = "UID=;PWD=;DSN=TestDB;"
RS.Open
If RS.EOF Then RS.cCose : Exit Sub

第二步,读出长二进制数据即图片数据,把它转换成图片文件,操作过程如下

MediaTemp = strPath & "picturetemp.tmp"
DataFile = 1
Open MediaTemp For Binary Access Write As DataFile
lngTotalSize = RS!MyPhoto.ActualSize
Chunks = lngTotalSize \ ChunkSize
Fragment = lngTotalSize Mod ChunkSize
ReDim Chunk(Fragment)
Chunk() = RS!MyPhoto.GetChunk(Fragment)
Put DataFile, , Chunk()
For i = 1 To Chunks
ReDim Chunk(ChunkSize)
Chunk() = RS!MyPhoto.GetChunk(ChunkSize)
Put DataFile, , Chunk()
Next i
Close DataFile

第三步,关闭数据库,这样就可以显示所要的图片了。

RS.Close
If MediaTemp = "" Then Exit Sub
Picture1.Picture = LoadPicture(MediaTemp)
If Picture1.Picture = 0 Then Exit Subj

2、向数据库中添加需要存储的图片

向数据库添加存储的图片是显示图片逆过程,只要掌握了显示图片的操作,存储图片的操作也就迎刃而解了,下面将操作步骤介绍如下

第一步首先打开数据库,过程如下:

RS.Source = "select * from Info ;"
RS.CursorType = adOpenKeyset
RS.LockType = adLockOptimistic
RS.ActiveConnection = "UID=;PWD=;DSN=TestDB;"
RS.Open

第二步,把要存储的图片转换成二进制长文件存入数据库中,操作过程如下

RS.AddNew
DataFile = 1
Open strPathPicture For Binary Access Read As DataFile
FileLen = LOF(DataFile) ' 文件中数据长度
If FileLen = 0 Then : Close DataFile : RS.Close : Exit Sub
Chunks = FileLen \ ChunkSize
Fragment = FileLen Mod ChunkSize
ReDim Chunk(Fragment)
Get DataFile, , Chunk()
RS!MyPhoto.AppendChunk Chunk()
ReDim Chunk(ChunkSize)
For i = 1 To Chunks
Get DataFile, , Chunk()
RS!MyPhoto.AppendChunk Chunk()
Next i
Close DataFile

第三步,更新纪录后,关闭数据库,就完成了数据图片到数据库的存储。

RS.Update
RS.Close
Set RS = Nothing

两种方法在使用方面各有所长,读者可以针对自己的情况做出合理的选择。

方法很容易实现的.和楼上的不太一样.