### Home Classes Methods

### In Files

- lib/bio/io/flatfile/autodetection.rb

### Parent

Object

### Namespace

- CLASS Bio::FlatFile::AutoDetect::RuleDebug
- CLASS Bio::FlatFile::AutoDetect::RuleProc
- CLASS Bio::FlatFile::AutoDetect::RuleRegexp
- CLASS Bio::FlatFile::AutoDetect::RuleRegexp2
- CLASS Bio::FlatFile::AutoDetect::RuleSpecial
- CLASS Bio::FlatFile::AutoDetect::RuleTemplate
- CLASS Bio::FlatFile::AutoDetect::RulesArray

### Methods

- ::[]
- ::default
- ::default=
- ::make_default
- ::new
- #add
- #autodetect
- #autodetect_flatfile
- #each_rule
- #elements
- #inspect
- #rehash
- #tsort_each_child
- #tsort_each_node

### Included Modules

- TSort

### Files

- KNOWN_ISSUES.rdoc
- README.rdoc
- README_DEV.rdoc
- RELEASE_NOTES.rdoc
- Changes-1.3.rdoc
- RELEASE_NOTES-1.4.0.rdoc
- RELEASE_NOTES-1.4.1.rdoc
- RELEASE_NOTES-1.4.2.rdoc

### Class/Module Index

Quicksearch

- Bio
- Bio::AAindex
- Bio::AAindex1
- Bio::AAindex2
- Bio::Abif
- Bio::Abif::DirectoryEntry
- Bio::Alignment
- Bio::Alignment::ArrayExtension
- Bio::Alignment::EnumerableExtension
- Bio::Alignment::FactoryTemplate
- Bio::Alignment::FactoryTemplate::FileInFileOut
- Bio::Alignment::FactoryTemplate::FileInFileOutWithTree
- Bio::Alignment::FactoryTemplate::FileInStdoutOut
- Bio::Alignment::FactoryTemplate::Simple
- Bio::Alignment::FactoryTemplate::StdinInFileOut
- Bio::Alignment::FactoryTemplate::WrapInputStdin
- Bio::Alignment::FactoryTemplate::WrapInputTempfile
- Bio::Alignment::FactoryTemplate::WrapOutputStdout
- Bio::Alignment::FactoryTemplate::WrapOutputTempfile
- Bio::Alignment::GAP
- Bio::Alignment::HashExtension
- Bio::Alignment::MultiFastaFormat
- Bio::Alignment::OriginalAlignment
- Bio::Alignment::OriginalPrivate
- Bio::Alignment::Output
- Bio::Alignment::PropertyMethods
- Bio::Alignment::SequenceArray
- Bio::Alignment::SequenceHash
- Bio::Alignment::Site
- Bio::Alignment::SiteMethods
- Bio::AminoAcid
- Bio::AminoAcid::Data
- Bio::Blast
- Bio::Blast::Bl2seq
- Bio::Blast::Bl2seq::Report
- Bio::Blast::Bl2seq::Report::HSP
- Bio::Blast::Bl2seq::Report::Hit
- Bio::Blast::Bl2seq::Report::Iteration
- Bio::Blast::Default
- Bio::Blast::Default::Report
- Bio::Blast::Default::Report::HSP
- Bio::Blast::Default::Report::Hit
- Bio::Blast::Default::Report::Iteration
- Bio::Blast::Default::Report_TBlast
- Bio::Blast::Fastacmd
- Bio::Blast::NCBIOptions
- Bio::Blast::RPSBlast
- Bio::Blast::RPSBlast::RPSBlastSplitter
- Bio::Blast::RPSBlast::Report
- Bio::Blast::RPSBlast::Report::FLATFILE_SPLITTER
- Bio::Blast::RPSBlast::Report::Iteration
- Bio::Blast::Remote
- Bio::Blast::Remote::DDBJ
- Bio::Blast::Remote::DDBJ::Information
- Bio::Blast::Remote::Ddbj
- Bio::Blast::Remote::GenomeNet
- Bio::Blast::Remote::GenomeNet::Information
- Bio::Blast::Remote::Genomenet
- Bio::Blast::Remote::Information
- Bio::Blast::Report
- Bio::Blast::Report::BlastXmlSplitter
- Bio::Blast::Report::FLATFILE_SPLITTER
- Bio::Blast::Report::Hit
- Bio::Blast::Report::Hsp
- Bio::Blast::Report::Iteration
- Bio::Blast::Report_tab
- Bio::Blast::WU
- Bio::Blast::WU::Report
- Bio::Blast::WU::Report::HSP
- Bio::Blast::WU::Report::Hit
- Bio::Blast::WU::Report::Iteration
- Bio::Blast::WU::Report_TBlast
- Bio::Blat
- Bio::Blat::Report
- Bio::Blat::Report::Hit
- Bio::Blat::Report::SegmentPair
- Bio::Blat::Report::SeqDesc
- Bio::ClustalW
- Bio::ClustalW::Report
- Bio::CodonTable
- Bio::ColorScheme
- Bio::Command
- Bio::Command::Tmpdir
- Bio::Command::Tmpdir::Remover
- Bio::ContingencyTable
- Bio::DAS
- Bio::DAS::DNA
- Bio::DAS::DSN
- Bio::DAS::ENTRY_POINT
- Bio::DAS::FEATURE
- Bio::DAS::GFF
- Bio::DAS::GROUP
- Bio::DAS::LINK
- Bio::DAS::SEGMENT
- Bio::DAS::SEQUENCE
- Bio::DAS::TARGET
- Bio::DAS::TYPE
- Bio::DAS::TYPES
- Bio::DB
- Bio::DBGET
- Bio::DDBJ
- Bio::DDBJ::REST
- Bio::DDBJ::REST::Blast
- Bio::DDBJ::REST::ClustalW
- Bio::DDBJ::REST::DDBJ
- Bio::DDBJ::REST::Mafft
- Bio::DDBJ::REST::RequestManager
- Bio::DDBJ::REST::WABItemplate
- Bio::DDBJ::XML
- Bio::DDBJ::XML::Blast
- Bio::DDBJ::XML::ClustalW
- Bio::DDBJ::XML::DDBJ
- Bio::DDBJ::XML::Fasta
- Bio::DDBJ::XML::GetEntry
- Bio::DDBJ::XML::Gib
- Bio::DDBJ::XML::Gtop
- Bio::DDBJ::XML::PML
- Bio::DDBJ::XML::RequestManager
- Bio::DDBJ::XML::RequestManager::REST
- Bio::DDBJ::XML::SRS
- Bio::DDBJ::XML::TxSearch
- Bio::EBI
- Bio::EBI::SOAP
- Bio::EBI::SOAP::Citation
- Bio::EBI::SOAP::ClustalW
- Bio::EBI::SOAP::Dbfetch
- Bio::EBI::SOAP::Emboss
- Bio::EBI::SOAP::Fasta
- Bio::EBI::SOAP::InterProScan
- Bio::EBI::SOAP::MPsrch
- Bio::EBI::SOAP::MSD
- Bio::EBI::SOAP::Muscle
- Bio::EBI::SOAP::Ontology
- Bio::EBI::SOAP::ScanPS
- Bio::EBI::SOAP::TCoffee
- Bio::EBI::SOAP::WUBlast
- Bio::EMBL
- Bio::EMBLDB
- Bio::EMBLDB::Common
- Bio::EMBOSS
- Bio::Ensembl
- Bio::Ensembl::Base
- Bio::Ensembl::Human
- Bio::Ensembl::Mouse
- Bio::FANTOM
- Bio::FANTOM::MaXML
- Bio::FANTOM::MaXML::Annotation
- Bio::FANTOM::MaXML::Annotation::DataSrc
- Bio::FANTOM::MaXML::Annotations
- Bio::FANTOM::MaXML::Cluster
- Bio::FANTOM::MaXML::Sequence
- Bio::FANTOM::MaXML::Sequences
- Bio::Fasta
- Bio::Fasta::Report
- Bio::Fasta::Report::FLATFILE_SPLITTER
- Bio::Fasta::Report::FastaFormat10Splitter
- Bio::Fasta::Report::Hit
- Bio::Fasta::Report::Hit::Query
- Bio::Fasta::Report::Hit::Target
- Bio::Fasta::Report::Program
- Bio::FastaDefline
- Bio::FastaFormat
- Bio::FastaNumericFormat
- Bio::Fastq
- Bio::Fastq::Error
- Bio::Fastq::Error::Diff_ids
- Bio::Fastq::Error::Long_qual
- Bio::Fastq::Error::No_atmark
- Bio::Fastq::Error::No_ids
- Bio::Fastq::Error::No_qual
- Bio::Fastq::Error::No_seq
- Bio::Fastq::Error::Qual_char
- Bio::Fastq::Error::Qual_range
- Bio::Fastq::Error::Seq_char
- Bio::Fastq::Error::Short_qual
- Bio::Fastq::Error::Skipped_unformatted_lines
- Bio::Fastq::FormatData
- Bio::Fastq::FormatData::FASTQ_ILLUMINA
- Bio::Fastq::FormatData::FASTQ_SANGER
- Bio::Fastq::FormatData::FASTQ_SOLEXA
- Bio::Feature
- Bio::Feature::Qualifier
- Bio::Features
- Bio::Fetch
- Bio::FlatFile
- Bio::FlatFile::AutoDetect
- Bio::FlatFile::AutoDetect::RuleDebug
- Bio::FlatFile::AutoDetect::RuleProc
- Bio::FlatFile::AutoDetect::RuleRegexp
- Bio::FlatFile::AutoDetect::RuleRegexp2
- Bio::FlatFile::AutoDetect::RuleSpecial
- Bio::FlatFile::AutoDetect::RuleTemplate
- Bio::FlatFile::AutoDetect::RulesArray
- Bio::FlatFile::BufferedInputStream
- Bio::FlatFile::Splitter
- Bio::FlatFile::Splitter::Default
- Bio::FlatFile::Splitter::LineOriented
- Bio::FlatFile::Splitter::Template
- Bio::FlatFile::UnknownDataFormatError
- Bio::FlatFileIndex
- Bio::FlatFileIndex::BDB_1
- Bio::FlatFileIndex::BDB_1::BDBMappingFile
- Bio::FlatFileIndex::BDB_1::PrimaryNameSpace
- Bio::FlatFileIndex::BDB_1::SecondaryNameSpace
- Bio::FlatFileIndex::BDBdefault
- Bio::FlatFileIndex::BDBwrapper
- Bio::FlatFileIndex::DEBUG
- Bio::FlatFileIndex::DataBank
- Bio::FlatFileIndex::FileID
- Bio::FlatFileIndex::FileIDs
- Bio::FlatFileIndex::Flat_1
- Bio::FlatFileIndex::Flat_1::FlatMappingFile
- Bio::FlatFileIndex::Flat_1::PrimaryNameSpace
- Bio::FlatFileIndex::Flat_1::Record
- Bio::FlatFileIndex::Flat_1::SecondaryNameSpace
- Bio::FlatFileIndex::Indexer
- Bio::FlatFileIndex::Indexer::NameSpace
- Bio::FlatFileIndex::Indexer::NameSpaces
- Bio::FlatFileIndex::Indexer::Parser
- Bio::FlatFileIndex::Indexer::Parser::BlastDefaultParser
- Bio::FlatFileIndex::Indexer::Parser::EMBLParser
- Bio::FlatFileIndex::Indexer::Parser::FastaFormatParser
- Bio::FlatFileIndex::Indexer::Parser::GenBankParser
- Bio::FlatFileIndex::Indexer::Parser::GenPeptParser
- Bio::FlatFileIndex::Indexer::Parser::MaXMLClusterParser
- Bio::FlatFileIndex::Indexer::Parser::MaXMLSequenceParser
- Bio::FlatFileIndex::Indexer::Parser::PDBChemicalComponentParser
- Bio::FlatFileIndex::Indexer::Parser::SPTRParser
- Bio::FlatFileIndex::Indexer::Parser::TemplateParser
- Bio::FlatFileIndex::NameSpaces
- Bio::FlatFileIndex::Results
- Bio::FlatFileIndex::Template
- Bio::FlatFileIndex::Template::NameSpace
- Bio::GCG
- Bio::GCG::Msf
- Bio::GCG::Seq
- Bio::GFF
- Bio::GFF::GFF2
- Bio::GFF::GFF2::Escape
- Bio::GFF::GFF2::MetaData
- Bio::GFF::GFF2::Record
- Bio::GFF::GFF2::Record::Value
- Bio::GFF::GFF3
- Bio::GFF::GFF3::Escape
- Bio::GFF::GFF3::Record
- Bio::GFF::GFF3::Record::Gap
- Bio::GFF::GFF3::Record::Gap::Code
- Bio::GFF::GFF3::Record::Target
- Bio::GFF::GFF3::RecordBoundary
- Bio::GFF::GFF3::SequenceRegion
- Bio::GFF::Record
- Bio::GO
- Bio::GO::External2go
- Bio::GO::GeneAssociation
- Bio::GO::Ontology
- Bio::GenBank
- Bio::GenBank::Locus
- Bio::GenPept
- Bio::GenPept::Locus
- Bio::Genscan
- Bio::Genscan::Report
- Bio::Genscan::Report::Exon
- Bio::Genscan::Report::Gene
- Bio::HGC
- Bio::HGC::HiGet
- Bio::HMMER
- Bio::HMMER::Report
- Bio::HMMER::Report::Hit
- Bio::HMMER::Report::Hsp
- Bio::Hinv
- Bio::Hinv::Acc2hit
- Bio::Hinv::Common
- Bio::Hinv::Hit2acc
- Bio::Hinv::HitCnt
- Bio::Hinv::HitDefinition
- Bio::Hinv::HitPubmedId
- Bio::Hinv::HitXML
- Bio::Hinv::Hix2hit
- Bio::Hinv::HixCnt
- Bio::Hinv::HixRepresent
- Bio::Hinv::HixXML
- Bio::Hinv::IdSearch
- Bio::Hinv::KeywordSearch
- Bio::Iprscan
- Bio::Iprscan::Report
- Bio::Iprscan::Report::Match
- Bio::KEGG
- Bio::KEGG::API
- Bio::KEGG::BRITE
- Bio::KEGG::COMPOUND
- Bio::KEGG::Common
- Bio::KEGG::Common::DblinksAsHash
- Bio::KEGG::Common::GenesAsHash
- Bio::KEGG::Common::ModulesAsHash
- Bio::KEGG::Common::OrthologsAsHash
- Bio::KEGG::Common::PathwaysAsHash
- Bio::KEGG::Common::References
- Bio::KEGG::Common::StringsAsHash
- Bio::KEGG::DRUG
- Bio::KEGG::ENZYME
- Bio::KEGG::EXPRESSION
- Bio::KEGG::GENES
- Bio::KEGG::GENOME
- Bio::KEGG::GLYCAN
- Bio::KEGG::KGML
- Bio::KEGG::KGML::Entry
- Bio::KEGG::KGML::Graphics
- Bio::KEGG::KGML::Product
- Bio::KEGG::KGML::Reaction
- Bio::KEGG::KGML::Relation
- Bio::KEGG::KGML::Substrate
- Bio::KEGG::KGML::SubstrateProduct
- Bio::KEGG::Keggtab
- Bio::KEGG::Keggtab::DB
- Bio::KEGG::MODULE
- Bio::KEGG::ORTHOLOGY
- Bio::KEGG::PATHWAY
- Bio::KEGG::REACTION
- Bio::KEGG::Taxonomy
- Bio::KEGGDB
- Bio::LITDB
- Bio::Lasergene
- Bio::Location
- Bio::Locations
- Bio::MAFFT
- Bio::MAFFT::Report
- Bio::MEDLINE
- Bio::Map
- Bio::Map::ActsLikeMap
- Bio::Map::ActsLikeMarker
- Bio::Map::Mapping
- Bio::Map::Marker
- Bio::Map::SimpleMap
- Bio::Meme
- Bio::Meme::Mast
- Bio::Meme::Mast::Report
- Bio::Meme::Motif
- Bio::Muscle
- Bio::Muscle::DEFAULT_PARSER
- Bio::NBRF
- Bio::NCBI
- Bio::NCBI::REST
- Bio::NCBI::REST::EFetch
- Bio::NCBI::REST::EFetch::Methods
- Bio::NCBI::REST::ESearch
- Bio::NCBI::REST::ESearch::Methods
- Bio::NCBI::SOAP
- Bio::NCBI::SOAP::EFetch
- Bio::NCBI::SOAP::EFetchLite
- Bio::NCBI::SOAP::EUtils
- Bio::NCBI::SOAP::EUtilsLite
- Bio::NCBIDB
- Bio::NCBIDB::Common
- Bio::Newick
- Bio::Newick::ParseError
- Bio::Nexus
- Bio::Nexus::CharactersBlock
- Bio::Nexus::DataBlock
- Bio::Nexus::DistancesBlock
- Bio::Nexus::GenericBlock
- Bio::Nexus::NexusMatrix
- Bio::Nexus::NexusMatrix::NexusMatrixError
- Bio::Nexus::NexusParseError
- Bio::Nexus::TaxaBlock
- Bio::Nexus::TreesBlock
- Bio::Nexus::Util
- Bio::NucleicAcid
- Bio::NucleicAcid::Data
- Bio::PAML
- Bio::PAML::Baseml
- Bio::PAML::Baseml::Report
- Bio::PAML::Codeml
- Bio::PAML::Codeml::Model
- Bio::PAML::Codeml::PositiveSite
- Bio::PAML::Codeml::PositiveSites
- Bio::PAML::Codeml::Rates
- Bio::PAML::Codeml::Report
- Bio::PAML::Codeml::ReportError
- Bio::PAML::Codeml::ReportSingle
- Bio::PAML::Common
- Bio::PAML::Common::Report
- Bio::PAML::Yn00
- Bio::PAML::Yn00::Report
- Bio::PDB
- Bio::PDB::AtomFinder
- Bio::PDB::Chain
- Bio::PDB::ChainFinder
- Bio::PDB::ChemicalComponent
- Bio::PDB::ChemicalComponent::Record
- Bio::PDB::Coordinate
- Bio::PDB::DataType
- Bio::PDB::DataType::ConstLikeMethod
- Bio::PDB::DataType::Pdb_AChar
- Bio::PDB::DataType::Pdb_Atom
- Bio::PDB::DataType::Pdb_Character
- Bio::PDB::DataType::Pdb_Date
- Bio::PDB::DataType::Pdb_IDcode
- Bio::PDB::DataType::Pdb_Integer
- Bio::PDB::DataType::Pdb_LString
- Bio::PDB::DataType::Pdb_List
- Bio::PDB::DataType::Pdb_Real
- Bio::PDB::DataType::Pdb_Residue_name
- Bio::PDB::DataType::Pdb_SList
- Bio::PDB::DataType::Pdb_Specification_list
- Bio::PDB::DataType::Pdb_String
- Bio::PDB::DataType::Pdb_StringRJ
- Bio::PDB::DataType::Pdb_SymOP
- Bio::PDB::HetatmFinder
- Bio::PDB::Heterogen
- Bio::PDB::HeterogenFinder
- Bio::PDB::Model
- Bio::PDB::ModelFinder
- Bio::PDB::Record
- Bio::PDB::Record::ANISOU
- Bio::PDB::Record::ATOM
- Bio::PDB::Record::HETATM
- Bio::PDB::Record::Jrnl
- Bio::PDB::Record::Remark1
- Bio::PDB::Record::Remark2
- Bio::PDB::Residue
- Bio::PDB::ResidueFinder
- Bio::PDB::Utils
- Bio::PROSITE
- Bio::PSORT
- Bio::PSORT::CGIDriver
- Bio::PSORT::IPSORT
- Bio::PSORT::PSORT1
- Bio::PSORT::PSORT1::Remote
- Bio::PSORT::PSORT1::Report
- Bio::PSORT::PSORT2
- Bio::PSORT::PSORT2::Remote
- Bio::PSORT::PSORT2::Report
- Bio::PSORT::PSORTB
- Bio::PSORT::WoLF_PSORT
- Bio::PTS1
- Bio::PTS1::Report
- Bio::Pathway
- Bio::Phylip
- Bio::Phylip::DistanceMatrix
- Bio::Phylip::PhylipFormat
- Bio::PhyloXML
- Bio::PhyloXML::Accession
- Bio::PhyloXML::Annotation
- Bio::PhyloXML::BinaryCharacters
- Bio::PhyloXML::BranchColor
- Bio::PhyloXML::CladeRelation
- Bio::PhyloXML::Confidence
- Bio::PhyloXML::Date
- Bio::PhyloXML::Distribution
- Bio::PhyloXML::DomainArchitecture
- Bio::PhyloXML::Events
- Bio::PhyloXML::Id
- Bio::PhyloXML::Node
- Bio::PhyloXML::Other
- Bio::PhyloXML::Parser
- Bio::PhyloXML::Point
- Bio::PhyloXML::Polygon
- Bio::PhyloXML::Property
- Bio::PhyloXML::ProteinDomain
- Bio::PhyloXML::Reference
- Bio::PhyloXML::Sequence
- Bio::PhyloXML::SequenceRelation
- Bio::PhyloXML::Taxonomy
- Bio::PhyloXML::Tree
- Bio::PhyloXML::Uri
- Bio::PhyloXML::Writer
- Bio::Probcons
- Bio::PubMed
- Bio::REBASE
- Bio::RefSeq
- Bio::Reference
- Bio::References
- Bio::Registry
- Bio::Registry::DB
- Bio::RestrictionEnzyme
- Bio::RestrictionEnzyme::Analysis
- Bio::RestrictionEnzyme::CutSymbol
- Bio::RestrictionEnzyme::CutSymbol::CutSymbol__
- Bio::RestrictionEnzyme::DenseIntArray
- Bio::RestrictionEnzyme::DoubleStranded
- Bio::RestrictionEnzyme::DoubleStranded::AlignedStrands
- Bio::RestrictionEnzyme::DoubleStranded::CutLocationPair
- Bio::RestrictionEnzyme::DoubleStranded::CutLocationPairInEnzymeNotation
- Bio::RestrictionEnzyme::DoubleStranded::CutLocations
- Bio::RestrictionEnzyme::DoubleStranded::CutLocationsInEnzymeNotation
- Bio::RestrictionEnzyme::DoubleStranded::EnzymeAction
- Bio::RestrictionEnzyme::Fragments
- Bio::RestrictionEnzyme::Range
- Bio::RestrictionEnzyme::Range::CutRange
- Bio::RestrictionEnzyme::Range::CutRanges
- Bio::RestrictionEnzyme::Range::HorizontalCutRange
- Bio::RestrictionEnzyme::Range::SequenceRange
- Bio::RestrictionEnzyme::Range::SequenceRange::CalculatedCuts
- Bio::RestrictionEnzyme::Range::SequenceRange::Fragment
- Bio::RestrictionEnzyme::Range::SequenceRange::Fragments
- Bio::RestrictionEnzyme::Range::VerticalCutRange
- Bio::RestrictionEnzyme::SingleStrand
- Bio::RestrictionEnzyme::SingleStrand::CutLocationsInEnzymeNotation
- Bio::RestrictionEnzyme::SingleStrandComplement
- Bio::RestrictionEnzyme::SortedNumArray
- Bio::RestrictionEnzyme::StringFormatting
- Bio::SOAPWSDL
- Bio::SOFT
- Bio::SOSUI
- Bio::SOSUI::Report
- Bio::SOSUI::Report::TMH
- Bio::SPTR
- Bio::SQL
- Bio::SQL::Biodatabase
- Bio::SQL::Bioentry
- Bio::SQL::BioentryDbxref
- Bio::SQL::BioentryPath
- Bio::SQL::BioentryQualifierValue
- Bio::SQL::BioentryReference
- Bio::SQL::BioentryRelationship
- Bio::SQL::Biosequence
- Bio::SQL::Comment
- Bio::SQL::Dbxref
- Bio::SQL::DbxrefQualifierValue
- Bio::SQL::DummyBase
- Bio::SQL::Location
- Bio::SQL::LocationQualifierValue
- Bio::SQL::Ontology
- Bio::SQL::Reference
- Bio::SQL::Seqfeature
- Bio::SQL::SeqfeatureDbxref
- Bio::SQL::SeqfeaturePath
- Bio::SQL::SeqfeatureQualifierValue
- Bio::SQL::SeqfeatureRelationship
- Bio::SQL::Sequence
- Bio::SQL::Taxon
- Bio::SQL::TaxonName
- Bio::SQL::Term
- Bio::SQL::TermDbxref
- Bio::SQL::TermPath
- Bio::SQL::TermRelationship
- Bio::SQL::TermRelationshipTerm
- Bio::SQL::TermSynonym
- Bio::SangerChromatogram
- Bio::Scf
- Bio::Sequence
- Bio::Sequence::AA
- Bio::Sequence::Adapter
- Bio::Sequence::Adapter::BioSQL
- Bio::Sequence::Adapter::EMBL
- Bio::Sequence::Adapter::FastaFormat
- Bio::Sequence::Adapter::FastaNumericFormat
- Bio::Sequence::Adapter::Fastq
- Bio::Sequence::Adapter::GenBank
- Bio::Sequence::Adapter::SangerChromatogram
- Bio::Sequence::Common
- Bio::Sequence::DBLink
- Bio::Sequence::Format
- Bio::Sequence::Format::AminoFormatter
- Bio::Sequence::Format::Formatter
- Bio::Sequence::Format::Formatter::Fasta
- Bio::Sequence::Format::Formatter::Fasta_ncbi
- Bio::Sequence::Format::Formatter::Fasta_numeric
- Bio::Sequence::Format::Formatter::Fastq
- Bio::Sequence::Format::Formatter::Fastq_illumina
- Bio::Sequence::Format::Formatter::Fastq_sanger
- Bio::Sequence::Format::Formatter::Fastq_solexa
- Bio::Sequence::Format::Formatter::Qual
- Bio::Sequence::Format::Formatter::Raw
- Bio::Sequence::Format::FormatterBase
- Bio::Sequence::Format::INSDFeatureHelper
- Bio::Sequence::Format::NucFormatter
- Bio::Sequence::Format::NucFormatter::Embl
- Bio::Sequence::Format::NucFormatter::Genbank
- Bio::Sequence::NA
- Bio::Sequence::NA::MidiTrack
- Bio::Sequence::QualityScore
- Bio::Sequence::QualityScore::Converter
- Bio::Sequence::QualityScore::Phred
- Bio::Sequence::QualityScore::Solexa
- Bio::Sequence::SequenceMasker
- Bio::Shell
- Bio::Shell::ColoredCodonTable
- Bio::Shell::Core
- Bio::Shell::Demo
- Bio::Shell::Ghost
- Bio::Shell::Irb
- Bio::Shell::Private
- Bio::Shell::Script
- Bio::Shell::Setup
- Bio::Shell::Web
- Bio::Shell::Web::Results
- Bio::SiRNA
- Bio::SiRNA::Pair
- Bio::SiRNA::ShRNA
- Bio::Sim4
- Bio::Sim4::Report
- Bio::Sim4::Report::Hit
- Bio::Sim4::Report::Segment
- Bio::Sim4::Report::SegmentPair
- Bio::Sim4::Report::SeqDesc
- Bio::Spidey
- Bio::Spidey::Report
- Bio::Spidey::Report::Hit
- Bio::Spidey::Report::Segment
- Bio::Spidey::Report::SegmentPair
- Bio::Spidey::Report::SeqDesc
- Bio::SwissProt
- Bio::TMHMM
- Bio::TMHMM::Report
- Bio::TMHMM::TMH
- Bio::TRANSFAC
- Bio::TRANSFAC::CELL
- Bio::TRANSFAC::CLASS
- Bio::TRANSFAC::FACTOR
- Bio::TRANSFAC::GENE
- Bio::TRANSFAC::MATRIX
- Bio::TRANSFAC::SITE
- Bio::TargetP
- Bio::TargetP::Report
- Bio::Taxonomy
- Bio::Tcoffee
- Bio::Tcoffee::DEFAULT_PARSER
- Bio::TogoWS
- Bio::TogoWS::AccessWait
- Bio::TogoWS::REST
- Bio::TrEMBL
- Bio::Tree
- Bio::Tree::Edge
- Bio::Tree::NoPathError
- Bio::Tree::Node
- Bio::UniProt
- BiorubyController
- BiorubyGenerator
- BiorubyHelper
- Hash
- Object
- String

No matching classes.

# Bio::FlatFile::AutoDetect

AutoDetect automatically determines database class of given data.

### Constants

BottomRule

  Special element that is always bottom priority.

TopRule

  Special element that is always top priority.

### Public Class Methods

[](*arg) click to toggle source

make a new autodetect object

    # File lib/bio/io/flatfile/autodetection.rb, line 361
    def self.[](*arg)
      a = self.new
      arg.each { |e| a.add(e) }
      a
    end

default() click to toggle source

returns the default autodetect object

    # File lib/bio/io/flatfile/autodetection.rb, line 348
    def self.default
      unless @default then
        @default = self.make_default
      end
      @default
    end

default=(ad) click to toggle source

sets the default autodetect object.

    # File lib/bio/io/flatfile/autodetection.rb, line 356
    def self.default=(ad)
      @default = ad
    end

make_default() click to toggle source

make a default of default autodetect object

    # File lib/bio/io/flatfile/autodetection.rb, line 368
    def self.make_default
      a = self[
        genbank  = RuleRegexp[ 'Bio::GenBank',
          /^LOCUS       .+ bp .*[a-z]*[DR]?NA/ ],
        genpept  = RuleRegexp[ 'Bio::GenPept',
          /^LOCUS       .+ aa .+/ ],
        medline  = RuleRegexp[ 'Bio::MEDLINE',
          /^PMID\- [0-9]+$/ ],
        embl     = RuleRegexp[ 'Bio::EMBL',
          /^ID   .+\; .*(DNA|RNA|XXX)\;/ ],
        sptr     = RuleRegexp2[ 'Bio::SPTR',
          /^ID   .+\; *PRT\;/,
          /^ID   [-A-Za-z0-9_\.]+ .+\; *[0-9]+ *AA\./ ],
        prosite  = RuleRegexp[ 'Bio::PROSITE',
          /^ID   [-A-Za-z0-9_\.]+\; (PATTERN|RULE|MATRIX)\.$/ ],
        transfac = RuleRegexp[ 'Bio::TRANSFAC',
          /^AC  [-A-Za-z0-9_\.]+$/ ],

        aaindex  = RuleProc.new('Bio::AAindex1', 'Bio::AAindex2') do |text|
          if /^H [-A-Z0-9_\.]+$/ =~ text then
            if text =~ /^M [rc]/ then
              Bio::AAindex2
            elsif text =~ /^I    A\/L/ then
              Bio::AAindex1
            else
              false #fail to determine
            end
          else
            nil
          end
        end,

        litdb    = RuleRegexp[ 'Bio::LITDB',
          /^CODE        [0-9]+$/ ],
        pathway_module = RuleRegexp[ 'Bio::KEGG::MODULE',
          /^ENTRY       .+ Pathway\s+Module\s*/ ],
        pathway  = RuleRegexp[ 'Bio::KEGG::PATHWAY',
          /^ENTRY       .+ Pathway\s*/ ],
        brite    = RuleRegexp[ 'Bio::KEGG::BRITE',
          /^Entry           [A-Z0-9]+/ ],
        orthology = RuleRegexp[ 'Bio::KEGG::ORTHOLOGY',
          /^ENTRY       .+ KO\s*/ ],
        drug     = RuleRegexp[ 'Bio::KEGG::DRUG',
          /^ENTRY       .+ Drug\s*/ ],
        glycan   = RuleRegexp[ 'Bio::KEGG::GLYCAN',
          /^ENTRY       .+ Glycan\s*/ ],
        enzyme   = RuleRegexp2[ 'Bio::KEGG::ENZYME',
          /^ENTRY       EC [0-9\.]+$/,
          /^ENTRY       .+ Enzyme\s*/
        ],
        compound = RuleRegexp2[ 'Bio::KEGG::COMPOUND',
          /^ENTRY       C[A-Za-z0-9\._]+$/,
          /^ENTRY       .+ Compound\s*/
        ],
        reaction = RuleRegexp2[ 'Bio::KEGG::REACTION',
          /^ENTRY       R[A-Za-z0-9\._]+$/,
          /^ENTRY       .+ Reaction\s*/
        ],
        genes    = RuleRegexp[ 'Bio::KEGG::GENES',
          /^ENTRY       .+ (CDS|gene|.*RNA|Contig) / ],
        genome   = RuleRegexp[ 'Bio::KEGG::GENOME',
          /^ENTRY       [a-z]+$/ ],

        fantom = RuleProc.new('Bio::FANTOM::MaXML::Cluster',
                              'Bio::FANTOM::MaXML::Sequence') do |text|
          if /\<\!DOCTYPE\s+maxml\-(sequences|clusters)\s+SYSTEM/ =~ text
            case $1
            when 'clusters'
              Bio::FANTOM::MaXML::Cluster
            when 'sequences'
              Bio::FANTOM::MaXML::Sequence
            else
              nil #unknown
            end
          else
            nil
          end
        end,

        pdb = RuleRegexp[ 'Bio::PDB',
          /^HEADER    .{40}\d\d\-[A-Z]{3}\-\d\d   [0-9A-Z]{4}/ ],
        het = RuleRegexp[ 'Bio::PDB::ChemicalComponent',
          /^RESIDUE +.+ +\d+\s*$/ ],

        clustal = RuleRegexp2[ 'Bio::ClustalW::Report',
        /^CLUSTAL .*\(.*\).*sequence +alignment/,
        /^CLUSTAL FORMAT for T-COFFEE/ ],

        gcg_msf = RuleRegexp[ 'Bio::GCG::Msf',
        /^!!(N|A)A_MULTIPLE_ALIGNMENT .+/ ],

        gcg_seq = RuleRegexp[ 'Bio::GCG::Seq',
        /^!!(N|A)A_SEQUENCE .+/ ],

        blastxml = RuleRegexp[ 'Bio::Blast::Report',
          /\<\!DOCTYPE BlastOutput PUBLIC / ],
        wublast  = RuleRegexp[ 'Bio::Blast::WU::Report',
          /^BLAST.? +[\-\.\w]+\-WashU +\[[\-\.\w ]+\]/ ],
        wutblast = RuleRegexp[ 'Bio::Blast::WU::Report_TBlast',
          /^TBLAST.? +[\-\.\w]+\-WashU +\[[\-\.\w ]+\]/ ],
        blast    = RuleRegexp[ 'Bio::Blast::Default::Report',
          /^BLAST.? +[\-\.\w]+ +\[[\-\.\w ]+\]/ ],
        tblast   = RuleRegexp[ 'Bio::Blast::Default::Report_TBlast',
          /^TBLAST.? +[\-\.\w]+ +\[[\-\.\w ]+\]/ ],
        rpsblast   = RuleRegexp[ 'Bio::Blast::RPSBlast::Report',
          /^RPS\-BLAST.? +[\-\.\w]+ +\[[\-\.\w ]+\]/ ],

        blat   = RuleRegexp[ 'Bio::Blat::Report',
          /^psLayout version \d+/ ],
        spidey = RuleRegexp[ 'Bio::Spidey::Report',
          /^\-\-SPIDEY version .+\-\-$/ ],
        hmmer  = RuleRegexp[ 'Bio::HMMER::Report',
          /^HMMER +\d+\./ ],
        sim4   = RuleRegexp[ 'Bio::Sim4::Report',
          /^seq1 \= .*\, \d+ bp(\r|\r?\n)seq2 \= .*\, \d+ bp(\r|\r?\n)/ ],

        fastq  = RuleRegexp[ 'Bio::Fastq',
          /^\@.+(?:\r|\r?\n)(?:[^\@\+].*(?:\r|\r?\n))+/ ],

        fastaformat = RuleProc.new('Bio::FastaFormat',
                                   'Bio::NBRF',
                                   'Bio::FastaNumericFormat') do |text|
          if /^>.+$/ =~ text
            case text
            when /^>([PF]1|[DR][LC]|N[13]|XX)\;.+/
              Bio::NBRF
            when /^>.+$\s+(^\#.*$\s*)*^\s*\d*\s*[-a-zA-Z_\.\[\]\(\)\*\+\$]+/
                Bio::FastaFormat
            when /^>.+$\s+^\s*\d+(\s+\d+)*\s*$/
              Bio::FastaNumericFormat
            else
              false
            end
          else
            nil
          end
        end
      ]

      # dependencies
      # NCBI
      genbank.is_prior_to genpept
      # EMBL/UniProt
      embl.is_prior_to sptr
      sptr.is_prior_to prosite
      prosite.is_prior_to transfac
      # KEGG
      #aaindex.is_prior_to litdb
      #litdb.is_prior_to brite
      pathway_module.is_prior_to pathway
      pathway.is_prior_to brite
      brite.is_prior_to orthology
      orthology.is_prior_to drug
      drug.is_prior_to glycan
      glycan.is_prior_to enzyme
      enzyme.is_prior_to compound
      compound.is_prior_to reaction
      reaction.is_prior_to genes
      genes.is_prior_to genome
      # PDB
      pdb.is_prior_to het
      # BLAST
      wublast.is_prior_to wutblast
      wutblast.is_prior_to blast
      blast.is_prior_to tblast
      # Fastq
      BottomRule.is_prior_to(fastq)
      fastq.is_prior_to(fastaformat)
      # FastaFormat
      BottomRule.is_prior_to(fastaformat)

      # for debug
      #debug_first = RuleDebug.new('debug_first')
      #a.add(debug_first)
      #debug_first.is_prior_to(TopRule)

      ## for debug
      #debug_last = RuleDebug.new('debug_last')
      #a.add(debug_last)
      #BottomRule.is_prior_to(debug_last)
      #fastaformat.is_prior_to(debug_last)

      a.rehash
      return a
    end

new() click to toggle source

Creates a new Autodetect object

    # File lib/bio/io/flatfile/autodetection.rb, line 226
    def initialize
      # stores autodetection rules.
      @rules = Hash.new
      # stores elements (cache)
      @elements = nil
      self.add(TopRule)
      self.add(BottomRule)
    end

### Public Instance Methods

add(elem) click to toggle source

Adds a new element. Returns elem.

    # File lib/bio/io/flatfile/autodetection.rb, line 237
    def add(elem)
      raise 'element name conflicts' if @rules[elem.name]
      @elements = nil
      @rules[elem.name] = elem
      elem
    end

autodetect(text, meta = {}) click to toggle source

Autodetect from the text. Returns a database class if succeeded. Returns nil if failed.

    # File lib/bio/io/flatfile/autodetection.rb, line 305
    def autodetect(text, meta = {})
      r = nil
      elements.each do |e|
        #$stderr.puts e.name
        r = e.guess(text, meta)
        break if r
      end
      r
    end

autodetect_flatfile(ff, lines = 31) click to toggle source

autodetect from the FlatFile object. Returns a database class if succeeded. Returns nil if failed.

    # File lib/bio/io/flatfile/autodetection.rb, line 318
    def autodetect_flatfile(ff, lines = 31)
      meta = {}
      stream = ff.instance_eval { @stream }
      begin
        path = stream.path
      rescue NameError
      end
      if path then
        meta[:path] = path
        # call autodetect onece with meta and without any read action
        if r = self.autodetect(stream.prefetch_buffer, meta)
          return r
        end
      end
      # reading stream
      1.upto(lines) do |x|
        break unless line = stream.prefetch_gets
        if line.strip.size > 0 then
          if r = self.autodetect(stream.prefetch_buffer, meta)
            return r
          end
        end
      end
      return nil
    end

each_rule() click to toggle source

Iterates over each element.

    # File lib/bio/io/flatfile/autodetection.rb, line 298
    def each_rule(&x) #:yields: elem
      elements.each(&x)
    end

elements() click to toggle source

Returns current elements as an array whose order fulfills all elements' priorities.

    # File lib/bio/io/flatfile/autodetection.rb, line 275
    def elements
      unless @elements
        ary = tsort
        ary.reverse!
        @elements = ary
      end
      @elements
    end

inspect() click to toggle source

visualizes the object (mainly for debug)

    # File lib/bio/io/flatfile/autodetection.rb, line 291
    def inspect
      "<#{self.class.to_s} " +
        self.elements.collect { |e| e.name.inspect }.join(' ') +
        ">"
    end

rehash() click to toggle source

rebuilds the object and clears internal cache.

    # File lib/bio/io/flatfile/autodetection.rb, line 285
    def rehash
      @rules.rehash
      @elements = nil
    end

tsort_each_child(elem) click to toggle source

(required by TSort.) For a given element, yields each child (= lower priority elements) of the element.

    # File lib/bio/io/flatfile/autodetection.rb, line 253
    def tsort_each_child(elem)
      if elem == TopRule then
        @rules.each_value do |e|
          yield e unless e == TopRule or
            e.lower_priority_elements.index(TopRule)
        end
      elsif elem == BottomRule then
        @rules.each_value do |e|
          yield e if e.higher_priority_elements.index(BottomRule)
        end
      else
        elem.lower_priority_elements.each do |e|
          yield e if e != BottomRule
        end
        unless elem.higher_priority_elements.index(BottomRule)
          yield BottomRule
        end
      end
    end

tsort_each_node(&x) click to toggle source

(required by TSort.) For all elements, yields each element.

    # File lib/bio/io/flatfile/autodetection.rb, line 246
    def tsort_each_node(&x)
      @rules.each_value(&x)
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.