Rosalind: DNA核苷酸计数和DNA翻译成RNA

简介: DNA核苷酸计数问题描述: 给定一行核苷酸序列,长度最长为1000 nt, 返回其中'A', 'T', 'C', 'G'出现的次数C代码如下:#include #include #include #include "dbg.

DNA核苷酸计数

问题描述: 给定一行核苷酸序列,长度最长为1000 nt, 返回其中'A', 'T', 'C', 'G'出现的次数

C代码如下:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "dbg.h"
#define MAX_SIZE 1001

int main( int argc, char *argv[])
{
    check(argc == 2, "Need an argument"); 
    FILE *filein ;
    if( ( filein = fopen(argv[1], "r")) == NULL){
        printf("unable to open %s \n", argv[1]);
        return 1;
    } 
    
    char nucl[MAX_SIZE];
    char *in = NULL;
    in = fgets(nucl, MAX_SIZE - 1, filein);
    check(in != NULL, "Failed to read file");
    // count
    int count =0;
    char letter;
    int A_NUM = 0, T_NUM = 0, C_NUM = 0 , G_NUM = 0;
    for ( count = 0; nucl[count] != '\0' && nucl[count] != '\n'; count++){
        letter = toupper(nucl[count]);
        switch(letter){
        case 'A':
            A_NUM ++;
            break; 
        case 'T':
            T_NUM ++;
            break; 
        case 'C':
            C_NUM ++;
            break; 
        case 'G':
            G_NUM ++;
            break; 
        default:
            printf("%d: %c is not a valid base\n", count, letter);
        }
    }
    printf("A\tC\tG\tT\n");
    printf("%d\t%d\t%d\t%d\t\n",A_NUM, C_NUM, G_NUM, T_NUM); 

    fclose(filein);
    return 0;
error:
    return -1;
}

DNA转录成RNA

问题描述: RNA由A, C, G, U组成,其中U是对应DNA编码链上的T。给定一段编码链上的序列,将其翻译成RNA序列。

C代码如下:

#include <stdio.h>
#include <ctype.h>
#include "dbg.h"
#define LINE_MAX 80

int main(int argc, char *argv[])
{
    check(argc == 2, "USAGES: ./RNA file");
    char *filename = argv[1]; 
    FILE *in = fopen(filename, "r");
    check(in != NULL, "unable to open file");
    char line[LINE_MAX];
    int i = 0;
    while ( (fgets(line, LINE_MAX - 1, in)) != NULL){
        for (i = 0; line[i] != '\0'; i++){
            int base = toupper(line[i]);
            if ( base == 'T'){
                printf("%c", 'U');
            } else{
                printf("%c", base);
            }

        }
    }
    printf("\n");

    return 0;
error:
    return -1;

}
目录
相关文章
|
6月前
|
算法 数据挖掘 Go
文献速读|5分生信+免疫组化单细胞联合bulk转录组肿瘤预后模型
研究摘要: 在《Cancer Immunology Immunotherapy》上发表的一篇文章,通过整合Bulk和单细胞RNA-seq数据,探讨了非小细胞肺癌(NSCLC)中癌相关纤维细胞(CAF)的作用。研究者识别出CAF的预后标志物,构建了一个基于CAF的模型,该模型在四个独立队列中区分了预后良好的和较差的患者。WGCNA分析鉴定出CAF标记基因,而CAF分数与免疫微环境和免疫治疗反应相关。高CAF分数关联较差的免疫治疗反应,FBLIM1被发现为CAF的主要来源,其高表达预测了免疫疗法的不良反应。该研究揭示了CAF在NSCLC免疫抑制和治疗策略中的重要地位。
170 1
|
算法 关系型数据库 数据挖掘
Sentieon | 每周文献-Tumor Sequencing(肿瘤测序)-第三期
本期重点关注Sentieon在甲状腺癌和CRISPR/Cas9技术中的应用
111 0
Sentieon | 每周文献-Tumor Sequencing(肿瘤测序)-第三期
|
2月前
|
存储 数据挖掘
单细胞|线粒体基因型和DNA可及性联合分析
单细胞|线粒体基因型和DNA可及性联合分析
77 15
单细胞|线粒体基因型和DNA可及性联合分析
|
6月前
|
机器学习/深度学习 弹性计算 数据可视化
玩ST、肿瘤研究的来学习一下!16分Nature子刊的单细胞空间转录组+机器学习
Nature Communications 发表了一项关于空间转录组和机器学习在肿瘤研究中的应用。研究聚焦于HPV阴性口腔鳞状细胞癌,通过整合单细胞和空间转录组分析,揭示了肿瘤核心(TC)和前沿边缘(LE)的独特转录特征。TC和LE的基因表达模式与多种癌症的预后相关,其中LE基因标志关联不良预后,而TC则与较好预后相关。利用机器学习,研究人员建立了预测模型,识别出跨癌症类型的保守TC和LE特征。此外,他们还分析了RNA剪接动态,发现了潜在的治疗脆弱性。这项工作为肿瘤生物学和靶向治疗提供了新见解,并为药物开发提供了依据。
97 0
|
6月前
|
机器学习/深度学习 计算机视觉
【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角
【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角
|
算法 芯片
DNA测序原理:illumina和Pacbio对比介绍
DNA测序原理:illumina和Pacbio对比介绍
DNA methyltransferase,DNMT
DNMT(DNA methyltransferase)是一种酶,主要负责将甲基基团(CH3)添加到DNA分子中特定的CpG位点上,从而实现DNA甲基化。DNMT在基因表达调控、细胞分化和疾病发生等方面具有重要作用。
61 1
|
机器学习/深度学习 安全 数据挖掘
用于 DNA 测序的机器学习模型,理论上可以解码任何测序读数中所编码的数据值
用于 DNA 测序的机器学习模型,理论上可以解码任何测序读数中所编码的数据值
169 0
用于 DNA 测序的机器学习模型,理论上可以解码任何测序读数中所编码的数据值
|
数据可视化 计算机视觉
CVPR2021 | 重新思考BiSeNet让语义分割模型速度起飞(文末获取论文)(二)
CVPR2021 | 重新思考BiSeNet让语义分割模型速度起飞(文末获取论文)(二)
125 0
|
编解码 计算机视觉 网络架构
CVPR2021 | 重新思考BiSeNet让语义分割模型速度起飞(文末获取论文)(一)
CVPR2021 | 重新思考BiSeNet让语义分割模型速度起飞(文末获取论文)(一)
337 0