Background: The project is a simplified view of micro-array data analysis. Micro-arrays and the analysis of their data are important endeavors in computational biology. Some of the computations are also similar to those used in digital signal processing and various forms of pattern processing (image, picture, photo, biometric, etc.)

Project Description:

1. In each of the following cases, the input data can be hard coded, obtained interactively, or read from input data file(s).

2. Write a C++ program that has as input data an M x N array (M > 64 and N > 64), with {0, 1} entries; hence such an array is called a (0, 1)-matrix; also used to represent adjacency, incidence, relationship, indicator, signature matrices. The program performs the following calculations:

a. Compute the number of 0’s and number of 1’s in each row

b. Compute the number of 0’s and number of 1’s in each column

c. Compute the number of 0’s and number of 1’s on main diagonal

d. Compute the number of 0’s and number of 1’s on the off diagonal

e. Compute the number of 0’s and number of 1’s on each diagonal parallel to main diagonal.

3. Write a C++ program that has as input data two M x N arrays, A and B, (M > 64 and N > 64), with {0, 1} entries. The program creates an M x N array C, with the following property. One of the arrays A or B can be regarded as a filter (mask) for the other.

a. Each C(i, j) entries are computed as follows:

C(i, j) = 0, if A(i, j) = 0 and B(i, j) = 1

1, if A(i, j) = 1 and B(i, j) = 0

2, if A(i, j) = B(i, j) = 0

3, if A(i, j) = B(i, j) = 1

b. Compute the number of each value in {0, 1, 2, 3} in the C array.

4. (Extra Credit) 3. Write a C++ program that has as input data one M x N array A, and one m x n array W, (M > 64, N > 64), (m < 10, n < 10). Both A and W have {0, 1} entries. W is to be used as a sliding window over A, by positioning or centering W(1, 1) over each entry A(i, j). In each case, the program computes the number of positions where the entries in A and W match.

Project Deliverables: Write a Project Report that includes the following:

Project Title

Author

Affiliation

Abstract

Introduction

Design

Implementation Effort

Discussion of Results

Test Cases

Summary and Conclusion

Acknowledgments

References

Appendix:

Design Pseudo-code

Flow chart(s), if any

Source Code listing

Test Cases

Test Runs (Screen shots)