㈠ 如何在java中建立frame
一般而言可以用兩種方法實現。
第一種
importjavax.swing.*;
publicclassFrameDemo1{
publicstaticvoidmain(String[]args){
//創建一個JFrame對象
JFramejf=newJFrame();
//設置窗口的標題欄
jf.setTitle("窗口一");
//創建一個標簽組件
JLabeljl=newJLabel("窗口裡的標簽組件");
//把標簽組件添加到窗口界面
jf.add(jl);
//設置窗口的位置
jf.setLocation(200,120);
//設置窗口的大小
jf.setSize(300,280);
//設置窗口的可見性
jf.setVisible(true);
}
}
第二種方法
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//寫一個類去繼承JFrame
{
//定義組件
JLabeljl;
JButtonjb;
publicFrameDemo2(){
//初始化組件
jl=newJLabel("窗口裡的標簽組件");
jb=newJButton("窗口裡的按鈕");
//給按鈕添加事件響應,點擊按鈕改變標簽組件上的文字的顏色
jb.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
jl.setForeground(Color.RED);
}
});
//設置窗口的布局,為邊界布局
this.setLayout(newBorderLayout());
//添加組件到指定的位置
this.add(jl,BorderLayout.CENTER);
this.add(jb,BorderLayout.SOUTH);
//窗口的this.setLocation(120,100)和this.setSize(300,280)的整合寫法setBounds(....);
this.setBounds(120,100,300,280);
//設置點擊窗口的關閉按鈕執行的默認操作,關閉程序
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//設置窗口的標題欄
this.setTitle("窗口二");
//窗口默認是不可見的,所以需要設置窗口的可見性為true
this.setVisible(true);
}
publicstaticvoidmain(String[]args){
newFrameDemo2();
}
}
㈡ 如何提取含有iframe網頁的表格數據
如何提取含有iframe網頁(HTML)的表格(table)數據
想提取網頁里的表格(table標簽)數據,因為session的原來,所以用了,但些網頁被包含在一個iframe里,所以在論壇上找到了一高人的代碼(參考代碼一),用FrameWin.document.body.outerHTML得到了源碼,但問題是,我想得到table表裡的數據,好像沒有FrameWin.document.all.tags('table').item(0).outerHTML這種形式,但WebBrowser卻有.如參考代碼二,因為要提取的網頁的表格是通過另一同級iframe網頁的javascript賦值的,所以不能直接通過FrameWin.document.body.outerHTML用字元串直接分析,那樣得的數據都是空格。
大家有什麼好辦法。。
參考代碼一:
usrmshtml;
procereTMainForm.ToolButton56Click(Sender:TObject);
var
Index:Integer;
Document:IHTMLDocument2;
FrameIdx:OleVariant;
FrameDis:IDispatch;
FrameWin:IHTMLWindow2;
begin
whileWebbrowser1.ReadyState<>READYSTATE_COMPLETEdo
Application.ProcessMessages;
ifWebBrowser1.Document=nilthenExit;
ifWebBrowser1.Document.QueryInterface(IHTMLDocument2,Document)<>0thenExit;
ifDocument.frames.length>0then
begin
forIndex:=0toDocument.frames.length-1do
begin
FrameIdx:=Index;
FrameDis:=Document.frames.item(FrameIdx);
ifFrameDis.QueryInterface(IHTMLWindow2,FrameWin)<>0thenExit;
ShowMessage(FrameWin.document.body.outerHTML);
//FrameWin.document就是你要的每個Frame的文檔
end;
end;
end;
參考代碼二:
procereForm1.Button1Click(Sender:TObject);
vari,j:integer;
GetTable:OleVariant;
begin
WebBrowser1.Navigate('
);
whileWebBrowser1.ReadyState<READYSTATE_INTERACTIVEdo//頁面激活
Application.ProcessMessages;
Memo1.Lines.Add(WebBrowser1.OleObject.Document.all.tags('table').item(0).outerhtml);
GetTable:=WebBrowser1.OleObject.Document.all.tags('table').item(0);
Fori:=0to(GetTable.Rows.Length-1)do
begin
Forj:=0to(GetTable.Rows.Item(i).Cells.Length-1)do
begin
Memo2.Lines.Add(GetTable.Rows.Item(i).Cells.Item(j).innerhtml);
end;
end;
end;
另外:
第一,用參考代碼一的方法得到iframe的HTML源代碼,類型為IHTMLDocument,
第二,使用IHTMLTABLE,IHTMLRows,就可以正確得到網頁表格數據了.就算表格數據是由javascript等腳本賦值也可以正確提出數據。
附:如何從IHTMLDocument2里提取<table>里的所以數據
不能用正則表達式,因為table中表格的值是通過另一網頁用javascript動態賦值的。
好像 IHTMLDocument2沒有WebBrowser1.document.all.tags('table').item(0).Rows.Item(i).Cells.Item(j).innerText這樣的寫法。
弄清楚下面的,要改寫成用VARIANT寫得軟些也就很容易了..
㈢ Html中的frame屬性的詳盡使用方法。
<frame> 標簽定義 frameset 中的一個特定的窗口(框架)。
frameset 中的每個框架都可以設置不同的屬性,比如 border、scrolling、noresize 等等。
實例:
<html>
<framesetcols="25%,50%,25%">
<framesrc="frame_a.htm"/>
<framesrc="frame_b.htm"/>
<framesrc="frame_c.htm"/>
</frameset>
</html>
結果如下:
㈣ Frame類有哪些方法
這些都是父類的方法
java.awt.Frameextendsjava.awt.Window
java.awt.Windowextendsjava.awt.Container
java.awt.Containerextendsjava.awt.Component
java.awt.Componentextendsava.lang.Object
㈤ 電腦診斷卡frame是什麼意思
主板診斷卡也叫post卡,是維修主板的必備工具,主板BIOS在每次啟動時,都會對系統的電路、存儲器、鍵盤、視頻部分、硬碟、軟碟機等各個組件進行嚴格的測試,並分析硬碟系統配置,對已配置的基本I/O設置實現初始化,一起正常後,再引操作導系統。主板診斷卡的工作原理就是利用主板BIOS內部自檢程序的檢測結果,通過代碼一一顯示出來,從而找到電腦主板故障。
主板診斷卡
主板診斷卡
目前市面上的主板診斷卡都是大同小異,有的只是個別的功能差異,所以下面介紹的診斷卡的使用方法是比較通用的。
1、診斷顯示代碼。
2、關電源,取出所有擴展插卡。
將診斷卡插入ISA槽或PCI槽(注意:診斷卡的的元件面朝向電源。若插反,本卡和主板不會損壞,但都不工作。)
3、開電源,檢查各發光二極體指示是否正常(其中BIOS信號燈可能閃爍)。
4、如果不正常,關電源,參照以下「指示燈功能速查表」排錯,排錯完畢後返回第3步。
RUN燈(匯流排脈沖)——若主板運行指令,此燈會閃亮,否則不亮。
CLK燈(匯流排時鍾)——台式機的ISA、PCI或筆記本電腦的MiniPCI匯流排的CLK信號。
BIOS(BIOS讀信號)——當診斷卡插在ISA匯流排槽上時,主板運行時對BIOS有讀操作時就閃亮。而四碼診斷卡則與此相反。
IRAY(主設備准備好)——有IRAY信號時才亮,否則不亮。
FRAME(幀周期信號)——PCI槽或MiniPC槽有循環幀信號時燈才閃亮。
OSC(ISA振盪)——是ISA槽的主振盪信號,空板通電則應常亮;否則主板的晶體振盪電路不工作,而無OSC信號。
RST(復位)——開機或按了RESET開關後亮半秒鍾熄滅屬正常;若不滅常因主板上的復位插針錯接到加速開關或錯接短路器,或復位電路壞。
12V(電源)——空板上電則應亮。否則無此電壓或主板有短路。
-12V(電源)——同上。
-5V(電源)——同上(只有ISA槽才有此電壓)。
5V(電源)——同上。
3.3V(電源)——台式微機的PCI和筆記本的MiniPC槽特有的3.3V電壓,空板上電則應常亮,有些主板的PCI槽或MiniPC槽無3.3V電壓,則不亮。
5、檢查POST代碼是否有錯。
6、如果有錯,關電源,根據「POST代碼含義」排錯,排錯完畢後返回第3步。
7、關電源,插上顯卡、I/O卡、硬驅及擴展插卡後,再開電源,檢查POST代碼。
8、如果POST代碼有錯,關電源,根據「POST代碼含義」排錯,排錯完畢後返回第3步。
9、檢測結果正常。則應自檢成功。如果仍不能引導操作系統,應該是軟體問題(或是磁碟驅器、磁碟控制器、DMA電路故障等)。
㈥ 如何定量分析免疫組化和western blot 的結果,求具體步驟
我有個WB條帶分析軟體簡介,或許對你有幫助。
凝膠定量軟體QuantityOne使用簡介
1內容簡介
凝膠電泳是每個做分子生物學的同學天天都要打交道的基本技術。電泳之後的信息處理與電泳本身同樣重要。目前有大量軟體可以用於分析電泳結果,比較有名的比如BandScan、BandLeader、SigmaGel等等。今天要向大家介紹的是來自Bio-Rad的1D凝膠定量軟體QuantityOne(Bio-Rad還有一個做2D凝膠分析的軟體PDQuest)。
2QuantityOne的定量方法
QuantityOne的分析功能顧名思義主要用來進行凝膠或者培養皿的熒光定量分析。它的分析功能或者說分析方式主要有4種:泳道/條帶軌跡定量法;等高線直接定量法;菌落計數;分子量測定
這三種方法中使用最為方便也是最為廣泛的應該是等高線定量法(VolumnContour)。它通過半自動描繪電泳條帶的等高線邊緣來得到等高線區域內部面積,再將該面積乘以區域內平均光密度值得到條帶內部總的信號量。當然這種分析方法的弊病顯而易見:無法同等得排除不同泳道的背景亮度;等高線的繪制處於「半自動」狀態,即需要人為判斷作為等高線標準的電泳條帶的邊緣;最致命的是在幾個電泳條帶距離十分接近的時候幾乎無法繪制單一條帶的輪廓(常出現連續的幾個條帶等高線相連而無法分離出單獨條帶的輪廓)。
三種方法中個人感覺最為科學和嚴謹的應該是泳道/條帶軌跡定量法(TraceTracking)。這種方法使用起來步驟較為繁瑣,必須通過泳道識別---電泳條帶識別兩個連續的步驟才能進行定量。然而這種方式的最大優點在於它可以完全拋棄人為主觀因素進行全自動定量。他的定量方式為:首先根據不同電泳條帶的光密度值繪制光密度曲線,然後計算光密度曲線下面積作為電泳條帶的定量根據。大家可能會問他能不能排除泳道背景?答案是肯定的,它能夠最大程度的排除不同泳道之間的背景差異,讓各個泳道上的不同電泳條帶在一條幾乎相同的起跑線上進行對比。這個背景排除功能是等高線法無法做到的(等高線法也有基本的背景排除辦法,但是和泳道/條帶軌跡定量法的背景排除不是一個等級的。等高線法只能排除同一泳道上的背景,而不能均等的排除不同泳道的背景)。另外泳道/條帶軌跡定量法還可以結合GaussModelBands對緊密相連的電泳條帶進行分析,而這種條帶也是等高線法無法分析的。我們此次重點學習這個方法。
第三個分析功能是菌落計數(ColonyCounting)。這個功能其實很實用,可以分析藍白篩選的結果。但是很奇怪我的電腦居然無法運行這個功能,因此無法向大家介紹了。
另外QuantityOne還可以通過回歸曲線測定
3QuantityOne的基本常用菜單操作
下面讓我們了解一下QuantityOne常用的基本菜單操作。
打開文件:由於QuantityOne是Bio-Rad的硬體配套軟體,因此QuantityOne可以自動輸入來自Bio-Rad公司的凝膠分析儀的數據。具體支持哪些硬體大家可以在「Edit-Preference-Imagers」裡面設置。如果您的實驗室沒有採用Bio-Rad的硬體設施也沒關系。您只要將電泳圖片用ACDSee等程序轉換為TIF圖片格式就可以被QuantityOne識別了。注意QuantityOne只支持8位和16位灰度的TIF文件。
PHP代碼:
QuantityOne似乎有一個小bug,就是在按「Open」之後並沒有立刻彈出資源管理器讓你選擇目標文件的位置。其實你只要將滑鼠在屏幕右下方點擊一下,資源管理器就會乖乖彈出來了.
PHP代碼:
QuantityOne只能分析白色背景+黑色條帶的電泳圖。而我們正常情況下得到的一般都是黑色背景+白色條帶的電泳圖。我們可以在「Image-Invertdata中將圖片色彩進行反轉,然後便可以用QuantityOne進行分析了.
文字注釋:QuantityOne提供基本的文字注釋功能。您可以在您的電泳圖片上記錄您的分析結果比如電泳條帶的分子量、光密度值、物質的量等等。這個功能可以通過「Edit-TextOverlayTools」來實現。在彈出的浮動工具欄中選擇「ABC」或者「」就可以進行文字輸入和畫標記線的操作。
光密度工具:在「View-PlotDensity」的下級菜單中大家會見到幾個和電泳條帶光密度值相關的顯示選項。大家可以分別選擇不同的選項感受一下它們之間的差別。選擇方法是點擊相應的下級菜單比如「PlotCrossSection」,然後將變成帶一個藍色感嘆號的滑鼠移到您想知道光密度的位置,點擊一下就會顯示該處的光密度相關信息。在下面這幅圖片中我們可以看見兩條黃線交叉處的電泳條帶的相關信息。上方的一串曲線是不同泳道之間在同一水平線上的光密度比值曲線;左邊是黃線交叉處所在泳道的幾個電泳條帶的光密度分布情況。
3DViewer:在「View-3DViewer」菜單中大家會看到一個有趣的功能叫做3DViewer。這個玩意按照Bio-Rad的說法可以輔助辨別幾條緊密相連在一起的電泳條帶的分布情況。大家只要選擇了這個命令後滑鼠就會一個「+」型,然後將+型移動到您感興趣的位置,拖動滑鼠畫出一個正方形區域,然後用滑鼠雙擊,QuantityOne就會將這塊區域按照gauss分布規律渲染成一個三維模型,頗有意思。
4QuantityOne的基本背景排除功能
最開始的時候我們就說過QuantityOne的等高線定量模式也有一種比較基本的背景排除方法。這個方法同樣也適用於泳道/條帶定量模式。現在我們就來學習這個方法。基本背景排除的功能位於「Image-Substractbackgroud...」和「Image-FilterWizard...」這兩個菜單。
Image-FilterWizard:這個功能是對原始圖片做一些初步的加工,主要是除去一些圖片上的「斑點」。這些斑點主要有兩種類型:一種是深色的「胡椒面」型和淺色的「食鹽」型,兩種斑點都可以毫不猶豫地去除。從「Image-FilterWizard...」菜單調出向導菜單後選擇「pepper」和「salt」,下面兩個選項可以按照程序默認的選項,然後「OK」就可以完成這第一步的降噪過程。
Image-Substractbackgroud:這個功能是真正對圖片背景進行清理的工具(區別於「Image-FilterWizard...」的降噪模式)。只是這種清理是一種「全局」型的清理,即它以相同的參數對每條泳道進行背景清理。然而在清理方式上它還是可以分成兩種不同的方式:
BackgroudBox:一種是以一個局部小面積為標准背景,將整張電泳圖片上所有比該區域光密度值低的區域全部漂白。這種發式稱為「BackgroudBox」。操作時用滑鼠選中對話框下部左側的「BackgroudBox」按鈕,然後用滑鼠在電泳圖片上選擇一塊色彩接近於背景色,色澤比較均勻的區域,用滑鼠拖動畫出一個正方形。釋放滑鼠後程序就會立即對電泳圖片進行降低背景的處理;
BackgroudStripe:相對於「BackgroudBox」來說是一種更加智能化的處理方式。它特別適用於梯度凝膠,即凝膠濃度由上至下依次變化。由於梯度膠的光密度值在一定距離內不斷變化,因此如果採用「BackgroudBox」的方法除背景就會發生偏差。QuantityOne此時提供一種隨著凝膠濃度變化而變化的除背景方式就是「BackgroudStripe」。和「BackgroudBox」類似,選擇右下角的「BackgroudStripe」按鈕,然後用滑鼠沿著電泳泳道拖放形成一個狹長的剪影帶(Stripe),這個剪影帶內部的光密度值順著泳道逐漸升高或降低。QuantityOne根據這個Stripe可以動態的對整張圖片的背景進行剪影。比如泳道起始處光密度低,那麼QuantityOne在此處的剪影值也降低;隨著Stripe向前延伸,光密度值逐漸升高,QuantityOne也同樣不斷加大剪影的強度。這樣一來就可以排除由於梯度膠帶來的背景不一致的影響因素。
5QuantityOne的電泳泳道分齬δ?--創建泳道
前面說過QuantityOne之所以強大是因為它具有的泳道/條帶軌跡定量法。現在我們就來學習一下如何在電泳圖片上創建泳道(Lane)以及如何進行針對不同泳道的背景排除。
創建泳道:首先打開我們要分析的電泳圖片(以蛋白質電泳為例)。然後選擇「Lane-AutoFramelanes」。這時如果您的電泳圖片比較標準的話,QuantityOne就會自動識別出每條電泳泳道的位置,而且將各個泳道的路徑用一條紅線標畫出來;
如果您對軟體自動標記的泳道不甚滿意,您可以通過「Lane-EditFrame」下級各個子菜單提供的功能對泳道框架位置、大小等進行調節。調節方法就是通過滑鼠的拖放來實現,大家可以自己體驗一下;
如果您只需要分析其中幾個泳道的數據而不想其他泳道的標記干擾您的視線,您可以通過「Lane-SingleLane-RemoveLane」刪除您不需要的泳道的標記。
PHP代碼:
不是所有的電泳圖片的泳道都能夠被QuantityOne自動識別。在不能自動識別的情況下,QuantityOne就會彈出對話框告訴您它不能識別泳道。這時大家就需要手工繪制電泳泳道。方法和上面一樣,同過「Lane-SingleLane-CreatLane」來實現。只要用滑鼠在您的電泳圖片上順著待標記的泳道的中軸線拖放就可以繪制出該泳道的標記紅線.
6QuantityOne的電泳泳道分析功能---排除背景
前面說過QuantityOne之所以強大是因為它具有的泳道/條帶軌跡定量法。現在我們就來學習一下如何在電泳圖片上創建泳道(Lane)以及如何進行針對不同泳道的背景排除。
排除背景:首先請大家注意,這個排除背景和前面我們在「Image」菜單中使用的「SubstructBackgroud」有所不同。後者排除背景的對象是整個電泳圖片而非將各個電泳泳道的背景分別進行排除。現在我們要學習的這個命令可以幫助我們分別排除各個泳道(也可以將全部泳道用相同標准進行排除)的不同的光密度背景。這個功能對我們以後的分析影響甚大,大家一定好好學習。
首先我們要將我們的電泳圖片進行前面談到的泳道識別,不管是自動方式還是手工識別。然後選擇「Lane-LaneBackgroud...」命令。選擇該命令後,滑鼠即變成一個綠色的「+」,將滑鼠移到您打算進行背景排除的泳道(比如下圖中的第4泳道),點擊左鍵一下,立刻就會彈出如下圖所示的對話框。
其中「OpticalDensity」顯示得是該泳道光密度值的分布情況。大家會注意到這個分布曲線並不是緊貼著縱軸,而是位於縱軸上方分布。造成這個「懸空現象」的原因就是該泳道自身存在著一定的光密度「背景」。這個背景的存在導致該泳道上各個電泳條帶之間不能處於同一水平進行對比;如果考慮到相鄰的其他泳道更是因為不同背景的存在而無法對比不同泳道上的不同電泳條帶。如何去除這個背景呢?我們繼續看右邊的「LaneBackgroudSubstruction」對話框。這個對話框的上方「AllLanes」表示可以對所有泳道進行一次性處理;下方的「SelectedLane」表示僅針對此次選中的這個泳道進行處理(我們選中的是第4泳道)。我們用滑鼠選擇「SelectedLane」的「LaneOn」選項。然後在下面的「RollingDiskSize」里填上「5」,再按「回車」鍵。好!大家再來看看現在「OpticalDensity」中出現了一條緊緊沿著光密度曲線分布的醬色曲線。這條曲線將泳道的背景與電泳條帶的光密度分布十分精確的劃分開來。
PHP代碼:
大家可能會好奇這里的「RollingDiskSize」指得是什麼意思?我們可以將QuantityOne提供的去除背景功能想像成是一個滾動的小球。如果這個小球的半徑越小,那麼它沿著光密度曲線滾動時滾過的路徑就越發精細,具體反映在醬色曲線的軌跡越發靠近黑色光密度分布曲線的基線。因此從理論上來說「RollingDiskSize」的取值越小,它的去除背景效果越好。大家可以試著選擇一個較大的值比如80,再來看看此時醬色曲線的軌跡。當然也不能取太小的值。因為如果取值太小,大家可以想像這個十分微小的球就會滾入光密度曲線內部,造成有效陽性信號的損失。個人感覺5~20是一個比較好的取值范圍.
OK!我們再在「LaneBackgroudSubstruction」對話框的最下方鉤選「」,再來看看是不是泳道上所有的背景都被消除了?各個電泳條帶是不是完全結合到縱軸上在同一水平進行比較了?
我們對於其他泳道也可以依葫蘆畫瓢進行類似的背景排除工作。如果大家覺得可以使用同樣的標准,即相同的「RollingDiskSize」進行排除,那麼我們可以在「LaneBackgroudSubstruction」對話框中選擇上方的「AllLanesOn(samelevel)」選項。然後在「RollingDiskSize」中填上一個合適的值,點擊「Done」按鈕確認就可以了。此時該電泳圖片上所有的泳道都以相同的標准進行了背景去除。不信你可以自己將滑鼠點擊其他泳道(比如第8道或第1道),你會發現所有泳道的背景均已去除。
7QuantityOne的電泳泳道分析功能---對比泳道
剛才我們已經對電泳圖片上的泳道進行了識別和背景去除。現在我們可以利用QuantityOne提供的泳道對比功能對同一張凝膠照片上的不同泳道進行對比,看看每條泳道上電泳條帶的分布情況。
泳道對比:首先將打開的電泳照片進行前面談到的泳道識別和去除背景步驟。然後選擇「Lane-CompareLanes」命令,滑鼠變成「藍色感嘆號」之後將滑鼠移動到您希望進行對比的泳道上(比如下圖的第3泳道),左鍵點擊,QuantityOne就會立刻探出一張黑色背景的「CompareLanes」對話框。在這個對話框中紅色的曲線代表您選擇的泳道的光密度分布曲線。曲線的波峰部分表示位於泳道上的不同電泳條帶;波峰的高低象徵電泳條帶光密度值的大小;波峰的寬窄象徵電泳條帶的寬度;波峰由左至右表示各個電泳條帶順著泳道由後向前的分布。
PHP代碼:
大家請注意這個紅色曲線。它不僅僅提供給我們關於泳道上光密度的分布情況,更重要的是在下一步我們對電泳條帶進行定量的時候,我們將以每個波峰的曲線下面積作為定量的標准.
我們還可以用滑鼠點擊其他我們感興趣的泳道(比如下圖中第6、9、14泳道),這時再轉到「CompareLanes」對話框我們會發現QuantityOne已經幫我們用不同顏色在同一張圖片上繪制出了這4條泳道的對比圖。是不是非常PP?
8QuantityOne的電泳條帶分析功能---創建條帶
前面我們已經識別和分析了電泳圖片的泳道,下面我們開始研究電泳條帶的問題。首先在這里明確兩個名詞翻譯:「Lane」指電泳泳道;「Band」指電泳條帶。在下文中一律使用這兩個英文名詞來表示這兩個意思。
電泳條帶的識別:和前面研究Lane一樣,首先我們要對Lane上的Band進行識別。識別方式同樣分為自動識別和人工識別。自動識別的時候選擇「Band-DetectBands...」命令。這時QuantityOne會自動彈出一個「DetectBands」的對話框(如下圖)。
PHP代碼:
第一次用QuantityOne的朋友可能會發現您的Bands識別以後僅僅是畫出了一條紅色的粗線,而在上面的演示圖片中卻是上下括弧的形式。其實大家可以在「Band-BandAttributes」選項中設置Bands的顯示形式。在下方的「Style」選項卡中選擇「Brackets」就會將原來的粗線改為括弧形式了.
在上面的對話框中,我們可以指定識別的參數。
如果要自動識別所有Lanes上的Bands就鉤選Lands後面的「All」選項;如果僅僅想自動識別某一條Lane上的Bands就鉤選「One」,然後在後面的輸入框中填上您想識別的泳道號碼;
如果僅僅想識別泳道上部分光密度值最強的Bands,可以在「Bands」後面的選項中選擇「Limit」,然後填上相應的數目(比如10)。QuantityOne就會僅識別該泳道上光密度最大的10條Bands;
如果您發現自動識別的Bands寬度太窄,圈定Band的紅色括弧內范圍小於黑色的光密度影。此時可以使用「LaneWidth」命令來調整Bands識別的寬度。用滑鼠點擊「LaneWidth」後面的向上箭頭就會發現紅色括弧逐漸變寬,最後要求其范圍略為寬過其包繞的Band影跡;
如果您發現自動識別功能沒有識別您想要的Band或者誤識別了您不想要的Band,您還可以使用上面的工具欄進行調解。將您的滑鼠指向每個圖標,QuantityOne就會知道彈出一個黃色的提示信息告訴您這個按鈕的功能。在此不再繼續闡述了。
9QuantityOne的電泳條帶分析功能---高斯建模與結果分析
現在我們已經完成了泳道識別、背景去除、條帶識別的任務。接下來我們要對Bands進行一些處理,然後就可以進行最終的結果分析了。
高斯建模:大家學過統計學知識後都知道高斯(Gauss)分布是個什麼意思,在此我就不多作解釋了。QuantityOne認為一個理想狀態的Band內部的光密度分布應該也服從高斯曲線的特徵,正如前面向大家展示的3DViewer中的圖片那樣。在我們日常的電泳泳道中經常出現幾個相隔很近的Bands(即分子量很接近的幾個蛋白或者核酸)在泳道的某個區域成串出現。此時我們很難通過會自等高線的辦法精確的描繪出每條Band獨立的輪廓。這個時候我們就需要對這些擁擠在一起的Bands進行高斯建模處理。QuantityOne能夠依據高斯曲線的特徵,配合有效的背景去除,將各條緊靠在一起、邊界相互融合的Bands描繪成具有獨立光密度分布的相互重疊的曲線。如下圖所示,原來相互融合的22、23兩條Bands經過高斯建模之後變成了兩個具有獨立分布曲線,相互重疊的Bands。
PHP代碼:
高斯建模必須建立在有效的泳道背景去除之後。背景去除的方法可以參見我們前面的方法,即通過「Lane-LaneBackgrouds」的方式進行去除背景。去除背景的時候最好選擇RollingDiskSize小一些的方案。這樣背景去除後的光密度分布曲線和高斯建模後的光密度分布曲線才能比較好的吻合。另外高斯建模並不是一個必須的步驟。它僅僅在出現多條Bands緊密排列在一起,以至於無法分辨它們之間的間隔的時候才最有效。如果Bands在泳道上鬆散的分布則可以不使用高斯建模.
那麼如何進行高斯建模呢?很簡單!只要執行「Band-GaussModelBands...」命令就可以,執行後QuantityOne回彈出一個對話框問您要對那條泳道進行高斯建模。請鉤選「One」,然後再輸入需要建模的泳道代碼就可以了(比如下圖中的第2泳道);如果選擇了「All」則對所有泳道進行高斯建模,當然建模這么多泳道會費一點時間了。
觀察結果:執行完高斯建模以後使用「Band-BandInformation」命令來觀察結果。方法是將變成藍色驚嘆號的滑鼠移到剛才已經識別的Band的部位,一個詳細的「BandInformation」信息框就會立刻彈出來(見下圖)。在這幅圖中我們必須注意的是「Trace」和/或「GaussModelTrace」,因為我們剛才辛苦了半天就是為了得到這個數據。這個數據表示的就是Band光密度分布曲線下面積,也就是QuantityOne用來表達Band內分子總量的方式。在這個信息框中還有一些重要信息比如「MolWt」(分子量);「Quantity/Units」等現在還是空白,咱們下以後的分析步驟中將逐漸填滿它們。
PHP代碼:
QuantityOne有一點讓人感到很不明白。它的「Trace」和「GaussModelTrace」都是表示曲線下面積的,可是使用的單位是OD*mm;而在另外的等高線定量方法中,同樣是表示某個區域面積的單位卻是OD*mm2.
下面讓我們回過頭來看看高斯建模之後電泳圖片的分析結果到底發生了什麼變化。首先是一張沒有進行高斯建模的圖片,大家可以看到在這張圖片中的白框部分,第2泳道的第6個band的光密度曲線黃色部分並不呈高斯對稱(少了一部分不是?)。這是因為它一部分和鄰近的Band相互融合在一起了。
現在再來對比一下經過高斯建模後的電泳圖片分析結果。還是在相同位置,這時代表第2泳道第6個Band的黃色光密度曲線是不是呈完整的高斯對稱了?而且後面的「GaussModelTrace」也不再是「N.A」,而變成了「0.717OD」,對比上面的「Trace」=0.693OD,大家想想為什麼要大一些呢?
10QuantityOne的電泳條帶分析功能---分子量預測
前面我們和大家學習了用QuantityOne進行電泳條帶定量的基本方法。現在我們暫時轉移視線來探討一下另一個功能,分子量預測。這個功能對於蛋白質而言是分子量預測,對於核酸而言就是核酸大小的預測了。下面我們還是以蛋白質為例來學習。
分子量預測:首先大家必須知道的是分子量的預測是建立在泳道和條帶都已經創建好的基礎上。我們只是人為的為一些泳道上的條帶加上一個已知的標准,然後通過不同泳道和條帶之間的對比繪制回歸曲線,通過回歸曲線的走向來預測特定條帶上的分子的分子量。當然如果我們能夠在一次電泳中多跑幾條不同分子量成分的marker,必然能夠提高我們預測的准確性。
下面我們談談如何操作。在已經創建好泳道和條帶的圖片上,執行「Match-Standard」命令,在彈出的「SelectStandards」選項卡中選擇一個合適的marker。如果您自己已經跑了Marker,那麼請選擇「NewStandard」創建您自己的marker,然後在彈出的「Standard」菜單中輸入您的Marker的分子量。如下圖在「Standard」中輸入一個名稱,然後在下面的表格中輸入各個Marker的分子量和名稱。
輸入完成以後用滑鼠點擊「Type」下面的小箭頭(上圖滑鼠指向的位置),然後把變成綠色加號的滑鼠移動到您的Marker泳道上相應的band。例如上圖中200KD就移動到第15泳道的200KD的位置,以此類推,將每個Marker都標記上相應的數字。標記完成後,Maker泳道上的Bands就會變成藍色。
如果您有多條Marker泳道,您可以再多表記幾條以提高軟體預測的准確性。現在我們執行「Match-StandardCurve」,然後用滑鼠隨便點擊我們想要了解的泳道,QuantityOne立刻就會為我們顯示出一條曲線,傍邊還有一個小的對話框「Std.CurveOptionsforProteins」,在這個對話框中「RegressionModel」選擇「PointtoPointSemi-log」或者「Elder-Southern」這兩種回歸方式;然後鉤選傍邊的「ShowNumericaldataofPoints」,這時再看那條曲線上是不是已經標注了
㈦ 關於Frame繪圖問題
程序的錯誤,還挺多的...懸賞還只有5分.
最核心的問題: 修改了這里,就能看到效果
g.drawImage(bg,0,0,width,height,null);//這里的是null,需要修改成this
//這樣圖片載入好了,就能直接顯示到窗口上了!!!
代碼其他問題的解釋和說明:
錯誤一: 調用錯了方法
main.show(); 調用的是Frame自帶的show方法. 且該方法是過時的方法,不推薦使用
而你其實想調用的是自己寫的public void Show(){ ....} , 注意這里的Show,首字母是大寫的.
建議自定義的方法不要和父類的方法同名(字母最好不要相同), 這里的Show方法,可以寫成類的構造器,在構造器里進行對窗口的設置等
錯誤二: 邏輯錯誤
this.setBounds(30,30,width,height);//設置窗口的位置和大小
this.setResizable(false);//設置窗口不能拉伸,縮放
this.setExtendedState(JFrame.MAXIMIZED_BOTH);//設置窗口全屏最大化
你先設置了不許窗口拉伸,縮放,然後才設置了窗口全屏最大化... 這樣全屏的效果就看不出來了.
注意邏輯順序.
不嚴謹的地方: 混淆JFrame和Frame
public class Main extends Frame // 說明了本類繼承自Frame
this.setExtendedState(JFrame.MAXIMIZED_BOTH);//這里的常量卻使用的是JFrame的.雖然值是一樣的, 建議修改成Frame.MAXIMIZED_BOTH ; 最好是刪除這句代碼, 因為從代碼邏輯上來看不需要這句代碼
需要注意的地方:paint(Graphics g) 方法 一般需要先調用父類的paint方法 .然後才寫自己的代碼,. 這樣就可以在之前繪制的基礎上進行繪制 .
super.paint(g);
簡單修改後的代碼,
//導入需要的包
importjava.awt.*;
importjava.awt.event.*;
{
//用eclipse生成serialVersionUID
=-5947824106992050021L;
//寬高不需要修改的話,定義成常量
staticfinalintBG_WIDTH=600;
staticfinalintBG_HEIGHT=800;
Toolkittk=Toolkit.getDefaultToolkit();
Imagebg=tk.getImage(MainFrame.class.getResource("xyz.png"));
//注意!!!我的圖片地址和你的不一樣,修改成你自己的圖片位置
//構造方法,在構造方法里,對窗體進行設置
publicMainFrame(){
setTitle("測試");
setSize(BG_WIDTH,BG_HEIGHT);//設置窗口的大小
setLocationRelativeTo(null);//設置窗口居中
setResizable(false);//設置窗口不能拉伸,縮放
addWindowListener(newWindowAdapter(){//設置點擊關閉按鈕時,結束程序
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
}
publicvoidpaint(Graphicsg){
super.paint(g);//先調用父類的paint方法
//g.setColor(Color.WHITE);//設置繪制的顏色
//g.fillRect(0,0,BG_WIDTH,BG_HEIGHT);//填充
g.drawImage(bg,0,0,BG_WIDTH,BG_HEIGHT,this);//繪制
}
publicstaticvoidmain(String[]args){
MainFramemain=newMainFrame();
main.setVisible(true);//調用setVisible方法來進行顯示
}
}
㈧ 什麼是frame表單,如何切換frame表單
frame:HTML頁面中的一種框架,主要作用是在當前頁面中指定區域顯示另一頁面元素; (HTML語言中,frame/iframe標簽為表單框架)方法: 1). driver.switch_to.frame("myframe1") --> 切換表單方法 (myframe1:為frame表單的name或id) 2). driver.switch_to.default_content() --> 恢復默認頁面方法 (在frame表單中操作其他頁面,必須先回到默認頁面,才能進一步操作)我在學習有關web自動化測試相關的知識的時候,都是看黑馬程序員視頻庫的視頻,他們講的很好全面,相比看書的話我就很難看下去。另外的資料官網對話框就可以領取。要是自學的話可以去看看黑馬社區,能找到一起自學的小夥伴
㈨ web自動化測試時,frame框架是如何切換頁面frame的
說明:在Selenium中封裝了如何切換frame框架的方法
方法:
1). driver.switch_to.frame(frame_reference) --> 切換到指定frame的方法
frame_reference:可以為frame框架的name、id或者定位到的frame元素
2). driver.switch_to.default_content() --> 恢復默認頁面方法
Web自動化測試有很多問題都在黑馬程序員社區有答案,可以去看看
㈩ html中框架(frame)的詳細使用方法
框架概念 :
所謂框架便是網頁畫面分成幾個框窗,同時取得多個 URL。只 要 <FRAMESET> <FRAME> 即可,而所有框架標記 要放在一個總起的 html 檔,這個檔案只記錄了該框架 如何劃分,不會顯示任何資料,所以不必放入 <BODY> 標記,瀏覽這框架必須讀取這檔 案而不是其它框窗的檔案。<FRAMESET> 是用以劃分框窗,每一框窗由一個 <FRAME> 標 記所標示,<FRAME>必須在 <FRAMESET> 范圍中使用。如下例:
<frameset cols="50%,*">
<frame name="hello" src="up2u.html">
<frame name="hi" src="me2.html">
</frameset>
此例中 <FRAMESET> 把畫面分成左右兩相等部分,左便是顯示 up2u.html,右邊則會顯示 me2.html 這檔案,<FRAME> 標記所標示的框窗永遠是按由上而下、由左至右的次序。
<FRAMESET> <FRAME> :
<FRAMESET> 稱框架標記,用以宣告HTML文件為框架模式,並設定視窗如何分割。
<FRAME> 則只是設定某一個框窗內的參數屬性。
<FRAMESET> 參數設定:
例子:<frameset rows="90,*" frameborder="0" border=0 framespacing="2" bordercolor="#008000">
COLS="90,*"
垂直切割畫面(如分左右兩個畫面),接受整數值、百分數, * 則代表佔用餘下空 間。數值的個數代表分成的視窗數目且以逗號分隔。例如 COLS="30,*,50%" 可以 切成三個視窗,第一個視窗是 30 pixels 的寬度,為一絕對分割,第二個視窗是當 分配完第一及第三個視窗後剩下的空間,第三個視窗則占整個畫面的 50% 寬度 為 一相對分割。您可自己調整數字。
ROWS="120,*"
就是橫向切割,將畫面上下分開,數值設定同上。唯 COLS 與 ROWS 兩參數盡量 不要同在一個 <FRAMESET> 標記中,因 Netacape 偶然不能顯示這類形的框架,盡 採用多重分割。
frameborder="0"
設定框架的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要顯示邊框。(避 免使用 yes 或 no )
border="0"
設定框架的邊框厚度,以 pixels 為單位。
bordercolor="#008000"
設定框架的邊框顏色。
framespacing="5"
表示框架與框架間的保留空白的距離。
<FRAME> 參數設定:
例子:<frame name="top" src="a.html" marginwidth="5" marginheight="5" scrolling="Auto" frameborder="0" noresize framespacing="6" bordercolor="#0000FF">
SRC="a.html"
設定此框窗中要顯示的網頁檔案名稱,每個框窗一定要對應著一個網頁檔案。你可 使用絕對路徑或相對路徑,有關此兩者詳見於【連結進階】。
NAME="top"
設定這個框窗的名稱,這樣才能指定框架來作連結,必須但任意命名。
frameborder=0
設定框架的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要顯示邊框。(避 免使用 yes 或 no )
framespacing="6"
表示框架與框架間的保留空白的距離。
bordercolor="#008000"
設定框架的邊框顏色。顏色值請參考【HTML 剖析】。
scrolling="Auto"
設定是否要顯示卷軸,YES 表示要顯示卷軸,NO 表示無論如何都不要顯示, AUTO是視情況顯示。
noresize
設定不讓使用者可以改變這個框框的大小,亦沒有設定此參數,使用者可以很隨 意地拉動框架,改變其大小。
marginhight=5
表示框架高度部份邊緣所保留的空間。
marginwidth=5
表示框架寬度部份邊緣所保留的空間。
<NOFRAMES> :
當別人使用的瀏覽器太舊,不支援框架這個功能時,他看到的將會是一片空白。為了避免 這種情況,可使用 <NOFRAMES> 這個標記,當使用者的瀏覽器看不到框架時,他就會看 到 <NOFRAMES> 與 </NOFRAMES> 之間的內容,而不是一片空白。這些內容可以是提醒 瀏覽轉用新的瀏覽器的字句,甚至是一個沒有框架的網頁或能自動切換至沒有框架的版本 亦可。
應用方法:
在<frameset> 標記范圍加入 </NOFRAMES> 標記,以下是一個例子:
<frameset rows="80,*">
<noframes>
<body>
很抱歉,饋下使用的瀏覽器不支援框架功能,請轉用新的瀏覽器。
</body>
</noframes>
<frame name="top" src="a.html">
<frame name="bottom" src="b.html">
</frameset>
若瀏覽器支援框架,那堋它不會理會 <noframes> 中的東西,但若瀏覽器不支援框架,由 於不認識所有框架標記,不明的標記會被略過,標記包圍的東西便被解讀出來,所以放在 <noframes>范圍內的文字會被顯示。
<IFRAME> :
這標記只適用於 IE。 它的作用是在一頁網頁中間插入一個框窗以顯示另一個文件。它是 一個圍堵標記,但圍著的字句只有在瀏覽器不支援 iframe 標記時才會顯示,如<noframes> 一樣,可以放些提醒字句之類。通常 iframe 配合一個辨認瀏覽器的 Java Script 會較好,若 JavaScript 認出該瀏覽器並非 Internet Explorer 便會切換至另一版本。
<iframe> 的參數設定如下:
例子: <iframe src="iframe.html" name="test" align="MIDDLE" width="300" height="100" marginwidth="1" marginheight="1" frameborder="1" scrolling="Yes">
src="iframe.html"
欲顯示於此框窗的文件來源除檔案名稱,必要加上相對或絕對路徑。
name="test"
此框窗名稱,這是連結標記的 target 參數所 要的,
align="MIDDLE"
可選值為 left, right, top, middle, bottom,作用不大
width="300" height="100"
框窗的寬及長,以 pixels 為單位。
marginwidth="1" marginheight="1"
該插入的文件與框邊所保留的空間。
frameborder="1"
使用 1 表示顯示邊框, 0 則不顯示。(可以是 yes 或 no)
scrolling="Yes"
使用 Yes 表示容許卷動(內定), No 則不容許卷動。
例子: 原始碼
<center> <iframe src="http://www.pce.com.cn/index.html" name="test" align="MIDDLE" width="300" height="100" marginwidth="5" marginheight="5" frameborder="1">
很抱歉,饋下使用的瀏覽器並不支援 IFrame,不能正常瀏覽我的網頁。</iframe>
</center>
frameset參數傳遞問題
左邊的條件參數如何傳,右邊才能接收
--------------------------------------------------------------------------------
對三個幀分別命名為:left.asp(顯示查詢條件的頁面,其中幀名為:left),top.asp,main.asp(顯示查詢結果的頁面,其中幀名為:main)
如:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>search</title>
</head>
<frameset rows="80,*" frameborder="NO" border="0" framespacing="0">
<frame src="top.asp" name="top" scrolling="NO" noresize >
<frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
<frame src="left.asp" name="left" scrolling="NO" noresize>
<frame src="main.asp" name="main">
</frameset>
</frameset>
<noframes><body>
</body></noframes>
</html>
在left的表單中寫成:
<form name="form1" method="post" action="main.asp" target="main">
......//你自己設計吧。
</form>
這樣就可以你的查詢條件傳給main.asp中了!