elsif ( $script eq "write_bed" )
{
@options = qw(
+ cols|c=s
no_stream|x
data_out|o=s
compress|Z
# Returns nothing.
- my ( $fh, $record, $new_record );
+ my ( $cols, $fh, $record, $new_record );
+
+ $cols = $options->{ 'cols' }->[ 0 ];
$fh = write_stream( $options->{ "data_out" }, $options->{ "compress" } );
{
if ( $record->{ "REC_TYPE" } eq "BED" ) # ---- Hits from BED ----
{
- Maasha::UCSC::bed_put_entry( $record, $fh, $record->{ "BED_COLS" } );
+ $cols ||= $record->{ "BED_COLS" };
+
+ Maasha::UCSC::bed_put_entry( $record, $fh, $cols );
}
elsif ( $record->{ "REC_TYPE" } eq "PSL" and $record->{ "S_ID" } =~ /^chr/i ) # ---- Hits from BLAT (PSL) ----
{
$new_record->{ "SCORE" } = $record->{ "SCORE" } || 999;
$new_record->{ "STRAND" } = $record->{ "STRAND" };
- Maasha::UCSC::bed_put_entry( $new_record, $fh, 6 );
+ $cols ||= 6;
+
+ Maasha::UCSC::bed_put_entry( $new_record, $fh, $cols );
}
elsif ( $record->{ "REC_TYPE" } eq "PATSCAN" and $record->{ "CHR" } ) # ---- Hits from patscan_seq ----
{
- Maasha::UCSC::bed_put_entry( $record, $fh, 6 );
+ $cols ||= 6;
+
+ Maasha::UCSC::bed_put_entry( $record, $fh, $cols );
}
elsif ( $record->{ "REC_TYPE" } eq "BLAST" and $record->{ "S_ID" } =~ /^chr/i ) # ---- Hits from BLAST ----
{
$new_record->{ "SCORE" } = $record->{ "SCORE" } || 999; # or use E_VAL somehow
$new_record->{ "STRAND" } = $record->{ "STRAND" };
- Maasha::UCSC::bed_put_entry( $new_record, $fh, 6 );
+ $cols ||= 6;
+
+ Maasha::UCSC::bed_put_entry( $new_record, $fh, $cols );
}
elsif ( $record->{ "REC_TYPE" } eq "VMATCH" and $record->{ "S_ID" } =~ /^chr/i ) # ---- Hits from Vmatch ----
{
$new_record->{ "SCORE" } = $record->{ "SCORE" } || 999; # or use E_VAL somehow
$new_record->{ "STRAND" } = $record->{ "STRAND" };
- Maasha::UCSC::bed_put_entry( $new_record, $fh, 6 );
+ $cols ||= 6;
+
+ Maasha::UCSC::bed_put_entry( $new_record, $fh, $cols );
}
- elsif ( $record->{ "REC_TYPE" } eq "SOAP" and $record->{ "S_ID" } =~ /^chr/i ) # ---- Hits from Vmatch ----
+ elsif ( $record->{ "REC_TYPE" } eq "SOAP" and $record->{ "S_ID" } =~ /^chr/i ) # ---- Hits from Soap ----
{
$new_record->{ "CHR" } = $record->{ "S_ID" };
$new_record->{ "CHR_BEG" } = $record->{ "S_BEG" };
$new_record->{ "SCORE" } = $record->{ "SCORE" } || 999;
$new_record->{ "STRAND" } = $record->{ "STRAND" };
- Maasha::UCSC::bed_put_entry( $new_record, $fh, 6 );
+ $cols ||= 6;
+
+ Maasha::UCSC::bed_put_entry( $new_record, $fh, $cols );
}
elsif ( $record->{ "CHR" } and defined $record->{ "CHR_BEG" } and $record->{ "CHR_END" } ) # ---- Generic data from tables ----
{
- Maasha::UCSC::bed_put_entry( $record, $fh );
+ Maasha::UCSC::bed_put_entry( $record, $fh, $cols );
}
put_record( $record, $out ) if not $options->{ "no_stream" };