代码说明

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. em,rem区别比较

    rem是基于html元素的字体大小来决定,而em则根据使用它的元素的大小决定. 注意:很多人错误以为em是根据父类元素,实际上是使用它的元素继承了父类元素的属性才会产生的错觉. 主要区别 em 和 r ...

  2. ArrayList 一个面试题

    我们现在有一个集合,集合里面有100个随机数,获取其中的基数: //假设我们得到了100个随机数 List<Integer> lists = new RandomArrayList< ...

  3. Matlab_GUI

    1.GUI中控件的属性 BackgroundColor 控件的背景 FontSize  控件字体的大小

  4. [转载]DotNetty 学习

    [转载]http://www.cnblogs.com/littlegod/p/7699482.html DotNetty的学习是带着如下这些问题展开: 1. Socket基础框架方案: 通信模式:异步 ...

  5. 20155302 2016-2017-2 《Java程序设计》第十周学习总结

    20155302 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 网络最主要的优势在于共享 ...

  6. 《Java 程序设计》课堂实践项目-命令行参数

    <Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...

  7. angular之$watch() $watchGroup()和$watchCollection()

    $watch $watch主要是用来监听一个对象,在对象发生变化时触发某个事件. 用法: $scope.$watch(watchFn,watchAction, deepWatch) 接下来讲一下这几个 ...

  8. 【mysql优化】mysql count(*)、count(1)、count(主键字段)、count(非主键字段)哪个性能最佳

    测试结果为:count(*)和count(1)基本相等,count(非主键字段)最耗性能 -- 数据量 708254select count(*) from tmp_test1;-- avg 0.22 ...

  9. iframe ie低版本 横向滚动条的解决办法

    吐槽下百度,在百度搜这个问题都是渣渣,谷歌直接就出来了,记录一下 设置Frame时,有一属性是scrolling="yes/no/auto",IE6的mozilla都支持,或许对a ...

  10. 求两个字符串的最长公共子串——Java实现

    要求:求两个字符串的最长公共子串,如“abcdefg”和“adefgwgeweg”的最长公共子串为“defg”(子串必须是连续的) public class Main03{ // 求解两个字符号的最长 ...