.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Bio::Assembly::IO::maq 3pm" .TH Bio::Assembly::IO::maq 3pm "2014-07-13" "perl v5.18.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Bio::Assembly::IO::maq \- Driver to read assembly files in maq format *BETA* .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& # convert the native maq map format to plain text \& $ maq mapview all.map > all.maq \& \& # Building an input stream \& use Bio::Assembly::IO; \& \& # Assembly loading methods \& my $asmio = Bio::Assembly::IO\->new( \-file => \*(Aqall.maq\*(Aq, \& \-format => \*(Aqmaq\*(Aq ); \& my $scaffold = $asmio\->next_assembly; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package loads and writes map information in/from \f(CW\*(C`maq\*(C'\fR map files converted by the \f(CW\*(C`maq mapview\*(C'\fR utility. This module is a driver module for Bio::Assembly::IO input/output. .PP Parsing is based on Heng Li's description of \f(CW\*(C`maq mapview\*(C'\fR output, found at the \f(CW\*(C`maq\*(C'\fR manpage: . .PP The basic \f(CW\*(C`maq\*(C'\fR workflow is: map reads to a reference sequence (with \&\f(CW\*(C`maq map\*(C'\fR), then create a consensus from the map (with \f(CW\*(C`maq assemble\*(C'\fR). To read a complete assembly with this module, the following files need to be available: .PP .Vb 4 \& [basename].maq : created by maq mapview [basename].map > [basename].maq \& [basename].cns.fastq : created as follows \& $ maq assemble [basename].cns [refseq].bfa [basename].map \& $ maq cns2fq [basename].cns > [basename].cns.fastq .Ve .PP \&\f(CW\*(C`maq\*(C'\fR produces only one \*(L"contig\*(R"; all reads map to the reference sequence, which covers everything. This module breaks the reads into contigs by dividing the \f(CW\*(C`maq\*(C'\fR consensus into pieces for which there are contiguous non-zero quality values. .PP The module \f(CW\*(C`Bio::Tools::Run::Maq\*(C'\fR will help in this process (eventually). .PP This module has no write capability. .SS "Implementation" .IX Subsection "Implementation" Assemblies are loaded into Bio::Assembly::Scaffold objects composed of Bio::Assembly::Contig and Bio::Assembly::Singlet objects. Contigs are not explicitly specified in \f(CW\*(C`map\*(C'\fR files; the division of the map into contigs is calculated in this module. .PP Additional assembly information is stored as features. Contig objects have SeqFeature information associated with the primary_tag: .PP .Vb 1 \& _main_contig_feature:$contig_id \-> misc contig information .Ve .PP Read objects have sub_seqFeature information associated with the primary_tag: .PP .Vb 1 \& _main_read_feature:$read_id \-> misc read information .Ve .PP Singlets are contigs of a single sequence, as calculated within this module. They are cataloged separately, as specified in Bio::Assembly::Scaffold. .SH "TODO" .IX Header "TODO" .IP "\(bu" 4 Add pod descriptions of maq descriptive data (currently SeqFeatures added to each contig component) .IP "\(bu" 4 Add features describing the aggregate status of reads and contigs based on the maq \*(L"paired flag\*(R" .SH "FEEDBACK" .IX Header "FEEDBACK" .SS "Mailing Lists" .IX Subsection "Mailing Lists" User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing lists Your participation is much appreciated. .PP .Vb 2 \& bioperl\-l@bioperl.org \- General discussion \& http://bioperl.org/wiki/Mailing_lists \- About the mailing lists .Ve .SS "Support" .IX Subsection "Support" Please direct usage questions or support issues to the mailing list: .PP \&\fIbioperl\-l@bioperl.org\fR .PP rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible. .SS "Reporting Bugs" .IX Subsection "Reporting Bugs" Report bugs to the BioPerl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via email or the web: .PP .Vb 2 \& bioperl\-bugs@bio.perl.org \& https://github.com/bioperl/bioperl\-live/issues .Ve .SH "AUTHOR \- Mark A. Jensen" .IX Header "AUTHOR - Mark A. Jensen" Email maj \-at\- fortinbras \-dot\- us .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" Further improvements by Florent Angly (florent dot angly at gmail dot com) .SH "ACKNOWLEDGEMENT" .IX Header "ACKNOWLEDGEMENT" Code and some \s-1POD\s0 text ripped liberally from Florent Angly's Bio::Assembly::IO::tigr. .SH "APPENDIX" .IX Header "APPENDIX" The rest of the documentation details each of the object methods. Internal methods are usually preceded with a \*(L"_\*(R". .SS "next_assembly" .IX Subsection "next_assembly" .Vb 5 \& Title : next_assembly \& Usage : $scaffold = $stream\->next_assembly() \& Function: return the assembly defined by the map and cns files \& Returns : Bio::Assembly::Scaffold object \& Args : none .Ve .SS "next_contig" .IX Subsection "next_contig" .Vb 5 \& Title : next_contig \& Usage : $scaffold = $stream\->next_contig() \& Function: Returns the next contig or singlet in the ACE stream. \& Returns : a Bio::Assembly::Contig or Bio::Assembly::Single object \& Args : none .Ve .SS "\fI_init_contig()\fP" .IX Subsection "_init_contig()" .Vb 7 \& Title : _init_contig \& Usage : my $contigobj; $contigobj = $self\->_init_contig( \& \e%contiginfo, $scaffoldobj); \& Function: store information of a contig belonging to a scaffold in the \& appropriate object \& Returns : Bio::Assembly::Contig object \& Args : hash, Bio::Assembly::Scaffold .Ve .SS "\fI_store_contig()\fP" .IX Subsection "_store_contig()" .Vb 7 \& Title : _store_contig \& Usage : my $contigobj; $contigobj = $self\->_store_contig( \& \e%contiginfo, $contigobj); \& Function: store information of a contig belonging to a scaffold \& in the appropriate object \& Returns : Bio::Assembly::Contig object \& Args : hash, Bio::Assembly::Contig .Ve .SS "\fI_parse_cns_file()\fP" .IX Subsection "_parse_cns_file()" .Vb 7 \& Title : _parse_cns_file \& Usage : $self\->_parse_cns_file \& Function: parse the .cns.fastq (consensus) file \& associated with the present map; \& set the objects cns attribute \& Returns : true on success; nil if file dne \& Args : none .Ve .SS "\fI_cons()\fP" .IX Subsection "_cons()" .Vb 5 \& Title : _cons \& Usage : @cons = $self\->_cons \& Function: get the array of consensus fastq Bio::Seq::Quality objects \& Returns : array of Bio::Seq::Quality objects \& Args : none .Ve .SS "\fI_next_cons()\fP" .IX Subsection "_next_cons()" .SS "\fI_store_read()\fP" .IX Subsection "_store_read()" .Vb 6 \& Title : _store_read \& Usage : my $readobj = $self\->_store_read(\e%readinfo, $contigobj); \& Function: store information of a read belonging to a contig \& in the appropriate object \& Returns : a Bio::LocatableSeq object \& Args : hash, Bio::Assembly::Contig .Ve .SS "\fI_store_singlet()\fP" .IX Subsection "_store_singlet()" .Vb 5 \& Title : _store_singlet \& Usage : my $singletobj = $self\->_store_read(\e%readinfo, \e%contiginfo); \& Function: store information of a singlet belonging to a scaffold in a singlet object \& Returns : Bio::Assembly::Singlet \& Args : hash, hash .Ve .SS "\fIwrite_assembly()\fP" .IX Subsection "write_assembly()" .Vb 5 \& Title : write_assembly \& Usage : \& Function: not currently available for maq assemblies \& Returns : throw \& Args : .Ve .SS "\fI_basename()\fP" .IX Subsection "_basename()" .Vb 5 \& Title : _basename \& Usage : $self\->_basename \& Function: return the basename of the associate IO file \& Returns : scalar string \& Args : none .Ve