现把两灶判拿文件合并为一个
a.txt
b.txt
思路·把一个文件的内容存为hash。另一个文件的id去遍历,打印这个hash
--------------分割线-------------------------------------------------------
目的:求fastq文件的cg含量
fastq文件
脚本
目的:
输入文件 为test.fa如下,以第一条冲旦序列为例>ENSRNOT00000000957 gene=F1M7K0_RATCDS=1-1104 依次为基因ID、名称、编码区位置以下为碱基序列
1、将序列读入哈希变量%gene_fasta(建议 key为“基因ID” value为“碱基序列”)
2、输出隐搭第一条(ENSRNOT00000000957)序列的反向互补序列
3、输出表格依次为基因ID、名称、编码区起始位、编码区终止位,部分表格如下
4、查找其中最长的序列,输出ID编号,与碱基信息
5、统计长度在200~500之间的序列,并按长度排序输出 ID 和长度部分表格如下
例子:
································································································
目的:打印文件的前面5行
··········································································
将以下字母c a e w i m j q z s n 存入数组,排序后输出。
把fasta格式序列以tab键分割形式,也就是一列为ID,一列为序列输出
my %elmmy @files = <*.txt>
for my $f(@files){merge($f)}
save("final.log")
sub merge{
my $f = shift
my 念告$H
open $H, $f
<$H>
while (<$H>) {
chomp
my @e = split(/[ \t]/, $_)
my $k = join(',', @e[0..2])
$elm{$k} = 携高茄[] if (!exists $elm{$k})
push @{$elm{$k}}, $e[3]
}
}
sub save {
my $out = shift
my $H
open $H, '+>', 辩察$out
print $H "CHROM\tpos\tref\tfreq\n"
for my $k(keys %elm) {
print $H join("\t", split(',', $k), @{$elm{$k}}) . "\n"
}
close $H
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)