---
name: "Bio::PopGen::IO"
section: "3pm"
platform: "linux"
package: "libbio-perl-perl"
version: "1.7.2-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Bio::PopGen::IO"
---

# Bio::PopGen::IO(3pm)

Input individual,marker,allele information

## NAME

Bio::PopGen::IO - Input individual,marker,allele information

## SYNOPSIS

```
  use Bio::PopGen::IO;
  my $io = Bio::PopGen::IO->new(-format => 'csv',
                                -file   => 'data.csv');
  # Some IO might support reading in a population at a time
  my @population;
  while( my $ind = $io->next_individual ) {
      push @population, $ind;
  }
```

## DESCRIPTION

This is a generic interface to reading in population genetic data (of which there really isn't too many standard formats).  This implementation makes it easy to provide your own parser for the data.  You need to only implement one function next\_individual.  You can also implement  next\_population if your data has explicit information about population memberhsip for the indidviduals.

## FEEDBACK

### 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 list.  Your participation is much appreciated.

```
  bioperl-l@bioperl.org                  - General discussion
  http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
```

### Support

Please direct usage questions or support issues to the mailing list:

*bioperl-l@bioperl.org*

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.

### Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:

```
  https://github.com/bioperl/bioperl-live/issues
```

## AUTHOR - Jason Stajich

Email jason-at-bioperl.org

## APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a \_

### new

```
 Title   : new
 Usage   : my $obj = Bio::PopGen::IO->new();
 Function: Builds a new Bio::PopGen::IO object
 Returns : an instance of Bio::PopGen::IO
 Args    :
```

### format

```
 Title   : format
 Usage   : $format = $stream->format()
 Function: Get the PopGen format
 Returns : PopGen format
 Args    : none
```

### next\_individual

```
 Title   : next_individual
 Usage   : my $ind = $popgenio->next_individual;
 Function: Retrieve the next individual from a dataset
 Returns : L<Bio::PopGen::IndividualI> object
 Args    : none
```

### next\_population

```
 Title   : next_population
 Usage   : my $pop = $popgenio->next_population;
 Function: Retrieve the next population from a dataset
 Returns : L<Bio::PopGen::PopulationI> object
 Args    : none
 Note    : Many implementation will not implement this
```

### write\_individual

```
 Title   : write_individual
 Usage   : $popgenio->write_individual($ind);
 Function: Write an individual out in the implementation format
 Returns : none
 Args    : L<Bio::PopGen::PopulationI> object(s)
```

### write\_population

```
 Title   : write_population
 Usage   : $popgenio->write_population($pop);
 Function: Write a population out in the implementation format
 Returns : none
 Args    : L<Bio::PopGen::PopulationI> object(s)
 Note    : Many implementation will not implement this
```

### newFh

```
 Title   : newFh
 Usage   : $fh = Bio::SeqIO->newFh(-file=>$filename,-format=>'Format')
 Function: does a new() followed by an fh()
 Example : $fh = Bio::SeqIO->newFh(-file=>$filename,-format=>'Format')
           $sequence = <$fh>;   # read a sequence object
           print $fh $sequence; # write a sequence object
 Returns : filehandle tied to the Bio::SeqIO::Fh class
 Args    :
```

See Bio::SeqIO::Fh

### fh

```
 Title   : fh
 Usage   : $obj->fh
 Function:
 Example : $fh = $obj->fh;      # make a tied filehandle
           $sequence = <$fh>;   # read a sequence object
           print $fh $sequence; # write a sequence object
 Returns : filehandle tied to Bio::SeqIO class
 Args    : none
```

### \_load\_format\_module

```
 Title   : _load_format_module
 Usage   : *INTERNAL Bio::PopGen::IO stuff*
 Function: Loads up (like use) a module at run time on demand
 Example :
 Returns :
 Args    :
```

### \_guess\_format

```
 Title   : _guess_format
 Usage   : $obj->_guess_format($filename)
 Function:
 Example :
 Returns : guessed format of filename (lower case)
 Args    :
```
