annotate split.pl @ 2:38435c74e795 draft default tip

working version
author mingchen0919
date Mon, 09 Apr 2018 14:20:42 -0400
parents 3918528c19b4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
1 #!/usr/bin/perl
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
2
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
3
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
4 if($ARGV[0] eq "" || $ARGV[1] eq ""){
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
5 die "\n\t Usage : perl <thisScript.pl> <file to be split> <number of partitions> \n\n";
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
6 }
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
7
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
8
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
9 $homfile = $ARGV[0];
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
10 $numOfFiles = $ARGV[1];
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
11
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
12
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
13 system("grep -c '^>' $homfile > out");
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
14 open IN, "out" || die "File not found - 2\n";
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
15 $numOfSeqs = <IN>;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
16 close IN;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
17
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
18 print "Number of seqs is $numOfSeqs\n";
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
19 my $numPerFile = $numOfSeqs/$numOfFiles;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
20 print "Num per File is $numPerFile\n";
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
21
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
22 open IN, $homfile || die "File not found - 1\n";
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
23 $lineIn = <IN>;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
24
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
25 for($i = 1; $i <= $numOfFiles; $i++){
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
26 print "$i\n";
2
38435c74e795 working version
mingchen0919
parents: 0
diff changeset
27 open FILE, ">".$homfile.".".$i.".fasta" || die "Can't open file";
0
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
28 print FILE $lineIn;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
29 $seqs = 1;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
30 $lineIn = <IN>;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
31 while(defined $lineIn && $seqs < $numPerFile){
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
32 print FILE $lineIn;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
33 if ($lineIn =~ /^>/) { $seqs++; }
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
34 $lineIn = <IN>;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
35 }
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
36 while(defined $lineIn && $lineIn !~ /^>/){
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
37 print FILE $lineIn;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
38 $lineIn = <IN>;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
39 }
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
40 close FILE;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
41 }
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
42 $i = $i -1;
2
38435c74e795 working version
mingchen0919
parents: 0
diff changeset
43 open FILE, ">>".$homfile.".".$i.".fasta";
0
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
44 while ($lineIn = <IN>){
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
45 print FILE $lineIn;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
46 }
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
47 close FILE;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
48
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
49 close IN;
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
50
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
51
3918528c19b4 planemo upload
mingchen0919
parents:
diff changeset
52