精华内容
下载资源
问答
  • NGS的reads过滤或者DNA片段的长度过滤,除了用软件,还可以用awk函数,一行代码即可搞定 单行fasta: 假设过滤40bp的序列 awk '{if($0~/>/) geneName=$0;if(length($0)>40) print geneName"\n"$0;}' seq ...

    使用awk函数过滤长度

    NGS的reads过滤或者DNA片段的长度过滤,除了用软件,还可以用awk函数,一行代码即可搞定

    1. 单行fasta:
      假设过滤40bp的序列
    awk '{if($0~/>/) geneName=$0;if(length($0)>40) print geneName"\n"$0;}' seq
    
    1. 多行fasta:
      假设过滤70bp的序列
    awk 'BEGIN{OFS=FS="\t"}{if($0~/>/) name=$0 ;else seq[name]=seq[name]$0;}END{for(i in seq) {if(length(seq[i])>70) print i"\n"seq[i]}}' test.fasta
    
    展开全文
  • Dna2vec是一个开放源代码库,用于训练可变长度k-mers的分布式表示形式。 有关更多信息,请参阅以下文章: 安装 请注意,此实现仅在Python 3.5.3上进行了测试,但是我们欢迎您提供任何贡献或错误报告以使其更易于...
  • 输入一个字符串,合法的DNA序列只包含ATCG这四种碱基对,求给定字符串中的最长DNA序列 具体实现如下: one_str=raw_input() one_str_list=list(one_str) one_list=[] need_list=['A','T','C','G'] for one in one_...

    题目:

    输入一个字符串,合法的DNA序列只包含ATCG这四种碱基对,求给定字符串中的最长DNA序列

    具体实现如下:

    one_str=raw_input()
    one_str_list=list(one_str)
    one_list=[]
    need_list=['A','T','C','G']
    for one in one_str_list:
        if one not in need_list:
            one_list.append('*')
        else:
            one_list.append(one)
    new_str=''.join(one_list)
    new_list=new_str.split('*')
    print max(len(i) for i in new_list)

    做了一套题目才发现自己心态不行,很慌乱,这是当时心情根本静不下来的时候写的代码,虽然都通过了,但是,今天还想记录下来告诫自己,稳扎稳打,工具基础知识,调整好心态的重要性,代码本身没有什么实际意义,只是提醒自己。
    展开全文
  • 自创四进制数用以枚举所有的ATCG基因片段,存下来以作为block.
  • DNA序列比对 DNA 序列比对、学习错配、匹配和缺口。 它仅适用于两个相同长度dna 序列。 添加了 Java 代码。 添加了两个屏幕截图。 更多信息: :
  • 牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。 例如:s = AGGTCTA 序列中包含了所有长度为1的('A','C','G','T')片段,但是长度为2的...

    题目描述

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:10250

    牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。
    例如:s = AGGTCTA
    序列中包含了所有长度为1的('A','C','G','T')片段,但是长度为2的没有全部包含,例如序列中不包含"AA",所以输出2。

    输入描述:

    输入包括一个字符串s,字符串长度length(1 ≤ length ≤ 2000),其中只包含'A','C','G','T'这四种字符。

    输出描述:

    输出一个正整数,即最短没有出现在DNA序列s中的DNA片段的长度。

    示例1

    输入

    AGGTCTA

    输出

    2

    (题目来自牛客网,笔试题目为历史已公开题目)

    Java解答

    首先想到暴力循环生成挨个比较,直接超时,所以选择了HashSet比较个数

    
    import java.util.*;
    public class Main {
        public static void main(String[] args) {
            //输入
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();
            //判断
            int h = 1;
            while(true){
                HashSet<String> set = new HashSet<String>();
                for(int i = 0; i < line.length() - h; i++){
                    set.add(line.substring(i, i + h));
                }
                if(set.size() != Math.pow(4, h)){
                    System.out.println(h);
                    return;
                }
                h++;
            }
        }
    }
    

     

    展开全文
  • 题目来源:POJ 2778 DNA Sequence 题意:给你m个字符串 求出长度为n 并且不包含m个模式串的任何一个的文本串的数量 思路:有一个经典的矩阵题目:给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案...

    题目来源:POJ 2778 DNA Sequence

    题意:给你m个字符串 求出长度为n 并且不包含m个模式串的任何一个的文本串的数量

    思路:有一个经典的矩阵题目:给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数

    这里的k步就是字符串的长度 点就是AC自动机上的节点 2点之间有路必须满足2个节点都不是禁止节点   求的长度为n 然后次矩阵快速幂即可

    需要透彻理解AC自动机 状态图就是一个转移过程

    #include <cstdio>
    #include <cstring>
    #include <queue>
    #include <algorithm>
    using namespace std;
    
    const int maxnode = 11*11;
    const int size = 4;
    int ch[maxnode][size];
    int val[maxnode];
    int f[maxnode];
    int sz;
    
    const long long mod = 100000;
    struct Mat
    {
        long long a[maxnode][maxnode];
    };
    Mat A, B, C;
    void init()
    {
    	sz = 1;
    	memset(ch[0], 0, sizeof(ch[0]));
    }
    int idx(char c)
    {
    	if(c == 'A')
    		return 0;
    	if(c == 'T')
    		return 1;
    	if(c == 'C')
    		return 2;
    	if(c == 'G')
    		return 3;
    }
    void insert(char *s, int v)
    {
    	int u = 0, n = strlen(s);
    	for(int i = 0; i < n; i++)
    	{
    		int c = idx(s[i]);
    		if(!ch[u][c])
    		{
    			memset(ch[sz], 0, sizeof(ch[sz]));
    			val[sz] = 0;
    			ch[u][c] = sz++;
    		}
    		u = ch[u][c];
    	}
    	val[u] = 1;
    }
    void getFail()
    {
    	queue <int> q;
    	f[0] = 0;
    	for(int c = 0; c < 4; c++)
    	{
    		int u = ch[0][c];
    		if(u)
    		{
    			f[u] = 0;
    			q.push(u);
    		}
    	}
    	while(!q.empty())
    	{
    		int r = q.front(); q.pop();
    		
    		for(int c = 0; c < 4; c++)
    		{
    			int u = ch[r][c];
    			if(!u)
    			{
    				ch[r][c] = ch[f[r]][c];
    				continue;
    			}
    			q.push(u);
    			int v = f[r];
    			while(v && !ch[v][c])
    				v = f[v];
    			f[u] = ch[v][c];
    			val[u] |= val[f[u]];
    		}
    	}
    }
    
    Mat get(Mat x, Mat y)
    {
        Mat z;
        memset(z.a, 0, sizeof(z.a));
        for(int i = 0; i < sz; i++)
            for(int j = 0; j < sz; j++)
                for(int k = 0; k < sz; k++)
                {
                    z.a[i][j] += x.a[i][k] * y.a[k][j];
                    z.a[i][j] %= mod;
                }
        return z;
    }
    void Mat_pow(int x)
    {
        while(x)
        {
            if(x&1)
                B = get(B, A);
            A = get(A, A);
            x >>= 1;
        }
    }
    int main()
    {
    	int n, m;
    	while(scanf("%d %d", &n, &m) != EOF)
    	{
    		init();
    		for(int i = 0; i < n; i++)
    		{
    			char s[12];
    			scanf("%s", s);
    			insert(s, 1);
    		}
    		getFail();
    		memset(A.a, 0, sizeof(A.a));
    		memset(B.a, 0, sizeof(B.a));
    		for(int i = 0; i < sz; i++)
    		{
    			if(val[sz])
    				continue;
    			for(int j = 0; j < 4; j++)
    			{
    				if(val[ch[i][j]])
    					continue;
    				A.a[i][ch[i][j]]++;
    			}
    			
    		}
    		for(int i = 0; i < sz; i++)
    			B.a[i][i] = 1;
    		Mat_pow(m);
    
    		long long ans = 0;
    		for(int i = 0; i < sz; i++)
    		{
    			ans += B.a[0][i];
    			ans %= mod;
    		}
    		printf("%lld\n", ans);
    	}
    	return 0;
    }


     

    展开全文
  • 为了对DNA序列进行分类,k-mer频率被广泛使用,因为它可以将可变长度的序列转换为固定长度和数字特征向量。 但是,在固定长度DNA序列分类的情况下,从给定序列的特定位置开始的子序列也可以用作分类特征。 通过对...
  • 指定长度,生成一个随机的DNA序列

    千次阅读 2012-10-17 20:41:50
    use strict; use warnings; #进行定义 my @dna; my $dna_length; my $newbase; my $i=0; print "please input the DNA length\n"; chomp($dna_length=); while($i<$dna_length) { #从四个碱基中
  • 要求: 大约10000个细菌基因组序列,每个fasta文件1个基因组,可能有多个contig或者单个contig。要求在每个基因组上随机截取2000bp的片段,每个基因组截取10段。 代码 联合使用grep,awk,和awk的随机化种子rand ...
  • 现有利用DNA序列特殊性质进行数据隐藏的方案,多数存在载体DNA序列...安全性分析及实验结果表明,该方案未增加载体DNA长度并且具有较低的修改率,可保证接收者所获得DNA序列的质量。与替代法和插入法相比,安全性较高。
  • 利用2 9种限制性内切酶对34个不同品种家蚕卵mtDNA进行酶切分析,发现一化、二化品种与多化品种的HaeⅢ酶切图谱有差异,但不同的地理品种间没有出现酶切多态性现象。另外,一些家蚕品种的受精卵和非受精卵mtDNA在BglⅠ和...
  • DNA

    2016-09-10 16:19:00
    【题目描述】 DNA由A、C、T、G四种碱基构成。现在,科学家们已经知道m种患病基因段,问有多少种不同的长为n的... 接下来m行每行1个患病基因片段,长度不超过10。 【输出描述】 输出一个整数,表示有多少长为n的健...
  • dna

    2019-09-30 13:26:06
    长度不超过一半的最长回文后缀还不太会求。。先mark 代码 #include <bits/stdc++.h> using namespace std; const int N = 101000,A = 4,B = 5; struct Node{ int len,next[A],suf,fa; void...
  • 用来表示DNA长度的单位,也就是我们常说的碱基数(bp) 1Mb=1000kb=1000000bp
  • 第一行有两个整数,分别为DNA长度L和DNA数量n 之后n行分别为n个DNA串 最后以两个0结束 【输出形式】 按逆序数从小到大每行输出一个DNA串。 【样例输入】 从input.txt输入: 10 6 AACATGAAGG TTTTGGCCAA ...
  • 几种养殖鲑鳟鱼线粒体DNA的限制性片段长度多态(RFLP)分析的体系建立和酶切分析的初步研究 ,毛连菊,王立坤,提要:对本溪虹鳟鱼国家级良种场引进养殖的六种不同种类的鲑鳟鱼用EcoRⅡ,DraI,AluI三种限制性内切酶...
  • 【poj3691-DNA repair】AC自动机+DP ...病毒DNA序列一共不超过1000,询问的DNA长度不超过1000。 题解:DP:d[l][p]表示询问到第l位、当前在AC自动机上的位置为p时的最少修改数,用d[l][p]推d[l+1][x]。...
  • 就是说用A G C T 四个字母产生的。怎么做呀我刚学实在不会呀 大家教教我吧非常感谢
  • DNA序列

    2019-06-16 19:55:38
    输出描述:输出一个正整数,即最短没有出现在DNA序列s中的DNA片段的长度。 输入:AGGTCTA 输出:2 思路 首先解释下题目,这个DNA片段指的是由A,C,G,T这四个字母组成且长度为i的所有的排列...
  • 照着这个思路先把所有的.dna文件修改成了.txt文件,修改代码如下: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import sys #获取目录下文件名清单 files = os . listdir ( r "E:\...
  • And a Microgene is in the DNA if the Microgene string is the substring of the DNA string. All Microgenes given are different and with the same hereditary effect. Input There are several test ...
  • 题目大意:给定一些含有疾病的DNA序列,现在给定DNA长度,问有多少种不同的DNA序列是健康的。 解题思路:对DNA片段建立AC自动机,因为最多10个串,每个串最长为10,所以最多可能有100个节点,在长度为n时 以每...
  • kb=千碱基 kilobase nt=核苷酸 nucleotide bp=碱基对 base pair

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,377
精华内容 550
关键字:

dna长度