perl 截取 fastq文件
#!/usr/bin/perl -w
use warnings;
use strict; my $usage = qq{$ input_fastq trim_length};
die "$usage\n" if scalar @ARGV != ;
my ($fastq, $trim_length) = @ARGV; open(FASTQ, $fastq) or die "Can't open $fastq\n";
while (my $readid = <FASTQ>) {
chomp $readid;
chomp (my $sequence = <FASTQ>);
chomp (my $comment = <FASTQ>);
chomp (my $quality = <FASTQ>); my $sub_seq = length $sequence < $trim_length ? $sequence : substr $sequence, , $trim_length;
my $sub_quality = length $sequence < $trim_length ? $quality : substr $quality, , $trim_length;
print qq{$readid\n$sub_seq\n$comment\n$sub_quality\n}; }
close FASTQ;
fastq 文件每4行代表一条序列, 利用一个循环,每次读取4行,然后处理;
当读到文件结尾时,$readid 为空,循环终止,
基本思路是看defuse (检测融合基因的工具)的源代码看到的, 里面有一个trim_fastq.pl 脚本,自己稍微修改了下;
以前都是用python的, 新的公司都是用perl的, 还好都是脚本语言, 理解起来也比较轻松。
perl 截取 fastq文件的更多相关文章
- 利用Bioperl的SeqIO模块解析fastq文件
		
测序数据中经常会接触到fastq格式的文件,比如说拿到fastq格式的原始数据后希望查看测序碱基的质量并去除低质量碱基.一般而言大家都是用现有的工具,比如说fastqc这个Java写的小程序,确实很好 ...
 - fastx tookit 操作fasta/fastq 文件 (1)
		
准备测试文件 test.fq, 包含4条fastq 文件,碱基编码格式为phred64; @FC12044_91407_8_200_406_24 NTTAGCTCCCACCTTAAGATGTTTA + ...
 - 利用kseq.h parse fasta/fastq 文件
		
在分析中经常需要统计fasta/fastq文件的序列数和碱基数, 但是没有找到一些专门做这件事的小工具,可能是这个功能太简单了: 之前用自己写的perl的脚本统计这些信息, 当fastq文件非常大时, ...
 - Shell字符串截取处理文件路径
		
在生信处理流程中,从最初的fastq文件,经过分析处理后,会生成一堆的后续文件,如何在流程中合理的命名呢? 通常在批处理模式中,我们会得到多个样本*.fastq(或*.fq.*.fastq.gz.*. ...
 - 截取linux文件存储路径方法
		
1.截取linux文件存储路径方法 package com.tydic.eshop.action.freemarker; public class dddd { public static void ...
 - 统计 fastq 文件 q20 , GC 含量的软件
		
二代测序的分析过程中,经常需要统计原始下机数据的数据量,看数据量是否符合要求:另外还需要统计q20,q30,GC含量等反应测序质量的指标: 在kseq.h 的基础上稍加改造,就可以实现从fastq 文 ...
 - Perl遍历查找文件
		
Perl遍历查找文件 使用Perl查找当前目录下的所有PDF文件 ******************************************************************* ...
 - 使用Perl批量读取文件最后行
		
使用Perl批量读取文件最后行 面对成百上千个文件,有时我们需要查看它的最后行,单个文件打开将耗费大量时间,而通过Perl提取出最后行,将快速的帮助我们处理繁琐的事务. 特性 整个目录完全遍历,自动提 ...
 - 将fasta fastq文件线性化处理
		
将fasta文件线性化处理 awk '/^>/ {printf("%s%s\t",(N>0?"\n":""),$0);N++;n ...
 
随机推荐
- 【C/C++】C语言复习笔记-17种小算法-解决实际问题
			
判断日期为一年中的第几天(考虑闰年) /* * 计算该日在本年中是第几天,注意闰年问题 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 * 特殊情况,闰年且输入月份大于3时 ...
 - Excel2013 破解(编辑工作表受保护)密码
			
在日常工作中,大家有时会遇到过这样的情况:使用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功 ...
 - RabbitMQ中各种消息类型如何处理?
			
一:消息类型 Map String(含json字符串类型) 二:处理方法 2.1 Map消息 如果发送的消息类型是map类型,可以通过SerializationUtils.deserialize方法将 ...
 - ARKit从入门到精通(4)-ARKit全框架API大全
			
转载:http://blog.csdn.net/u013263917/article/details/73156679 1.1-ARKit框架简介 1.2-ARAnchor 1.3-ARCamera ...
 - 别人不会给你说的---C语言中数组名和指针的区别 及 sizeof用法
			
引自: http://blog.csdn.net/tianyue168/article/details/5781924 #i nclude <iostream.h> int main( ...
 - [转]mysql写注释的几种方法
			
原文地址:https://www.cnblogs.com/JiangLe/p/6897403.html MySQL的注释风格总的来说有三种.它们分别是 1.单行注释可以用"#" s ...
 - [转]你所不知的 CSS ::before 和 ::after 伪元素用法
			
SS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此.前几天发现了 Creative Link Effects 这个非常有意思的 ...
 - 【转】HTML <!--...--> 注释 、CSS/JS //注释 和 /*.....*/ 注释
			
原文地址:http://www.cnblogs.com/iceflorence/p/5815409.html <!-- -->是HTML的注释标签,使用 < 和 > 是符合HT ...
 - Android开发之获取手机SIM卡信息
			
TelephonyManager是一个管理手机通话状态.电话网络信息的服务类.该类提供了大量的getXxx(),方法获取电话网络的相关信息. TelephonyManager类概述: 可用于訪问有关设 ...
 - linux 网络安全不完全笔记
			
一.安装Centos二.Linux网络网络环境设置 a.配置linux与客户机相连通 b.配置linux上网三.Yum详解 yum 的基本操作 a.使用 yum 安装新软件 yum install – ...