# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-my ( $options, $in, $out, $record, $tmp_dir, $tmp_file, $fh_out, $fh_in, $entry, $chunk, @lines, $line, $s_id, $type, $s_beg, $s_end, $strand, @fields );
+my ( $options, $in, $out, $record, $tmp_dir, $tmp_file, $fh_out, $fh_in, $entry, $chunk, @lines, $line, $s_id, $type, $s_beg, $s_end, $strand, @fields, $def );
$options = Maasha::Biopieces::parse_options();
Maasha::Biopieces::put_record( $record, $out );
}
-Maasha::Common::run( "draft_prodigal.pl", "< $tmp_file > $tmp_file.out 2> /dev/null" );
+if ( $options->{ 'verbise' } ) {
+ Maasha::Common::run( "prodigal", "< $tmp_file > $tmp_file.out" );
+} else {
+ Maasha::Common::run( "prodigal", "< $tmp_file > $tmp_file.out 2> /dev/null" );
+}
$fh_in = Maasha::Filesys::file_read_open( "$tmp_file.out" );
$line = shift @lines;
- if ( $line =~ /.*>(.+)/ )
+ if ( $line =~ /^DEFINITION\s+(.+)/ )
{
- $s_id = $1;
-
- foreach $line ( @lines )
- {
- @fields = split " ", $line;
+ $def = $1;
- $type = $fields[ 0 ];
+ if ( $def =~ /seqhdr="([^"]+)"/ ) {
+ $s_id = $1;
+ } else {
+ Maasha::Common::error( qq(BAD sequence header: $def) );
+ }
- if ( $fields[ 1 ] =~ /complement/ ) {
- $strand = "-";
- } else {
- $strand = "+";
- }
+ $line = shift @lines;
- if ( $fields[ 1 ] =~ /(\d+)\.\.>?(\d+)/ )
- {
- $s_beg = $1;
- $s_end = $2;
- }
- else
+ if ( $line =~ /^FEATURES/ )
+ {
+ foreach $line ( @lines )
{
- Maasha::Common::error( qq(BAD locator: $line) );
+ next if $line =~ /.+\//;
+
+ @fields = split " ", $line;
+
+ $type = $fields[ 0 ];
+
+ if ( $fields[ 1 ] =~ /complement/ ) {
+ $strand = "-";
+ } else {
+ $strand = "+";
+ }
+
+ if ( $fields[ 1 ] =~ /(\d+)\.\.>?(\d+)/ )
+ {
+ $s_beg = $1;
+ $s_end = $2;
+ }
+ else
+ {
+ Maasha::Common::error( qq(BAD locator: $line) );
+ }
+
+ $record = {
+ S_ID => $s_id,
+ S_BEG => $s_beg - 1,
+ S_END => $s_end - 1,
+ Q_ID => $type,
+ STRAND => $strand,
+ };
+
+ Maasha::Biopieces::put_record( $record, $out );
}
-
- $record = {
- S_ID => $s_id,
- S_BEG => $s_beg - 1,
- S_END => $s_end - 1,
- Q_ID => $type,
- STRAND => $strand,
- };
-
- Maasha::Biopieces::put_record( $record, $out );
+ }
+ else
+ {
+ Maasha::Common::error( qq(BAD feature: $line) );
}
}
else
{
- Maasha::Commom::error( qq(BAD definition: $line) );
+ Maasha::Common::error( qq(BAD definition: $line) );
}
}
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<!--
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- RDoc Documentation
-
- -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>RDoc Documentation</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+
+ <title>RDoc Documentation</title>
+
+ <link type="text/css" media="screen" href="rdoc.css" rel="stylesheet" />
+
+ <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
+ <script src="js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
+ <script src="js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
+ <script src="js/darkfish.js" type="text/javascript" charset="utf-8"></script>
+
</head>
-<frameset rows="20%, 80%">
- <frameset cols="25%,35%,45%">
- <frame src="fr_file_index.html" title="Files" name="Files" />
- <frame src="fr_class_index.html" name="Classes" />
- <frame src="fr_method_index.html" name="Methods" />
- </frameset>
- <frame src="files/fasta_rb.html" name="docwin" />
-</frameset>
+<body class="indexpage">
+
+
+ <h1>RDoc Documentation</h1>
+
+
+ <p>This is the API documentation for 'RDoc Documentation'.</p>
+
+
+
+
+
+ <h2 id="classes">Classes/Modules</h2>
+ <ul>
+
+ <li class="class"><a href="Biopieces.html">Biopieces</a></li>
+
+ <li class="class"><a href="CastError.html">CastError</a></li>
+
+ <li class="class"><a href="Casts.html">Casts</a></li>
+
+ <li class="class"><a href="Digest.html">Digest</a></li>
+
+ <li class="class"><a href="DigestError.html">DigestError</a></li>
+
+ <li class="class"><a href="Fasta.html">Fasta</a></li>
+
+ <li class="class"><a href="FastaError.html">FastaError</a></li>
+
+ <li class="class"><a href="OptionHandler.html">OptionHandler</a></li>
+
+ <li class="class"><a href="Seq.html">Seq</a></li>
+
+ <li class="class"><a href="SeqError.html">SeqError</a></li>
+
+ <li class="class"><a href="Status.html">Status</a></li>
+
+ <li class="class"><a href="Stream.html">Stream</a></li>
+
+ </ul>
+
+ <h2 id="methods">Methods</h2>
+ <ul>
+
+ <li><a href="Biopieces.html#method-c-new">::new — Biopieces</a></li>
+
+ <li><a href="Digest.html#method-c-new">::new — Digest</a></li>
+
+ <li><a href="OptionHandler.html#method-c-new">::new — OptionHandler</a></li>
+
+ <li><a href="Seq.html#method-c-new">::new — Seq</a></li>
+
+ <li><a href="Casts.html#method-c-new">::new — Casts</a></li>
+
+ <li><a href="Fasta.html#method-c-new">::new — Fasta</a></li>
+
+ <li><a href="Stream.html#method-c-nread">::nread — Stream</a></li>
+
+ <li><a href="Stream.html#method-c-nwrite">::nwrite — Stream</a></li>
+
+ <li><a href="Fasta.html#method-c-open">::open — Fasta</a></li>
+
+ <li><a href="Stream.html#method-c-open">::open — Stream</a></li>
+
+ <li><a href="Stream.html#method-c-read">::read — Stream</a></li>
+
+ <li><a href="Stream.html#method-c-write">::write — Stream</a></li>
+
+ <li><a href="Stream.html#method-c-zipped%3F">::zipped? — Stream</a></li>
+
+ <li><a href="Fasta.html#method-c-zopen">::zopen — Fasta</a></li>
+
+ <li><a href="Stream.html#method-c-zread">::zread — Stream</a></li>
+
+ <li><a href="Stream.html#method-c-zwrite">::zwrite — Stream</a></li>
+
+ <li><a href="Casts.html#method-i-check">#check — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_duplicates">#check_duplicates — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_keys">#check_keys — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_allowed">#check_val_allowed — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_default">#check_val_default — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_disallowed">#check_val_disallowed — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_long">#check_val_long — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_mandatory">#check_val_mandatory — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_short">#check_val_short — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_val_type">#check_val_type — Casts</a></li>
+
+ <li><a href="Casts.html#method-i-check_values">#check_values — Casts</a></li>
+
+ <li><a href="Fasta.html#method-i-close">#close — Fasta</a></li>
+
+ <li><a href="Seq.html#method-i-complement">#complement — Seq</a></li>
+
+ <li><a href="Status.html#method-i-delete">#delete — Status</a></li>
+
+ <li><a href="Digest.html#method-i-disambiguate">#disambiguate — Digest</a></li>
+
+ <li><a href="Biopieces.html#method-i-each">#each — Biopieces</a></li>
+
+ <li><a href="Fasta.html#method-i-each">#each — Fasta</a></li>
+
+ <li><a href="Digest.html#method-i-each">#each — Digest</a></li>
+
+ <li><a href="Biopieces.html#method-i-each_record">#each_record — Biopieces</a></li>
+
+ <li><a href="Seq.html#method-i-generate">#generate — Seq</a></li>
+
+ <li><a href="Fasta.html#method-i-get_entry">#get_entry — Fasta</a></li>
+
+ <li><a href="Status.html#method-i-get_tmpdir">#get_tmpdir — Status</a></li>
+
+ <li><a href="Seq.html#method-i-is_dna%3F">#is_dna? — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-is_protein%3F">#is_protein? — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-is_rna%3F">#is_rna? — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-len">#len — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-length">#length — Seq</a></li>
+
+ <li><a href="Status.html#method-i-log">#log — Status</a></li>
+
+ <li><a href="Casts.html#method-i-long_to_sym">#long_to_sym — Casts</a></li>
+
+ <li><a href="Biopieces.html#method-i-mktmpdir">#mktmpdir — Biopieces</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check">#options_check — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_allowed">#options_check_allowed — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_dir">#options_check_dir — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_disallowed">#options_check_disallowed — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_file">#options_check_file — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_files">#options_check_files — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_int">#options_check_int — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_mandatory">#options_check_mandatory — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_check_uint">#options_check_uint — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_default">#options_default — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_glob">#options_glob — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-options_parse">#options_parse — OptionHandler</a></li>
+
+ <li><a href="Biopieces.html#method-i-parse">#parse — Biopieces</a></li>
+
+ <li><a href="Status.html#method-i-path">#path — Status</a></li>
+
+ <li><a href="OptionHandler.html#method-i-print_usage_and_exit">#print_usage_and_exit — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-print_usage_full%3F">#print_usage_full? — OptionHandler</a></li>
+
+ <li><a href="OptionHandler.html#method-i-print_usage_short%3F">#print_usage_short? — OptionHandler</a></li>
+
+ <li><a href="Biopieces.html#method-i-puts">#puts — Biopieces</a></li>
+
+ <li><a href="Fasta.html#method-i-puts">#puts — Fasta</a></li>
+
+ <li><a href="Seq.html#method-i-revcomp">#revcomp — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-reverse">#reverse — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-reverse_complement">#reverse_complement — Seq</a></li>
+
+ <li><a href="Status.html#method-i-set">#set — Status</a></li>
+
+ <li><a href="Status.html#method-i-set_tmpdir">#set_tmpdir — Status</a></li>
+
+ <li><a href="Status.html#method-i-time_diff">#time_diff — Status</a></li>
+
+ <li><a href="Seq.html#method-i-to_bp">#to_bp — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-to_dna">#to_dna — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-to_fasta">#to_fasta — Seq</a></li>
+
+ <li><a href="Seq.html#method-i-to_rna">#to_rna — Seq</a></li>
+
+ <li><a href="Casts.html#method-i-ubiquitous">#ubiquitous — Casts</a></li>
+
+ <li><a href="OptionHandler.html#method-i-wiki_path">#wiki_path — OptionHandler</a></li>
+
+ </ul>
+
+ <div id="validator-badges">
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
+ Rdoc Generator</a> 1.1.6</small>.</p>
+ </div>
+</body>
</html>