代码说明

sequence24371.txt

以上为所有氨基酸的编号,序列,与位点标记。根据标记为“1”的位点,截取窗口:如下(实验结果):

图示为一个窗口为12的蛋白质片段 2N+1=25;

实现代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#define N 12
using namespace std;
void jieduan(int n,char s3[],char s1[],int l)
{
int i;
if(n<N)
{
for(i=n-N;i<;i++)
{
s3[i+N-n]='*';
}
for(i=;i<=n+N;i++)
{
s3[i+N-n]=s1[i];
}
s3[i+N-n]='\n';
}
else if(n>=l-N)
{
for(i=n-N;i<l;i++)
{
s3[i+N-n]=s1[i];
}
for(i=l;i<=n+N;i++)
{
s3[i+N-n]='*';
}
s3[i+N-n]='\n';
}
else
{
for(i=n-N;i<=n+N;i++)
{
s3[i+N-n]=s1[i];
}
s3[i+N-n]='\n';
}
}
int main()
{
int i,j,k,l,m,n;
char s[],s1[],s2[],s3[];
FILE *p1=fopen("sequence24371.txt","r");
if(p1==NULL) printf("File not open!\n");
FILE *p2=fopen("positive12.txt","w");
FILE *p3=fopen("negative12.txt","w");
while(fgets(s,,p1))
{
fgets(s1,,p1);
fgets(s2,,p1);
l=strlen(s2)-;
for(i=;i<l;i++)
{
if(s1[i]=='K')
{
jieduan(i,s3,s1,l); if(s2[i]=='')
{
fputs(s3,p3);
}
else
{
fputs(s3,p2);
}
}
}
}
//system("pause");
return ;
}

注:

①更改#define N 12 可以任意改变要截取的窗口大小

②positive12.txt为生成的正样本窗口,原本标记为“1”

negative12.txt为生成的正样本窗口,原本标记为“0”

【BioCode】根据seq与位点信息截取窗口的更多相关文章

  1. NodeJS的url信息截取模块url-extract

    NodeJS的url信息截取模块url-extract2013-09-12 22:49 by Justany_WhiteSnow, 212 阅读, 0 评论, 收藏, 编辑 上一篇文章,介绍了怎么利用 ...

  2. 【BioCode】Elm格式中提取位点信息

    说明: ①Elm格式: PLMD ID    Uniprot Accession    Position     Type     Sequence   Species    PMIDsPlMD编号 ...

  3. 使用VB6写一个自定义的进度信息框窗口

    一.起因说明 之前有些项目是用Access完成的,当时为了给用户显示一些进度信息,自制了一个进度信息窗体,类似下图所示: 随着项目不断变迁,需要将进度信息按阶段及子进度进行显示,并且出于代码封装的需求 ...

  4. JavaScript中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令是什么?

    1.Alert()显示带有一段文字和一个确认按钮的警告窗口; 2.Confirm()显示带有一段文字以及确认和取消按钮的确认窗口; 3.Prompt()显示可提示用户输入的对话框.

  5. JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

    一种: <a href="javascript:if(confirm('确实要删除该内容吗?')){location='http://www.google.com'}"> ...

  6. js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式

    alert("A"); confirm("B");var name = confirm("B");if(name){ alert(" ...

  7. 学生信息管理系统之【修改信息窗口】 标签: 数据库vb 2014-06-13 21:23 1167人阅读 评论(15)

    自从开始敲学生信息管理,就发现有几个窗口从来木有成功打开过,它们是(修改学籍信息)(修改成绩信息)和(修改课程信息)窗口,这几个窗口每次想打开的时候都会弹出"实时错误:3021"这 ...

  8. [MFC] MFC 获取指定窗口截图(大小可调)

    void screenShot(CRect rect,int left,int top,char *name){//截取窗口的大小,位置,名字(保存在默认路径下) CBitmap* m_pBitmap ...

  9. TCP系列31—窗口管理&流控—5、TCP流控与滑窗

    一.TCP流控 之前我们介绍过TCP是基于窗口的流量控制,在TCP的发送端会维持一个发送窗口,我们假设发送窗口的大小为N比特,网络环回时延为RTT,那么在网络状况良好没有发生拥塞的情况下,发送端每个R ...

随机推荐

  1. ruby rspec+jenkins+ci_report持续集成生成junit测试报告

    1.加载ci_report gem install ci_reporter_rspec 2.给测试工程编写rakefile require 'ci/reporter/rake/rspec' requi ...

  2. BugFree后台统计Bug信息

    以下为二维表信息 //统计严重等级Bug SELECT severity,count(severity) FROM `bf_bugview` where product_id=476 GROUP BY ...

  3. 排序 permutation

    习题2-6 排序 permutation 用1,2,3……9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.按照“abc def ghi”的格式输出 ...

  4. 20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结

    20155207王雪纯 2006-2007-2 <Java程序设计>第1 周学习总结 教材学习内容总结 第一周重点学习第一章和第二章. 第一章总的来讲,我认为可以称之为本书的绪论,介绍了包 ...

  5. Java程序设计 第16周 课堂实践

    Java程序设计 第16周 课堂实践 -- 数据库2 课堂实践任务2 查询world数据库,获得人口超过500万的所有城市的列表. 代码分析 实现查询数据库需要我们修改Message.java,Mes ...

  6. 与Linux的第一次遭遇

    我的与linux首次遭遇战 虚拟机安装 安装虚拟机我遇到的问题个数可以缩减到1--我几乎没遇到安装虚拟机的问题!我严格按照老师给的链接去下载那个VirtualBox,尽管那个网页是全英文的,但是我像看 ...

  7. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  8. 20155320 2016-2017-2《Java程序设计》第九周学习总结

    20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

  9. apt-get doesn't work

    apt-get upgrade Reading package lists... DoneBuilding dependency tree       Reading state informatio ...

  10. PHP 中的mktime()函数本周时间

    上周写一个接口,用到了本周的开始时间和结束时间作为筛选条件去筛选数据,我只记得有mktime()这个函数,具体怎么用的不太清楚,于是百度之,找到了这个: 本周开始时间:date("Y-m-d ...