最近php7的消息铺天盖地, 忍不住想尝试下。星期天看了下语法, 写个小脚本练下手;

这个脚本读取fasta 文件, 输出序列的长度和GC含量;

<?php
$fasta = "test.fasta";
$meta  = array();
$meta  = parse_fasta($fasta);
write_res($meta);function parse_fasta($fasta) {$meta = array();$file_handle = fopen($fasta, 'r');$id = '';$seq = '';while (!feof($file_handle)) {$line = fgets($file_handle);$line = preg_replace("/\s+$/", "", $line);if (preg_match("/^>/", $line)) {if ($id) {$meta[$id] = $seq;$id = $line;$seq = '';} else {$id = $line;}     } else {$seq .= $line;}}$meta[$id] = $seq;fclose($file_handle);return $meta;
}function write_res($meta) {foreach ($meta as $key => $value) {$len = cal_length($value);$gc  = cal_gc($value);echo "$key\t$value\t$len\t$gc\n";}
}function cal_length($seq) {return strlen($seq);}function cal_gc($seq) {$gc = array();preg_match_all("/G|C|g|c/", $seq, $gc);return count($gc[0]) / strlen($seq);
}?>

php 统计fasta 序列长度和GC含量相关推荐

  1. 下载FATSQ,读取10条序列并计算每条序列的长度和GC含量

    FASTQ 这是目前存储测序数据最普遍.最公认的一个数据格式,另一个是uBam格式,但这篇文章中不打算对其进行介绍.上面所讲的FASTA文件,它所存的都是已经排列好的序列(如参考序列),FASTQ存的 ...

  2. linux系统fasta程序,快速计算fasta序列长度的方法

    最近看了一下进入PLoB的网页来路分析,看到有同学搜索计算fasta序列长度.其实自己在之前的数据分析中也遇到过相关的问题,这里给大家分享两种我常用的方法. 方法一:linux下用awk计算fasta ...

  3. 怎么用python计算序列长度_【python脚本】计算fasta序列长度;基因组contig/scaffold/chromosome长度...

    目的 如题 脚本 import sys,os,re def process_file(reader): '''Open, read,and print a file''' names=[] index ...

  4. 使用Python计算fasta文件的序列长度

    使用Python计算fasta文件的序列长度 在这里插入代码片使用Python计算fasta文件的序列长度 #!/usr/bin/python #-- coding:utf-8 -- import s ...

  5. linux提取fasta文件的id,FASTA序列文件处理一网打尽

    推荐两个地方: 地方一都是小脚本,但实用,大伙也可以自己练习写. 地方二成熟软件SeqKit,也很实用. 一.小脚本 大家可以在这里下载以下脚本: https://github.com/jorvis/ ...

  6. C#,生信软件实践(03)——DNA数据库GenBank格式详解及转为FASTA序列格式的源代码

    1 GenBank 1.1 NCBI--美国国家生物技术信息中心(美国国立生物技术信息中心) NCBI(美国国立生物技术信息中心)是在NIH的国立医学图书馆(NLM)的一个分支.它的使命包括四项任务: ...

  7. 【t081】序列长度(贪心做法)

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有一个整数序列,我们不知道她的长度是多少(即序列中整数的个数),但我们知道在某些区间中至少有多少个整数 ...

  8. python学习——把计算GC含量的代码封装成函数

    把代码封装成函数的好处是可以重复使用该段代码,并且会使代码结构清晰 例如要计算chr1以及chr2染色体的GC含量,代码如下: 1 # 将代码封装为函数并重复使用,例如计算染色体的GC含量 2 chr ...

  9. linux提取fasta文件的id,从大的fasta文件中提取特定的fasta序列

    我想使用以下脚本从大的fasta文件中提取特定的fasta序列,但输出为空.从大的fasta文件中提取特定的fasta序列 transcripts.txt文件包含我想从assembly.fasta到s ...

  10. 通过bed文件获取fasta序列

    一.BED 文件格式 BED 文件格式提供了一种灵活的方式来定义的数据行,以用来描述注释的信息.BED行有3个必须的列和9个额外可选的列. 每行的数据格式要求一致. 必须包含的3列: 1.chrom, ...

最新文章

  1. Windows Server 2008与2012建立林信任关系
  2. 游牧大地的诗意:看龙力游的草原油画
  3. char a[]和char *a的比较,数组名,数组首地址,a,a,a[0]
  4. View controller-based status bar
  5. 第五节:WebApi的三大过滤器
  6. golang Println、Printf、Sprintf的区别
  7. 机械指挥官——全国领先的工程机械管理平台
  8. mac电脑mysql终端_Mac上用终端管理MySQL
  9. C++中const的一些知识点
  10. Android.mk的一些FAQ
  11. k-近邻算法进行回归拟合
  12. cad填充图案乱理石_CAD填充图案文件在哪个文件夹里?
  13. 南方都市报:红心照耀MSN
  14. matlab gui设计入门与实战,matlab gui编程教程
  15. Holt-Winters双指数平滑的java实现
  16. 《神雕侠侣》——一见杨过误终生,格格一笑很倾城
  17. Flink大数据计算框架
  18. 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1
  19. Python学习-列表的常见操作
  20. redis系列--你真的入门了吗?redis4.0入门~

热门文章

  1. SVO2系列之深度滤波DepthFilter
  2. 2019 “钱”途光明的 8 大前端开发技术,你还差几个?
  3. yii2 找到根目录的绝对路径
  4. 数据库事务的四大特性
  5. 微信推送封面尺寸_微信公众平台图片尺寸是多少?
  6. pscp新机器提示Store key in cache? 重装后提示Update cached key?的解决方案
  7. 按键精灵 手机 oracle,按键精灵Android版:软件使用
  8. 为什么我要建立自己的公众号?
  9. 电路 常见的数据线接口
  10. jmu-ds-集合的并交差运算