![Logo](/mamutalib/Bio-informatics/raw/master/images/Bioinformatics.png)
Bio-informatics for NEUB students
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Question 1 ans:
a)False
b)True
c)True
d)True
e)false
Question 1 ans
a)True
b)true
c)false
d)True
e)false
- DNA Counting
- DNA Complementary
- RNA Complementary
- DNA Reversal
- DNA Transcription
- Smith Waterman Algorithm
- Needleman Algorithm
- Edit Distance
#include <bits/stdc++.h>
using namespace std;
int main(void) {
string str;
cin >> str;
int len = str.size();
int a = 0, c = 0, g = 0, t = 0;
for(int i = 0; i<len; i++) {
if(str[i] == 'A') a++;
else if (str[i] == 'C') c++;
else if (str[i] == 'G') g++;
else if (str[i] == 'T') t++;
}
cout << "A: " << a << " C: " << c << " G: " << g << " T: " << t << endl;
return 0;
}
// Sample input: ACGTATTC
// Ouput: A: 2 C: 2 G: 1 T: 3
#include <bits/stdc++.h>
using namespace std;
void dnaComplementary(string str) {
int len = str.length();
for (int i = 0; i<len; i++) {
if(str[i] == 'A'){
str[i] = 'T';
}
else if(str[i] == 'T'){
str[i] = 'A';
}
else if(str[i] == 'C'){
str[i] = 'G';
}
else if(str[i] == 'G'){
str[i] = 'C';
}
}
for(int i =0; i<len; i++) {
cout << str[i];
}
}
int main() {
string str;
cin >> str;
dnaComplementary(str);
}
/*
Sample input-output:
ACGTATTC
TGCATAAG
*/
#include <bits/stdc++.h>
using namespace std;
void rnaComplementary(string str) {
int len = str.length();
for (int i = 0; i<len; i++) {
if(str[i] == 'A'){
str[i] = 'U';
}
else if(str[i] == 'U'){
str[i] = 'A';
}
else if(str[i] == 'C'){
str[i] = 'G';
}
else if(str[i] == 'G'){
str[i] = 'C';
}
}
for(int i =0; i<len; i++) {
cout << str[i];
}
}
int main() {
string str;
cin >> str;
rnaComplementary(str);
}
/*
Sample input:AACGUAGGCUC
output :UUGCAUCCGAG
*/
#include <bits/stdc++.h>
using namespace std;
void dnaReversal(string str) {
int len = str.length();
for (int i = len; i>=0; i--){
if(str[i] == 'A'){
str[i] = 'T';
}
else if(str[i] == 'T'){
str[i] = 'A';
}
else if(str[i] == 'C'){
str[i] = 'G';
}
else if(str[i] == 'G'){
str[i] = 'C';
}
}
for(int i = len; i>=0; i--) {
cout << str[i];
}
}
int main() {
string str;
cin >> str;
dnaReversal(str);
}
/*
Sample input : AACGTAGGCTC
output: GAGCCTACGTT
*/
#include <bits/stdc++.h>
using namespace std;
void transcriptDNA(string str) {
int len = str.length();
for (int i = 0; i<len; i++) {
if(str[i] == 'T'){
str[i] = 'U';
}
}
for(int i =0; i<len; i++) {
cout << str[i];
}
}
int main() {
string str;
cin >> str;
transcriptDNA(str);
}
/*
Sample input: AACGTAGGCTC
output : AACGUAGGCUC
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
string ls="AGCT", rs="ATGCT";
//cin >> ls >> rs;
int row, col;
row = ls.length()+1;
col = rs.length()+1;
int data[row][col];
for (int i = 0; i<row; i++) {
for (int j = 0; j<col; j++) {
data[i][j] = 0;
}
}
int match = 1 ,misMatch = -1,gap = -2;
int lef_adj = 0, up_adj = 0, dia_adj = 0;
for (int i = 1; i<row; i++) {
for (int j = 1; j<col; j++) {
lef_adj = data[i-1][j] + gap;
if(lef_adj < 0) {
lef_adj =0;
}
up_adj = data[i][j-1] + gap;
if (up_adj < 0) {
up_adj = 0;
}
if(ls[i-1] == rs[j-1]) {
dia_adj = data[i-1][j-1]+match;
}
else {
dia_adj = data[i-1][j-1]+misMatch;
}
data[i][j] = max(lef_adj, up_adj);
data[i][j] = max(data[i][j], dia_adj);
}
}
for (int i = 0; i<row; i++) {
for (int j = 0; j<col; j++) {
cout << data[i][j] << " ";
}
cout << "\n";
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main() {
string ls="AGCT", rs="ATGCT";
int row, col;
row = ls.length()+1;
col = rs.length()+1;
int data[row][col];
for (int i = 0; i<row; i++) {
for (int j = 0; j<col; j++) {
data[i][j] = 0;
}
}
for (int i = 0; i<1; i++) {
for (int j = 1; j<col; j++) {
data[i][j] = -j*2;
}
}
for (int i = 0; i<row; i++) {
for (int j = 0; j<1; j++) {
data[i][j] = -i*2;
}
}
for (int i = 0; i<row; i++) {
for (int j = 0; j<col; j++) {
cout << data[i][j] << " " ;
}
cout << endl;
}
int match = 1 ,misMatch = -1,gap = -2, lef_adj = 0, up_adj = 0, dia_adj = 0;
for (int i = 1; i<row; i++) {
for (int j = 1; j<col; j++) {
lef_adj = data[i-1][j] + gap;
up_adj = data[i][j-1] + gap;
if(ls[i-1] == rs[j-1]) {
dia_adj = data[i-1][j-1]+match;
}
else {
dia_adj = data[i-1][j-1]+misMatch;
}
data[i][j] = max(lef_adj, up_adj);
data[i][j] = max(data[i][j], dia_adj);
}
}
cout << endl;
for (int i = 0; i<row; i++) {
for (int j = 0; j<col; j++) {
cout << data[i][j] << " ";
}
cout << "\n";
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main(void) {
string str1,str2;
int row,col;
cin >> str1>> str2;
row = str1.length()+1;
col = str2.length()+1;
int data[row][col];
for(int i=0; i<row; i++){
data[i][0] = i;
}
for( int j=0; j<col; j++){
data[0][j] = j;
}
int up_adj, lft_adj, dig_adj;
for( int i=1; i<row; i++)
{
for(int j=1; j<col; j++)
{
lft_adj = data[i-1][j] ;
up_adj = data[i][j-1];
dig_adj = data[i-1][j-1];
if(str1[i-1] == str2[j-1])
{
data[i][j]= dig_adj;
}
else
{
data[i][j] = min(lft_adj+1 ,up_adj+1 );
data[i][j] = min(data[i][j], dig_adj+1 );
}
}
}
for(int i = 0; i<row; i++) {
for(int j = 0; j<col; j++) {
cout << data[i][j] << " ";
}
cout << endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int arr[100];
vector<int>delX , X, vec;
void checking(int num)
{
int i=0, diff=0, cnt = 0;
int lenX = X.size();
while(i < lenX)
{
//compute subtraction
diff = abs(X[i] - num);
if(arr[diff] > 0)
{
cnt += 1;
vec.push_back(diff);
}
i++;
}
if(cnt == lenX)
{
for(i=0; i<vec.size(); i++)
{
arr[vec[i]]--;
}
X.push_back(num);
}
vec.clear();
}
int main()
{
delX = {2, 2, 3, 3, 4, 5, 6, 7, 8, 10}; // the given multi set
int i, j, diff=0, len = delX.size();
sort(delX.begin(), delX.end()); // sorted the multi set
X.push_back(0);
X.push_back(delX[len-1]); // taken X and push back first two elements
//count each number in the del X
for(i=0; i<len; i++)
{
arr[delX[i]]++;
}
// for(i=0; i<len; i++)
// {
// cout << delX[i] << " " << arr[delX[i]] << "\n";
// }
i = 0 , j = 0;
while(i < delX.size())
{
//checked the conditions
checking(delX[i]);
i++;
}
//sort the elements of the X
sort(X.begin(), X.end());
for(int i=0; i<X.size(); i++)
{
cout << X[i] << " ";
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
typedef long long lg;
const lg N = 9; // BIG LOOOOOOOOOL 7
// lg ar[N][N];
int
main()
{
bool flag = true;
lg brk, n, j, t, k, h, i, m, ah, am, a, b, c, x, count;
cin >> count;
lg indata[count], indata2[count];
lg ar[count][count];
vector < lg > v, v2;
for (i = 0; i < count; i++)
{
cin >> indata[i];
}
for (i = 0; i < count; i++)
{
cin >> indata2[i];
}
for (i = 0; i < count; i++)
{
for (j = 0; j < count; j++)
{
if (j > i)
{
ar[i][j] = indata[j] - indata[i];
v.push_back(indata[j] - indata[i]);
} else
ar[i][j] = -1;
}
}
// for output full matrix
cout << "1st matrix :" << endl;
for (i = 0; i < count; i++)
{
for (j = 0; j < count; j++)
{
cout << ar[i][j] << " ";
}
cout << endl;
}
lg sz = v.size();
sort(v.begin(), v.end());
cout << endl;
// for x2
cout << "2nd x2" << endl;
for (i = 0; i < count; i++)
{
for (j = 0; j < count; j++)
{
if (j > i)
{
ar[i][j] = indata2[j] - indata2[i];
v2.push_back(indata2[j] - indata2[i]);
} else
ar[i][j] = -1;
}
}
cout << "2nd matrix :" << endl;
for (i = 0; i < count; i++)
{
for (j = 0; j < count; j++)
{
cout << ar[i][j] << " ";
}
cout << endl;
}
sz = v2.size();
sort(v2.begin(), v2.end());
cout << endl;
cout << "X1: ";
for (i = 0; i < sz; i++)
{
cout << v[i] << " ";
}
cout << endl;
cout << endl;
cout << "X2: ";
for (i = 0; i < sz; i++)
{
cout << v2[i] << " ";
}
cout << endl;
cout << endl;
flag = true;
for (i = 0; i < sz; i++)
{
if (v[i] != v2[i])
{
cout << "Its not homomatric!" << endl;
flag = false;
break;
}
}
if (flag)
cout << "Its homomatric!" << endl;
return 0;
}
Author: Kopil Das
To get a local copy
up and running, follow these simple steps:
This repo doesn't rely on any external dependencies or services. You can clone the repository by running the following command in your terminal:
1.Clone the repo
git clone https://github.com/mamutalib/Bio-informatics.git
Contributions to this project are greatly appreciated. If you have a suggestion that would make this project better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/YourFeatureName
) - Commit your Changes (
git commit -m 'Add some YourFeatureName
) - Push to the Branch (
git push origin feature/YourFeatureName
) - Open a
Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Md. Abdul Mutalib - Twitter - mutalibcse@yahoo.com
Project Link: https://github.com/mamutalib/Bio-informatics
I gratefully acknowledge the valuable resources and tools that have helped me in my development work. These include open source licenses
, cheat sheets
, shields
and icons
, and platforms
. Thank you to the developers and organizations who have contributed to the development community.