<% function getFileName() Dim pos, path, name path = Request.ServerVariables("PATH_INFO") pos = InStrRev(path,"/",-1,1) name = Right(path, len(path) - pos) 'response.write("PATH_TRANSLATED" + Request.ServerVariables("PATH_TRANSLATED") + "
") '**** Test Code *********************** getFileName = name 'Response.Write("filename for NS6 " + name + "
") 'Response.Write(strMainPhysicalPath & Replace(Request.QueryString("NAME"),"%2E",".")) End Function ' Function IsEmailValid(strEmail) ' Action: checks if an email is correct. ' Parameter: strEmail - the Email address ' Returned value: on success it returns True, else False. Function IsEmailValid(strEmail) Dim strArray Dim strItem Dim i Dim c Dim blnIsItValid ' assume the email address is correct blnIsItValid = True ' split the email address in two parts: name@domain.ext strArray = Split(strEmail, "@") ' if there are more or less than two parts If UBound(strArray) <> 1 Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If ' check each part For Each strItem In strArray ' no part can be void If Len(strItem) <= 0 Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If ' check each character of the part ' only following "abcdefghijklmnopqrstuvwxyz_-." ' characters and the ten digits are allowed For i = 1 To Len(strItem) c = LCase(Mid(strItem, i, 1)) ' if there is an illegal character in the part If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If Next ' the first and the last character in the part cannot be . (dot) If Left(strItem, 1) = "." Or Right(strItem, 1) = "." Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If Next ' the second part (domain.ext) must contain a . (dot) If InStr(strArray(1), ".") <= 0 Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If ' check the length oh the extension i = Len(strArray(1)) - InStrRev(strArray(1), ".") ' the length of the extension can be only 2, 3, or 4 ' to cover the new "info" extension If i <> 2 And i <> 3 And i <> 4 Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If ' after . (dot) cannot follow a . (dot) If InStr(strEmail, "..") > 0 Then blnIsItValid = False IsEmailValid = blnIsItValid Exit Function End If ' finally it's OK IsEmailValid = blnIsItValid End Function %> <% if LCase(getFilename)= "inthelab.asp" then response.write("Work being done in the Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI") end if if LCase(getFilename) = "labmembers.asp" then response.write("Staff, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI") end if if LCase(getFilename) = "publications.asp" then response.write("Publications, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI ") end if if LCase(getFilename) = "contactus.asp" then response.write("Geller Lab Contact, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI ") end if if LCase(getFilename) = "location.asp" then response.write("Nabel Lab Location") end if if LCase(getFilename) = "imagegallery.asp" then response.write("Geller Lab Images, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI ") end if if LCase(getFilename) = "favoritejournals.asp" then response.write("Favorite Journals, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI ") end if if LCase(getFilename) = "macroanalysis.asp" then response.write("Macro Analysis, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI ") end if if LCase(getFilename) = "labmethods.asp" then response.write("Lab Methods, Developmental Neurobiology Lab, Div. of Intramural Research, NHLBI ") end if %> - NIH <% Dim image_intheLab Dim image_labmembers Dim image_publications Dim image_contactus Dim image_location Dim image_imageGallery Dim image_nabelLabHOme Dim image_favoriteJournals Dim image_labMethods image_intheLab = "arrow_off.gif" image_labmembers = "arrow_off.gif" image_publications = "arrow_off.gif" image_contactus = "arrow_off.gif" image_location = "arrow_off.gif" image_imageGallery = "arrow_off.gif" image_nabelLabHome = "arrow_off.gif" image_favoriteJournals = "arrow_off.gif" image_labMethods = "arrow_off.gif" if LCase(getFilename)= "inthelab.asp" or LCase(getFilename)= "indexns6.asp" then image_intheLab="arrow_on.gif" end if if LCase(getFilename) = "labmembers.asp" then image_labmembers = "arrow_on.gif" end if if LCase(getFilename) = "publications.asp" then image_publications = "arrow_on.gif" end if if LCase(getFilename) = "contactus.asp" then image_contactus = "arrow_on.gif" end if if LCase(getFilename) = "location.asp" then image_location = "arrow_on.gif" end if if LCase(getFilename) = "imagegallery.asp" then image_imageGallery = "arrow_on.gif" end if if LCase(getFilename) = "nabelLabeHome.asp" then image_nabelLabeHome = "arrow_on.gif" end if if LCase(getFilename) = "favoritejournals.asp" then image_favoriteJournals = "arrow_on.gif" end if if LCase(getFilename) = "labmethods.asp" then image_labMethods = "arrow_on.gif" end if %>
Geller Lab Home Jump pass to content National Heart, Lung, and Blood Institute
Developmental Neurobiology
Jump pass to links
[Border] <%if image_inthelab="arrow_on.gif" then%> In the Lab <%end if%> <%if image_labmembers="arrow_on.gif" then%> Lab Members <%end if%> <%if image_publications="arrow_on.gif" then%> Publications <%end if%> <%if image_contactus="arrow_on.gif" then%> Contact Us <%end if%> <%if image_location="arrow_on.gif" then%> Location <%end if%> <%if image_imageGallery="arrow_on.gif" then%> Image Gallery <%end if%> <%if image_nabelLabHome="arrow_on.gif" then%> Geller Lab Home <%end if%> <%if image_favoriteJournals="arrow_on.gif" then%> Favorite Journals <%end if%> <%if image_labMethods="arrow_on.gif" then%> Lab Methods <%end if%>  
Table image of part of Helix NHLBI Home NHLBI Labs    
arrow image to point to Nabel Lab splash page<%if image_nabelLabHome="arrow_off.gif" then %><%end if%>[Nabel Lab Home]<%if image_nabelLabHome="arrow_off.gif" then %><%end if%>arrow image to point to in the lab page<%if image_intheLab="arrow_off.gif" then %><%end if%>[In the Lab]<%if image_intheLab="arrow_off.gif" then%><%end if%>arrow image to point to in the lab members page<%if image_labmembers="arrow_off.gif" then %><%end if%>[Lab Members]<%if image_labmembers="arrow_off.gif" then %><%end if%>arrow image to point to publications page<%if image_publications="arrow_off.gif" then %><%end if%>[Publications]<%if image_publications="arrow_off.gif" then %><%end if%>arrow image to point to Contact page<%if image_contactus="arrow_off.gif" then %><%end if%>[Contact Us]<%if image_contactus="arrow_off.gif" then %><%end if%>arrow image to point to lab location page<%if image_location="arrow_off.gif" then %><%end if%>[Location]<%if image_location="arrow_off.gif" then %><%end if%>arrow image to point to Favorite Journals<%if image_favoriteJournals="arrow_off.gif" then %><%end if%>[Favorite Journals]<%if image_favoriteJournals="arrow_off.gif" then %><%end if%> arrow image to point to Lab Methods<%if image_labMethods="arrow_off.gif" then %><%end if%>[Lab Methods]<%if image_labMethods="arrow_off.gif" then %><%end if%>

 

{Comet moment macro V1.0 9/5/97
by Herbert M. Geller,

Macro to compute comet moment from single cell gel electrophoresis data. Coment moment is computed as the integrated density in the comet tail multiplied by the distance from the center of the nucleus to the center of mass of the tail.

The macro requires manual intervention. It assumes all tails are going to the left of the image.

Steps:
1) Rotate the comet if necessary with "R".

2) Duplicate a rectangular selection containing the entire nucleus and the comet.

3) Go to the new window and change the color from grey scale to color with "P" to more easily identify the boundaries of the nucleus.

4) Draw a vertical selection with the measurement tool across the width of the nucleus and hit "N" to locate the center and radius of the nucleus. The macro will draw a circle which should cover the nucleus. Repeat if not correct.

5) Make a rectangular selection isolating the comet tail and hit "C". The macro will then subtract the background and compute the comet moment.

6) Please note that this definition of comet moment is not normalized to the total amount of DNA, as we find that with 8 bit grey scale, the dynamic range is not sufficient to capture both the tail and the nucleus, so we normally let the center of the nucleus become saturated. }

var xcenter,ycenter,radius:integer
Macro 'Change to Palette Color [P]';
Begin
SetPalette ('Spectrum');
End;

macro 'Rotate Comet [R]';
var x1,x2,y1,y2,dx,dy,width,degrees,height:integer;
theta,pi:real;
begin
pi:=3.1419265;
GetLine(x1,y1,x2,y2,width);
if x1<0 then begin
PutMessage('Please draw a line from the center of the nucleus along the comet.');
exit;
end;
dx:=x1-x2;
dy:=y1-y2;
if dx=0 then begin
if dy>=0 then theta:=pi/2 else theta:=3/2*pi
end
else
begin
theta:=arctan(dy/dx);
if dx<0 then theta:=theta+pi;
end;
degrees:=-theta*180/pi;
if degrees>180 then degrees:=-degrees-360;
{ PutMessage(dx,' ',dy,' theta ' ,theta,' ',degrees); }
SelectAll;
ScaleAndRotate(1,1,degrees);
end;
end;

macro 'Nucleus Center [N]';
var
x1,x2,y1,y2,top,left,width,height:integer;
begin
GetLine(x1,y1,x2,y2,width);
if x1<0 then begin
PutMessage('Please draw a line across the nucleus width.');
exit;
end;
xcenter:=x1+(x2-x1)/2;
ycenter:=y1+(y2-y1)/2;
radius:=sqrt(sqr(x2-x1)+sqr(y2-y1))/2;
MakeOvalROI(xcenter-radius,ycenter-radius,radius*2,radius*2);
clear;
MakeOvalROI(xcenter-5,ycenter-5,10,10);
fill;
KillRoi;
end;

macro 'Comet Dimensions [C]';
var
left,top,width,height,pixel:integer;
x,y,txval,tyval,tpix,CometXPos,CometYPos,CometLen:integer;
n,mean,mode,min,max:integer;
moment:real;
begin
SetUser1Label('Comet Length');
SetUser2Label('Moment');
SetOptions('Area,Mean,Min/Max,User1,User2');
SetPrecision(2);
GetRoi(left,top,width,height);
if height=0 then begin
PutMessage('Please select the comet tail area');
exit;
end;
width:=xcenter-(radius+left);
MakeRoi(left,top,width,height);
Invert;
SubtractBackgound('2D Rolling Ball (faster)',50);
Measure;
GetResults(n,mean,mode,min,max);
txval:=0;
tyval:=0;
for x:=left to left+width-1 do begin
for y:=top to top+height-1 do begin
pixel:=GetPixel(x,y);
txval:=txval+ pixel*(x);
tyval:=tyval+pixel*(y);
end;
end;
tpix:=n*mean;
CometXPos:=txval/tpix;
CometYPos:=tyval/tpix;
CometLen:=sqrt(sqr(CometXPos-xcenter)+sqr(CometYPos-ycenter));
rUser1[rCount]:=CometLen;
moment:=n*mean*CometLen;
rUser2[rCount]:=moment;
UpdateResults;
Dispose;
end;

Table image of part of HelixTable image of Helix

 

Dr. Herbert Geller, Head
Developmental Neurobiology, NHLBI, NIH
Building 10, Room 8C-213, 10 Center Drive, MSC-1650
Bethesda, MD 20892-1650
Email: gellerh@nhlbi.nih.gov

NHLBI HomeLabs at the NHLBIContact the NHLBIAbout NHLBISearch NHLBI
Table image of Helix

 

 

Accessibility Policy | Privacy Statement
Health Information | Scientific Resources | Research Funding
News and Press Releases | Committees, Meetings, Events | Clinical Guidelines
Studies Seeking Patients | Labs at the NHLBI | Technology Transfer


Logo DHHS
Logo NIH
Logo NHLBI

Partners logo Cardiovascular Health Partners
Healthy People 2010

Please send us your feedback, comments, and questions
by using the appropriate link on the page, Contact the NHLBI.

Note to users of screen readers and other assistive technologies: please report your problems here.