今天整理下數(shù)據(jù)锉屈,
#將當(dāng)前文件夾下所有".CDS.haplo"文件的后綴去掉璃谨,并將"t"改成“g“曼氛,"-"后的數(shù)字也去掉
for file in *.CDS.haplo; do
new_name=$(echo $file | sed 's/\.CDS\.haplo$//; s/t/g/; s/-[0-9]*//')
mv "$file" "$new_name"
done
###讀取所有基因
cat Os |while read id
do
perl -ne 'chomp; @cols = split(/\t/); @samples = split(/\|/, $cols[3]); foreach $sample (@samples) { print "$sample\t$cols[0]\n"; }' $id |sort -V >Oshap/$id
done
###腳本其實(shí)有點(diǎn)問(wèn)題剂碴,后面調(diào)整下就行
use strict;
use warnings;
# 獲取當(dāng)前文件夾所有Os開(kāi)頭的文件名
my @files = glob("Os*");
# 存儲(chǔ)每個(gè)樣本的單倍型信息
my %sample_data;
# 讀取每個(gè)文件并按樣本名合并數(shù)據(jù)
foreach my $file (@files) {
open(my $fh, '<', $file) or die "Cannot open file $file: $!";
while (my $line = <$fh>) {
chomp $line;
my ($sample, $haplotype) = split("\t", $line);
$sample_data{$sample} .= "\t$haplotype";
}
close($fh);
}
# 獲取所有樣本名
my @samples = keys %sample_data;
# 輸出文件名
my $output_file = "combined_data_samples.txt";
# 打開(kāi)輸出文件
open(my $output_fh, '>', $output_file) or die "Cannot create output file: $!";
# 寫(xiě)入表頭
print $output_fh "Sample\t" . join("\t", @samples) . "\n";
# 寫(xiě)入每個(gè)樣本的單倍型信息
foreach my $sample (@samples) {
print $output_fh "$sample$sample_data{$sample}\n";
}
close($output_fh);
print "數(shù)據(jù)合并完成喉前,已保存到$output_file 文件\n";
#提取位置
perl /public/home/fengting/scripts/gene_family/get_gw.pl -in1 new_file.txt -in2 ../NIP_maker.gff -out weiz/weiz
合并基因信息
use strict;
use warnings;
# 獲取當(dāng)前文件夾所有txt文件
my @files = glob("*.txt");
# 存儲(chǔ)合并后的數(shù)據(jù)
my $merged_data = "";
# 讀取每個(gè)txt文件并合并數(shù)據(jù)
foreach my $file (@files) {
open(my $fh, '<', $file) or die "Cannot open file $file: $!";
while (my $line = <$fh>) {
$merged_data .= $line;
}
close($fh);
}
# 輸出文件名
my $output_file = "merged_data.txt";
# 打開(kāi)輸出文件
open(my $output_fh, '>', $output_file) or die "Cannot create output file: $!";
# 寫(xiě)入合并后的數(shù)據(jù)
print $output_fh $merged_data;
close($output_fh);
print "數(shù)據(jù)合并完成裕便,已保存到$output_file 文件\n";