代码说明

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. intel-FPGA的片内存储器问题

    FPGA的片内有很多的存储器资源,可以配置成单端口的ROM.RAM和双端口的ROM.RAM,以及移位寄存器和FIFO等.在学习过程中,笔者遇到过几个小问题,总结如下: 片内是不是有ROM或者RAM? ...

  2. 20155213 2016-2017-2 《Java程序设计》第二周学习总结

    20155213 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 关于Unicode和UTF 很抱歉,没能读完娄老师推荐的网址,关于Unicode和UTF的介 ...

  3. 20155231 实验二 Java面向对象程序设计

    20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...

  4. 20155313 实验二《Java面向对象程序设计》实验报告

    20155313 实验二<Java面向对象程序设计>实验报告 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. ...

  5. Using Xpath With Default XML Namespace in C#

    If you have a XML file without any prefix in the namespace: <bookstore xmlns="http://www.con ...

  6. Lambada表达式的作用

    Lambda函数的用处   假设你设计了一个地址簿的类.现在你要提供函数查询这个地址簿,可能根据姓名查询,可能根据地址查询,还有可能两者结合.要是你为这些情况都写个函数,那么你一定就跪了.所以你应该提 ...

  7. webgl 包围盒子

    包围盒子是鼠标选择物体的一种实现方式,当从相机出发,经过鼠标点形成的射线和物体的包围盒子相交时,就代表物体被选中

  8. qt cout输出中文乱码解决记录

    工具 -> 选项-> 文本编辑器-> 行为 -> 文件编码->默认编码改为System 乱码原因: 默认用utf-8编码,控制台默认gbk编码,编码不一致导致的乱码

  9. 廖雪峰git笔记

    查看本地机子的在Git上的名字和邮箱:git config user.namegit config user.email 对所有仓库指定相同的用户名和Email地址:git config --glob ...

  10. VPS挂机赚美刀详细介绍–Alexamaster操作流程

    跟 vps 主机打交道时间长了,手里也渐渐积累了些闲置的 vps.让它们这么闲着吧,感觉有些浪费资源:用起来吧,暂时又没有好的项目.一直听说通过 vps挂机可以赚回主机成本,甚至可以盈利.正好这两天有 ...