Project 1 Solutions CS 321, Fall 2003

Size: px
Start display at page:

Download "Project 1 Solutions CS 321, Fall 2003"

Transcription

1 Project 1 Solutions CS 321, Fall 2003 Tony Faradjian The function pickca, provided on the web page, extracts the C-alpha coordinates of the several chains and places them in cells: >> r = pickca('1mhc.pdb') r = Columns 1 through 4 [276x3 double] [99x3 double] [9x3 double] [276x3 double] Columns 5 through 6 [99x3 double] [9x3 double] To plot the six chains, we use the function plot_chains (a disadvantage: the colors are hardcoded). This function takes an optional second argument that causes C-alphas to be plotted as points. function plot_chains(r, pts) plot_chains(r, pts). Plot the chains of a protein. r: {1 m}: m chains, r{i} is [n_i 3], the coordinates of the i-th chain. NOTE: r can also be an N-by-3 matrix in case of a single chain. pts: [1]: OPTIONAL: boolean indicating whether residues should also be represented as points. DEFAULT is 0. if nargin == 1 pts = 0; cell array in any case if ~iscell(r) r = {r}; figure hold colour = ['b' 'g' 'y' 'r' 'm' 'c']; max of 6 colors for i = 1:length(r) ii = mod(i, length(colour)) + 1; plot3(r{i}(:,1), r{i}(:,2), r{i}(:,3), [colour(ii) '-']); if pts plot3(r{i}(:,1), r{i}(:,2), r{i}(:,3), [colour(ii) '.']); axis equal rotate3d on

2 The last line activates MATLAB s rotate3d facility ( help rotate3d ). The plot below is produced by the following code: plot_chains(r, 1) title('mhc C-alphas') xlabel('x (Angstroms)') ylabel('y (Angstroms)') zlabel('z (Angstroms)') Internal coordinates are computed using the function interncoord from HW1 (code supplied on web page). The following function, interncoord_m, simply calls intercoord on each chain: function [d, a, t] = interncoord_m(r) [d a t] = interncoord_m(r). Call interncoord on several chains. r: {1 m}: m chains d, a, t: each {1 m}: internal coordinates corresponding to r. (See interncoord for more detail.) for i = 1:length(r) [d{i} a{i} t{i}] = interncoord(r{i});

3 We call it as follows: >> [d a t] = interncoord_m(r) d = Columns 1 through 4 [275x1 double] [98x1 double] [8x1 double] [275x1 double] Columns 5 through 6 [98x1 double] [8x1 double] a = Columns 1 through 4 [274x1 double] [97x1 double] [7x1 double] [274x1 double] Columns 5 through 6 [97x1 double] [7x1 double] t = Columns 1 through 4 [273x1 double] [96x1 double] [6x1 double] [273x1 double] Columns 5 through 6 [96x1 double] [6x1 double] To build distance histograms, lump all the distances into one vector, and pass it to hist: >> dd = cat(2,d); ('help cat') >> [n x] = hist(dd); >> n = n / length(dd); normalize Plot it with bar: bar(x,n); title('probability distribution of MHC virtual bond lengths'); xlabel('b (Angstroms)'); ylabel('p(b)');

4 The unusual feature is the nonzero probability around 3.1 Angstroms. The following code finds these anomalous bonds: >> ff = []; >> for i = 1:length(d) fin = find(d{i} < 3.5); 3.5 is quite arbitrary ff = [ff; [repmat(i, length(fin), 1), fin]]; >> ff ff = There are four of them, one in each of chains A, B, D, and E. A glance at the pdb file for 1MHC shows that residues no. 210 o f the A and D chains and residues no. 32 of the B and E chains are proline. These four bonds are unusually short because the prolines are in the cis isomer, instead of the more common trans isomer. The function prot_spline fits a spline through a protein. It uses MATLAB s csapi (similar to spline) then passes the interpolant to plot_chains:

5 function splin = prot_spline(r, d) splin = prot_spline(r, d). Fit cubic splines through the chains of a protein and plot. r: {1 m}: m chains, r{i} is [n_i 3], the coords of the i-th chain. NOTE: r can also be an N-by-3 matrix in case of a single chain. d: [1]: degree of interpolation, i.e., factor by which the number of points increases. splin: {1 m}: corresponding splines cell array in any case if ~iscell(r) rr = r; clear r r{1} = rr; clear rr for i = 1:length(r) splin{i} = csapi(1:length(r{i}), r{i}'); p{i} = ppval(splin{i}, 1:d:max(splin{i}.breaks))'; note transpose plot_chains(p); Use it as follows: >> prot_spline(r); Current plot held >> title('cubic spline interpolation of 1MHC'); >> xlabel('x (Angstroms)'); >> ylabel('y (Angstroms)'); >> zlabel('z (Angstroms)');

6 The PDB s Motif Summary page for 1MHC (accessed via the Geometry link) supplies secondary structure annotation. Based on that information, the script sscorrmhc.m hardcodes a cell array ss of secondary structure vectors then uses it to make three correlation plots, one for each internal coordinate vs. the PDB annotation. This script is long but simple. It uses MATLAB s subplot to organize the three plots into one figure. sscorrmhc: script to display correlation between internal coordinates and PDB secondary structure annotation of protein 1MHC. Assumes 1MHC is stored in variable r {1 6} with r{i} having size [n_i 3]. Also assumes that internal coordinates of 1MHC are stored in d, a, t (each {1 6}) hardcode helix indices helix = cell(1,6); A chain helices helix{1} = [50:52 58:84 138: : : : :256]; D chain helices helix{4} = [50:54 57:84 138: : : : :256]; no other helices: remaining cells empty hardcode sheet indices

7 sheet = cell(1,6); sheet{1} = [3:12 22:28 31:39 42:47 94: : : : : : : : : : : : :272]; sheet{2} = [6:11 21:30 50:51 55:56 62: :41 44:45 78:84 91:94]; no sheets in the C chain: sheet{3} is empty sheet{4} = [3:12 22:28 31:39 42:47 94: : : : : : : : : : : : :272]; sheet{5} = [6:11 21:30 50:51 55:56 62:70 35:41 44:45 78:84 91:94]; no sheets in F chain: sheet{6} is empty build secondary structure vectors ss. ss = cell(1,6); for i = 1:length(ss) ss{i} = 2 * ones(1, size(r{i}, 1)); default is coil ss{i}(helix{i}) = 0; ss{i}(sheet{i}) = 1; clear i PLOTS colour = ['b' 'g' 'r' 'k' 'm' 'c']; bond length correlation plot subplot(3,1,1) hold for i = 1:length(ss) plot(ss{i}(1:-1), d{i}, [colour(i) 'o']); xlabel('ss'); ylabel('bond length (Angstroms)'); title('correlation plot of bond length vs. secondary structure'); bond angle correlation plot subplot(3,1,2) hold for i = 1:length(ss) plot(ss{i}(2:-1), a{i}/pi, [colour(i) 'o']); xlabel('ss'); ylabel('bond angle (in units of pi)'); title('correlation plot of bond angle vs. secondary structure');

8 torsion angle correlation plot subplot(3,1,3) hold for i = 1:length(ss) plot(ss{i}(2:-2), t{i}/(2*pi), [colour(i) 'o']); xlabel('ss'); ylabel('torsion angle (in units of 2 * pi)'); title('correlation plot of torsion angle vs. secondary structure'); Here is the result: Not surprisingly, the bond length does not correlate well with secondary structure: it s almost always roughly 3.8 Angstroms. The torsion angle does better, clustering roughly around 0.2(2π) for helices and ting to be larger than 0.4(2π) for beta sheets. It is widely scattered for loops, though. (The terms loop, coil, and turn, all refer to secondary structure that is neither alpha nor beta.) The best correlator with secondary structure is the bond angle. It separates helices and beta sheets into two almost disjoint subsets (less than π/2 for helices, greater than π/2 for sheets) with less scatter than the torsion angle does, and although it too is unpredictable for coil residues, it still shows less scatter there than the torsion angle does. Finally, we construct a Cartesian representation of 1MHC from its internal coordinates. The procedure is to use the bond and torsion angles to rotate running backbone tangents and plane normals to app the next C-alpha coordinate. Thus we need to write code that computes a rotation matrix R about an arbitrary axis n and by an arbitrary angle θ. To rotate a (column) vector v, we simply compute R*v. To compute R, we first change basis so that n coincides with the z-axis. This change of basis is itself a rotation, given by matrix T n. If R z (θ) is a rotation about the z-axis by angle θ (which is easy for us to write down), then R = T n -1 * R z (θ) * T n = T t * R z (θ) * T n. The change of basis rotation T n is computed by the function alignmat:

9 function T = alignmat(ax) T = alignmat(ax). Compute a matrix that rotates an axis to the z axis. ax: [1 3]: axis to be rotated T: [3 3]: rotation matrix x = ax(1); y = ax(2); z = ax(3); r = norm(ax); if r == 0 error('ax is zero'); rho = norm(ax(1:2)); if rho == 0 T = eye(3); if z < 0 T(1,1) = -1; T(3,3) = -1; return ct = z / r; cosine(theta) st = rho / r; sin(theta) cp = x / rho; sp = y / rho; T = [ ct * cp ct * sp -st;... -sp cp 0;... st * cp st * sp ct ]; Now we can use it in rotmat, the function that computes R: function R = rotmat(ax, angle) R = rotmat(ax, angle). Compute a 3-D rotation matrix. ax: [1 3]: vector giving rotation axis (not necessarily normalized). angle: [1]: angle of rotation. R: [3 3]: corresponding rotation matrix. T = alignmat(ax); c = cos(angle); s = sin(angle); zrot = [c -s 0;... s c 0; ]; R = T' * zrot * T;

10 Now we can write intern2cart, the function that converts the internal representation of a chain to a Cartesian representation. As stipulated in the assignment, we resolve amibguities about the absolute position and orientation of the resulting structure by placing the first residue at the origin, the second on the positive x-axis, and the third in the xy-plane. function r = intern2cart(d, a, t) r = intern2cart(d, a, t). Compute a Cartesian representation of a chain from its internal coordinates. d: [1, n-1]: bond distances a: [1, n-2]: bond angles t: [1, n-3]: torsion angles r: [n 3]: Cartesian representation with r(1,:) = 0 and r(2,2:3) = 0. n = length(d) + 1; r = zeros(3, n); r(1,2) = d(1); e = [0; 0; 1]; running plane normal g = [1; 0; 0]; running chain tangent t = [t; 0]; simplify loop with dummy 0 for i = 3:n R = rotmat(e, pi - a(i-2)); g = R * g; r(:,i) = r(:,i-1) + d(i-1) * g; R = rotmat(g, t(i-2)); e = R * e; r = r'; The following line reconstructs the A chain of MHC: >> ra = intern2cart(d{1}, a{1}, t{1}); Does it work? The contact maps are easy enough to check out: >> cmb = triu(dist(r{1}') <= 7); >> image(cmb + 1) >> colormap([1 1 1; 0 0 0]) >> title('contact map of 1MHC_A') >> figure >> cma = triu(dist(ra') <= 7); >> image(cma + 1) >> colormap([1 1 1; 0 0 0]) >> title('contact map of 1MHC_A after reconstruction... from internal coordinates')

11 They look identical. A more rigorous test of similarity is to measure the difference in their distance matrices: >> max(max(abs(dist(r{1}') - dist(ra')))) ans = e-011 This number shows that corresponding elements of the two distance matrices are identical up to 10 decimal places. Since the C-alpha coordinates were given to only 3 decimal places, we conclude that the code is correct and that the reconstruction from internal coordinates is more than satisfactorily accurate.

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 4 Visualising Data Dr Richard Greenaway 4 Visualising Data 4.1 Simple Data Plotting You should now be familiar with the plot function which is

More information

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala) 3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity

More information

Science Olympiad Protein Modeling Event Guide to Scoring Zinc Finger Motif

Science Olympiad Protein Modeling Event Guide to Scoring Zinc Finger Motif Science Olympiad Protein Modeling Event Guide to Scoring Zinc Finger Motif Once you have folded the zinc finger motif (chain C, residues 4-31 of 1ZAA.pdb), use this guide in conjunction with the rubric

More information

CS612 - Algorithms in Bioinformatics

CS612 - Algorithms in Bioinformatics Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search

More information

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11 3D Transformations CS 4620 Lecture 11 1 Announcements A2 due tomorrow Demos on Monday Please sign up for a slot Post on piazza 2 Translation 3 Scaling 4 Rotation about z axis 5 Rotation about x axis 6

More information

Conformations of Proteins on Lattice Models. Jiangbo Miao Natalie Kantz

Conformations of Proteins on Lattice Models. Jiangbo Miao Natalie Kantz Conformations of Proteins on Lattice Models Jiangbo Miao Natalie Kantz Lattice Model The lattice model offers a discrete space that limits the infinite number of protein conformations to the lattice space.

More information

Mechanical Engineering Department Second Year (2015)

Mechanical Engineering Department Second Year (2015) Lecture 7: Graphs Basic Plotting MATLAB has extensive facilities for displaying vectors and matrices as graphs, as well as annotating and printing these graphs. This section describes a few of the most

More information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2

-SOLUTION- ME / ECE 739: Advanced Robotics Homework #2 ME / ECE 739: Advanced Robotics Homework #2 Due: March 5 th (Thursday) -SOLUTION- Please submit your answers to the questions and all supporting work including your Matlab scripts, and, where appropriate,

More information

Geometric Transformations

Geometric Transformations Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication

More information

Page 1 of 7 E7 Spring 2009 Midterm I SID: UNIVERSITY OF CALIFORNIA, BERKELEY Department of Civil and Environmental Engineering. Practice Midterm 01

Page 1 of 7 E7 Spring 2009 Midterm I SID: UNIVERSITY OF CALIFORNIA, BERKELEY Department of Civil and Environmental Engineering. Practice Midterm 01 Page 1 of E Spring Midterm I SID: UNIVERSITY OF CALIFORNIA, BERKELEY Practice Midterm 1 minutes pts Question Points Grade 1 4 3 6 4 16 6 1 Total Notes (a) Write your name and your SID on the top right

More information

Georeferencing & Spatial Adjustment

Georeferencing & Spatial Adjustment Georeferencing & Spatial Adjustment Aligning Raster and Vector Data to the Real World Rotation Differential Scaling Distortion Skew Translation 1 The Problem How are geographically unregistered data, either

More information

Matlab Tutorial. The value assigned to a variable can be checked by simply typing in the variable name:

Matlab Tutorial. The value assigned to a variable can be checked by simply typing in the variable name: 1 Matlab Tutorial 1- What is Matlab? Matlab is a powerful tool for almost any kind of mathematical application. It enables one to develop programs with a high degree of functionality. The user can write

More information

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010) Advanced Computer Graphics (Fall 2010) CS 283, Lecture 19: Basic Geometric Concepts and Rotations Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Motivation Moving from rendering to simulation,

More information

Introduction to. The Help System. Variable and Memory Management. Matrices Generation. Interactive Calculations. Vectors and Matrices

Introduction to. The Help System. Variable and Memory Management. Matrices Generation. Interactive Calculations. Vectors and Matrices Introduction to Interactive Calculations Matlab is interactive, no need to declare variables >> 2+3*4/2 >> V = 50 >> V + 2 >> V Ans = 52 >> a=5e-3; b=1; a+b Most elementary functions and constants are

More information

Robotics kinematics and Dynamics

Robotics kinematics and Dynamics Robotics kinematics and Dynamics C. Sivakumar Assistant Professor Department of Mechanical Engineering BSA Crescent Institute of Science and Technology 1 Robot kinematics KINEMATICS the analytical study

More information

Georeferencing & Spatial Adjustment 2/13/2018

Georeferencing & Spatial Adjustment 2/13/2018 Georeferencing & Spatial Adjustment The Problem Aligning Raster and Vector Data to the Real World How are geographically unregistered data, either raster or vector, made to align with data that exist in

More information

Objectives. 1 Basic Calculations. 2 Matrix Algebra. Physical Sciences 12a Lab 0 Spring 2016

Objectives. 1 Basic Calculations. 2 Matrix Algebra. Physical Sciences 12a Lab 0 Spring 2016 Physical Sciences 12a Lab 0 Spring 2016 Objectives This lab is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started in this class. It is meant to

More information

What is MATLAB? It is a high-level programming language. for numerical computations for symbolic computations for scientific visualizations

What is MATLAB? It is a high-level programming language. for numerical computations for symbolic computations for scientific visualizations What is MATLAB? It stands for MATrix LABoratory It is developed by The Mathworks, Inc (http://www.mathworks.com) It is an interactive, integrated, environment for numerical computations for symbolic computations

More information

ENGR Fall Exam 1

ENGR Fall Exam 1 ENGR 1300 Fall 01 Exam 1 INSTRUCTIONS: Duration: 60 minutes Keep your eyes on your own work! Keep your work covered at all times! 1. Each student is responsible for following directions. Read carefully..

More information

The Problem. Georeferencing & Spatial Adjustment. Nature Of The Problem: For Example: Georeferencing & Spatial Adjustment 9/20/2016

The Problem. Georeferencing & Spatial Adjustment. Nature Of The Problem: For Example: Georeferencing & Spatial Adjustment 9/20/2016 Georeferencing & Spatial Adjustment Aligning Raster and Vector Data to the Real World The Problem How are geographically unregistered data, either raster or vector, made to align with data that exist in

More information

Linear and Affine Transformations Coordinate Systems

Linear and Affine Transformations Coordinate Systems Linear and Affine Transformations Coordinate Systems Recall A transformation T is linear if Recall A transformation T is linear if Every linear transformation can be represented as matrix Linear Transformation

More information

The Problem. Georeferencing & Spatial Adjustment. Nature of the problem: For Example: Georeferencing & Spatial Adjustment 2/4/2014

The Problem. Georeferencing & Spatial Adjustment. Nature of the problem: For Example: Georeferencing & Spatial Adjustment 2/4/2014 Georeferencing & Spatial Adjustment Aligning Raster and Vector Data to a GIS The Problem How are geographically unregistered data, either raster or vector, made to align with data that exist in geographical

More information

A First Introduction to Scientific Visualization Geoffrey Gray

A First Introduction to Scientific Visualization Geoffrey Gray Visual Molecular Dynamics A First Introduction to Scientific Visualization Geoffrey Gray VMD on CIRCE: On the lower bottom left of your screen, click on the window start-up menu. In the search box type

More information

How Do We Measure Protein Shape? A Pattern Matching Example. A Simple Pattern Matching Algorithm. Comparing Protein Structures II

How Do We Measure Protein Shape? A Pattern Matching Example. A Simple Pattern Matching Algorithm. Comparing Protein Structures II How Do We Measure Protein Shape? omparing Protein Structures II Protein function is largely based on the proteins geometric shape Protein substructures with similar shapes are likely to share a common

More information

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms Chapter IV Spaces and Transforms Scaling 2D scaling with the scaling factors, s x and s y, which are independent. Examples When a polygon is scaled, all of its vertices are processed by the same scaling

More information

Review Exercise. 1. Determine vector and parametric equations of the plane that contains the

Review Exercise. 1. Determine vector and parametric equations of the plane that contains the Review Exercise 1. Determine vector and parametric equations of the plane that contains the points A11, 2, 12, B12, 1, 12, and C13, 1, 42. 2. In question 1, there are a variety of different answers possible,

More information

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6 Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector

More information

1. Open the SPDBV_4.04_OSX folder on the desktop and double click DeepView to open.

1. Open the SPDBV_4.04_OSX folder on the desktop and double click DeepView to open. Molecular of inhibitor-bound Lysozyme This lab will not require a lab report. Rather each student will follow this tutorial, answer the italicized questions (worth 2 points each) directly on this protocol/worksheet,

More information

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014 PS 12a Laboratory 1 Spring 2014 Objectives This session is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started. Throughout the tutorial, the instructors

More information

To execute this program all we need to do is to type the name of the file (plotlog) in MATLAB main console and the complete file will be executed.

To execute this program all we need to do is to type the name of the file (plotlog) in MATLAB main console and the complete file will be executed. Programs and functions While using MATLAB as a fancy calculator has its own uses. It is also possible to use MATLAB as a programming language and to develop with it significant codes with considerable

More information

ECE569 Fall 2015 Partial Solution to Problem Set 3

ECE569 Fall 2015 Partial Solution to Problem Set 3 ECE569 Fall 215 Partial Solution to Problem Set 3 These problems are from the textbook by Spong et al. 1, which is the textbook for the ECE569 this Fall 215 semester. As such, many of the problem statements

More information

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below:

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below: Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

More information

Overview. Lecture 13: Graphics and Visualisation. Graphics & Visualisation 2D plotting. Graphics and visualisation of data in Matlab

Overview. Lecture 13: Graphics and Visualisation. Graphics & Visualisation 2D plotting. Graphics and visualisation of data in Matlab Overview Lecture 13: Graphics and Visualisation Graphics & Visualisation 2D plotting 1. Plots for one or multiple sets of data, logarithmic scale plots 2. Axis control & Annotation 3. Other forms of 2D

More information

A Guide to Using Some Basic MATLAB Functions

A Guide to Using Some Basic MATLAB Functions A Guide to Using Some Basic MATLAB Functions UNC Charlotte Robert W. Cox This document provides a brief overview of some of the essential MATLAB functionality. More thorough descriptions are available

More information

ENGR Fall Exam 1

ENGR Fall Exam 1 ENGR 13100 Fall 2012 Exam 1 INSTRUCTIONS: Duration: 60 minutes Keep your eyes on your own work! Keep your work covered at all times! 1. Each student is responsible for following directions. Read carefully.

More information

C =

C = file:///c:/documents20and20settings/ravindra/desktop/html/exercis... 1 of 5 10/3/2008 3:17 PM Lab Exercise 2 - Matrices Hyd 510L, Fall, 2008, NM Tech Programmed by J.L. Wilson, Sept, 2008 Problem 2.1 Create

More information

Positioning & Orientation of Elements

Positioning & Orientation of Elements UseCase.0011 (1.0) Positioning & Orientation of Elements Keywords: positioning, orientation, element, component, angle, basal, isolated, input channel, output channel, coordinate system, origin, separate,

More information

Computing Fundamentals Plotting

Computing Fundamentals Plotting Computing Fundamentals Plotting Salvatore Filippone salvatore.filippone@uniroma2.it 2014 2015 (salvatore.filippone@uniroma2.it) Plotting 2014 2015 1 / 14 Plot function The basic function to plot something

More information

2D/3D Geometric Transformations and Scene Graphs

2D/3D Geometric Transformations and Scene Graphs 2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background

More information

Protein Structure Hierarchy

Protein Structure Hierarchy Protein Structure Hierarchy Introduction With great insight - before the first 3D protein structure was determined, the Danish chemist Kaj Linderstrøm-Lang (the father of physical biochemistry), reasoned

More information

Trigonometric Functions of Any Angle

Trigonometric Functions of Any Angle Trigonometric Functions of Any Angle MATH 160, Precalculus J. Robert Buchanan Department of Mathematics Fall 2011 Objectives In this lesson we will learn to: evaluate trigonometric functions of any angle,

More information

CS354 Computer Graphics Rotations and Quaternions

CS354 Computer Graphics Rotations and Quaternions Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation

More information

Plotting - Practice session

Plotting - Practice session Plotting - Practice session Alessandro Fanfarillo - Salvatore Filippone fanfarillo@ing.uniroma2.it May 28th, 2013 (fanfarillo@ing.uniroma2.it) Plotting May 28th, 2013 1 / 14 Plot function The basic function

More information

YOUR MATLAB ASSIGNMENT 4

YOUR MATLAB ASSIGNMENT 4 YOUR MATLAB ASSIGNMENT 4 Contents GOAL: USING MATLAB TO SKETCH THE GRAPHS OF A PARAMETERIZED SURFACES IN SPACE USE THE FOLLOWING STEPS: HERE IS AN ACTUAL EXAMPLE OF A CLOSED SURFACE DRAWN PARAMETERICALLY

More information

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB Applied Linear Algebra in Geoscience Using MATLAB Contents Getting Started Creating Arrays Mathematical Operations with Arrays Using Script Files and Managing Data Two-Dimensional Plots Programming in

More information

Graphics in MATLAB. Responsible teacher: Anatoliy Malyarenko. November 10, Abstract. Basic Plotting Commands

Graphics in MATLAB. Responsible teacher: Anatoliy Malyarenko. November 10, Abstract. Basic Plotting Commands Graphics in MATLAB Responsible teacher: Anatoliy Malyarenko November 10, 2003 Contents of the lecture: Two-dimensional graphics. Formatting graphs. Three-dimensional graphics. Specialised plots. Abstract

More information

Lecture 3: Geometric and Signal 3D Processing (and some Visualization)

Lecture 3: Geometric and Signal 3D Processing (and some Visualization) Lecture 3: Geometric and Signal 3D Processing (and some Visualization) Chandrajit Bajaj Algorithms & Tools Structure elucidation: filtering, contrast enhancement, segmentation, skeletonization, subunit

More information

CS 184, Fall 1996 Midterm #1 Professor: unknown

CS 184, Fall 1996 Midterm #1 Professor: unknown CS 184, Fall 1996 Midterm #1 Professor: unknown Problem #1, Transformations (8pts) All questions assume a right handed coordinate system. Circle the correct answer: (2 pts each) a) In 3 space, two rotations

More information

Flow Control. Spring Flow Control Spring / 26

Flow Control. Spring Flow Control Spring / 26 Flow Control Spring 2019 Flow Control Spring 2019 1 / 26 Relational Expressions Conditions in if statements use expressions that are conceptually either true or false. These expressions are called relational

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometry and Camera Calibration 3D Coordinate Systems Right-handed vs. left-handed x x y z z y 2D Coordinate Systems 3D Geometry Basics y axis up vs. y axis down Origin at center vs. corner Will often

More information

Refinement into cryo-em maps. Garib Murshudov MRC-LMB, Cambridge, UK

Refinement into cryo-em maps. Garib Murshudov MRC-LMB, Cambridge, UK Refinement into cryo-em maps Garib Murshudov MRC-LMB, Cambridge, UK Contents About REFMAC Fit into EM maps Effect of oversharpening About REFMAC Refmac is a program for refinement of atomic models into

More information

Development of Direct Kinematics and Workspace Representation for Smokie Robot Manipulator & the Barret WAM

Development of Direct Kinematics and Workspace Representation for Smokie Robot Manipulator & the Barret WAM 5th International Conference on Robotics and Mechatronics (ICROM), Tehran, Iran, 217 1 Development of Direct Kinematics and Workspace Representation for Smokie Robot Manipulator & the Barret WAM Reza Yazdanpanah

More information

Graduate Topics in Biophysical Chemistry CH Assignment 0 (Programming Assignment) Due Monday, March 19

Graduate Topics in Biophysical Chemistry CH Assignment 0 (Programming Assignment) Due Monday, March 19 Introduction and Goals Graduate Topics in Biophysical Chemistry CH 8990 03 Assignment 0 (Programming Assignment) Due Monday, March 19 It is virtually impossible to be a successful scientist today without

More information

STAT 391 Handout 1 Making Plots with Matlab Mar 26, 2006

STAT 391 Handout 1 Making Plots with Matlab Mar 26, 2006 STAT 39 Handout Making Plots with Matlab Mar 26, 26 c Marina Meilă & Lei Xu mmp@cs.washington.edu This is intended to help you mainly with the graphics in the homework. Matlab is a matrix oriented mathematics

More information

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6 Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

More information

Computer Graphics: Geometric Transformations

Computer Graphics: Geometric Transformations Computer Graphics: Geometric Transformations Geometric 2D transformations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, 1 Outlines 1. Basic 2D transformations 2. Matrix Representation of 2D transformations

More information

Practical 10: Protein dynamics and visualization Documentation

Practical 10: Protein dynamics and visualization Documentation Practical 10: Protein dynamics and visualization Documentation Release 1.0 Oliver Beckstein March 07, 2013 CONTENTS 1 Basics of protein structure 3 2 Analyzing protein structure and topology 5 2.1 Topology

More information

Crystallography & Cryo-electron microscopy

Crystallography & Cryo-electron microscopy Crystallography & Cryo-electron microscopy Methods in Molecular Biophysics, Spring 2010 Sample preparation Symmetries and diffraction Single-particle reconstruction Image manipulation Basic idea of diffraction:

More information

HW 1: Project Report (Camera Calibration)

HW 1: Project Report (Camera Calibration) HW 1: Project Report (Camera Calibration) ABHISHEK KUMAR (abhik@sci.utah.edu) 1 Problem The problem is to calibrate a camera for a fixed focal length using two orthogonal checkerboard planes, and to find

More information

LEARNING TO PROGRAM WITH MATLAB. Building GUI Tools. Wiley. University of Notre Dame. Craig S. Lent Department of Electrical Engineering

LEARNING TO PROGRAM WITH MATLAB. Building GUI Tools. Wiley. University of Notre Dame. Craig S. Lent Department of Electrical Engineering LEARNING TO PROGRAM WITH MATLAB Building GUI Tools Craig S. Lent Department of Electrical Engineering University of Notre Dame Wiley Contents Preface ix I MATLAB Programming 1 1 Getting Started 3 1.1 Running

More information

More on Plots. Dmitry Adamskiy 30 Nov 2011

More on Plots. Dmitry Adamskiy 30 Nov 2011 More on Plots Dmitry Adamskiy adamskiy@cs.rhul.ac.uk 3 Nov 211 1 plot3 (1) Recall that plot(x,y), plots vector Y versus vector X. plot3(x,y,z), where x, y and z are three vectors of the same length, plots

More information

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

ECE569 Fall 2015 Solution to Problem Set 2

ECE569 Fall 2015 Solution to Problem Set 2 ECE569 Fall 2015 Solution to Problem Set 2 These problems are from the textbook by Spong et al. 1, which is the textbook for the ECE580 this Fall 2015 semester. As such, many of the problem statements

More information

PART 1 PROGRAMMING WITH MATHLAB

PART 1 PROGRAMMING WITH MATHLAB PART 1 PROGRAMMING WITH MATHLAB Presenter: Dr. Zalilah Sharer 2018 School of Chemical and Energy Engineering Universiti Teknologi Malaysia 23 September 2018 Programming with MATHLAB MATLAB Environment

More information

Vocabulary Unit 2-3: Linear Functions & Healthy Lifestyles. Scale model a three dimensional model that is similar to a three dimensional object.

Vocabulary Unit 2-3: Linear Functions & Healthy Lifestyles. Scale model a three dimensional model that is similar to a three dimensional object. Scale a scale is the ratio of any length in a scale drawing to the corresponding actual length. The lengths may be in different units. Scale drawing a drawing that is similar to an actual object or place.

More information

How to learn MATLAB? Some predefined variables

How to learn MATLAB? Some predefined variables ECE-S352 Lab 1 MATLAB Tutorial How to learn MATLAB? 1. MATLAB comes with good tutorial and detailed documents. a) Select MATLAB help from the MATLAB Help menu to open the help window. Follow MATLAB s Getting

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Matlab (MATrix LABoratory) will be the programming environment of choice for the numerical solutions developed in this textbook due to its wide availability and its ease of use.

More information

MATLAB Lesson I. Chiara Lelli. October 2, Politecnico di Milano

MATLAB Lesson I. Chiara Lelli. October 2, Politecnico di Milano MATLAB Lesson I Chiara Lelli Politecnico di Milano October 2, 2012 MATLAB MATLAB (MATrix LABoratory) is an interactive software system for: scientific computing statistical analysis vector and matrix computations

More information

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars

More information

MATLAB Fundamentals. Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University

MATLAB Fundamentals. Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University MATLAB Fundamentals Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University Reference: 1. Applied Numerical Methods with MATLAB for Engineers, Chapter 2 &

More information

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016 Lecture 4: Transforms Computer Graphics CMU 15-462/15-662, Fall 2016 Brief recap from last class How to draw a triangle - Why focus on triangles, and not quads, pentagons, etc? - What was specific to triangles

More information

Digital Image Processing using MATLAB and STATISTICA

Digital Image Processing using MATLAB and STATISTICA The 2nd International Conference on Virtual Learning, ICVL 2007 1 Digital Image Processing using MATLAB and STATISTICA Emilia Dana Seleţchi 1, Octavian G. Duliu 1 1 University of Bucharest, Faculty of

More information

Getting started with MATLAB

Getting started with MATLAB Getting started with MATLAB You can work through this tutorial in the computer classes over the first 2 weeks, or in your own time. The Farber and Goldfarb computer classrooms have working Matlab, but

More information

Part 3 - Changing Colors and Display Formats

Part 3 - Changing Colors and Display Formats Part 3 - Changing Colors and Display Formats http://cbm.msoe.edu/newwebsite/learntomodel Introduction One of the most powerful features of Jmol is the ability to completely customize how your structure

More information

Computer Graphics Hands-on

Computer Graphics Hands-on Computer Graphics Hands-on Two-Dimensional Transformations Objectives Visualize the fundamental 2D geometric operations translation, rotation about the origin, and scale about the origin Learn how to compose

More information

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline MATLAB Tutorial EE351M DSP Created: Thursday Jan 25, 2007 Rayyan Jaber Modified by: Kitaek Bae Outline Part I: Introduction and Overview Part II: Matrix manipulations and common functions Part III: Plots

More information

Matlab Tutorial 1: Working with variables, arrays, and plotting

Matlab Tutorial 1: Working with variables, arrays, and plotting Matlab Tutorial 1: Working with variables, arrays, and plotting Setting up Matlab First of all, let's make sure we all have the same layout of the different windows in Matlab. Go to Home Layout Default.

More information

Part 3: 2D Transformation

Part 3: 2D Transformation Part 3: 2D Transformation 1. What do you understand by geometric transformation? Also define the following operation performed by ita. Translation. b. Rotation. c. Scaling. d. Reflection. 2. Explain two

More information

INTRODUCTION TO MATLAB PLOTTING WITH MATLAB

INTRODUCTION TO MATLAB PLOTTING WITH MATLAB 1 INTRODUCTION TO MATLAB PLOTTING WITH MATLAB Plotting with MATLAB x-y plot Plotting with MATLAB MATLAB contains many powerful functions for easily creating plots of several different types. Command plot(x,y)

More information

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab MATH 495.3 (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab Below is a screen similar to what you should see when you open Matlab. The command window is the large box to the right containing the

More information

Prob_and_RV_Demo. August 21, 2018

Prob_and_RV_Demo. August 21, 2018 Prob_and_RV_Demo August 21, 2018 Contents Probability and Random Variables 1 Bernoulli Trials........................................ 2 Histogram of the Random Variates......................... 3 Normal

More information

Computer Vision, Laboratory session 1

Computer Vision, Laboratory session 1 Centre for Mathematical Sciences, january 2007 Computer Vision, Laboratory session 1 Overview In this laboratory session you are going to use matlab to look at images, study projective geometry representations

More information

Molecular Modeling Protocol

Molecular Modeling Protocol Molecular Modeling of an unknown protein 1. Register for your own SWISS-MODEL Workspace at http://swissmodel.expasy.org/workspace/index. Follow the Login link in the upper right hand corner. Bring your

More information

EEE 187: Robotics Summary 2

EEE 187: Robotics Summary 2 1 EEE 187: Robotics Summary 2 09/05/2017 Robotic system components A robotic system has three major components: Actuators: the muscles of the robot Sensors: provide information about the environment and

More information

(1) (2) be the position vector for a generic point. If this point belongs to body 2 (with helical motion) its velocity can be expressed as follows:

(1) (2) be the position vector for a generic point. If this point belongs to body 2 (with helical motion) its velocity can be expressed as follows: The 14th IFToMM World Congress, Taipei, Taiwan, October 25-30, 2015 DOI Number: 10.6567/IFToMM.14TH.WC.OS6.025 A Rolling-Joint Higher-Kinematic Pair for Rotary-Helical Motion Transformation J. Meneses

More information

Put your initials on the top of every page, in case the pages become separated.

Put your initials on the top of every page, in case the pages become separated. Math 1201, Fall 2016 Name (print): Dr. Jo Nelson s Calculus III Practice for 1/2 of Final, Midterm 1 Material Time Limit: 90 minutes DO NOT OPEN THIS BOOKLET UNTIL INSTRUCTED TO DO SO. This exam contains

More information

1) Give a set-theoretic description of the given points as a subset W of R 3. a) The points on the plane x + y 2z = 0.

1) Give a set-theoretic description of the given points as a subset W of R 3. a) The points on the plane x + y 2z = 0. ) Give a set-theoretic description of the given points as a subset W of R. a) The points on the plane x + y z =. x Solution: W = {x: x = [ x ], x + x x = }. x b) The points in the yz-plane. Solution: W

More information

Lecture 9: Transformations. CITS3003 Graphics & Animation

Lecture 9: Transformations. CITS3003 Graphics & Animation Lecture 9: Transformations CITS33 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 212 Objectives Introduce standard transformations Rotation Translation Scaling

More information

Bioinformatics III Structural Bioinformatics and Genome Analysis

Bioinformatics III Structural Bioinformatics and Genome Analysis Bioinformatics III Structural Bioinformatics and Genome Analysis Chapter 3 Structural Comparison and Alignment 3.1 Introduction 1. Basic algorithms review Dynamic programming Distance matrix 2. SARF2,

More information

Introduction to Matlab. By: Hossein Hamooni Fall 2014

Introduction to Matlab. By: Hossein Hamooni Fall 2014 Introduction to Matlab By: Hossein Hamooni Fall 2014 Why Matlab? Data analytics task Large data processing Multi-platform, Multi Format data importing Graphing Modeling Lots of built-in functions for rapid

More information

QUICK INTRODUCTION TO MATLAB PART I

QUICK INTRODUCTION TO MATLAB PART I QUICK INTRODUCTION TO MATLAB PART I Department of Mathematics University of Colorado at Colorado Springs General Remarks This worksheet is designed for use with MATLAB version 6.5 or later. Once you have

More information

Precalculus. Wrapping Functions ID: 8257

Precalculus. Wrapping Functions ID: 8257 Wrapping Functions ID: 8257 By Mark Howell Time required 90 minutes Activity Overview This activity introduces students to various functions of a circular angle. They are shown a unit circle and a point

More information

Computer Vision, Laboratory session 1

Computer Vision, Laboratory session 1 Centre for Mathematical Sciences, january 200 Computer Vision, Laboratory session Overview In this laboratory session you are going to use matlab to look at images, study the representations of points,

More information

Plotting x-y (2D) and x, y, z (3D) graphs

Plotting x-y (2D) and x, y, z (3D) graphs Tutorial : 5 Date : 9/08/2016 Plotting x-y (2D) and x, y, z (3D) graphs Aim To learn to produce simple 2-Dimensional x-y and 3-Dimensional (x, y, z) graphs using SCILAB. Exercises: 1. Generate a 2D plot

More information

PARAMETRIC EQUATIONS AND POLAR COORDINATES

PARAMETRIC EQUATIONS AND POLAR COORDINATES 10 PARAMETRIC EQUATIONS AND POLAR COORDINATES PARAMETRIC EQUATIONS & POLAR COORDINATES A coordinate system represents a point in the plane by an ordered pair of numbers called coordinates. PARAMETRIC EQUATIONS

More information

Singularity Loci of Planar Parallel Manipulators with Revolute Joints

Singularity Loci of Planar Parallel Manipulators with Revolute Joints Singularity Loci of Planar Parallel Manipulators with Revolute Joints ILIAN A. BONEV AND CLÉMENT M. GOSSELIN Département de Génie Mécanique Université Laval Québec, Québec, Canada, G1K 7P4 Tel: (418) 656-3474,

More information

Points Lines Connected points X-Y Scatter. X-Y Matrix Star Plot Histogram Box Plot. Bar Group Bar Stacked H-Bar Grouped H-Bar Stacked

Points Lines Connected points X-Y Scatter. X-Y Matrix Star Plot Histogram Box Plot. Bar Group Bar Stacked H-Bar Grouped H-Bar Stacked Plotting Menu: QCExpert Plotting Module graphs offers various tools for visualization of uni- and multivariate data. Settings and options in different types of graphs allow for modifications and customizations

More information