---
name: "Boulder::Medline"
section: "3pm"
platform: "linux"
package: "libboulder-perl"
version: "1.30-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Boulder::Medline/3pm"
---

# Boulder::Medline(3pm)

Fetch Medline data records as parsed Boulder Stones

## NAME

Boulder::Medline - Fetch Medline data records as parsed Boulder Stones

## SYNOPSIS

```
  # parse a file of Medline records
  $ml = new Boulder::Medline(-accessor=>'File',
                             -param => '/data/medline/medline.txt');
  while (my $s = $ml->get) {
    print $s->Identifier;
    print $s->Abstract;
  }
  # parse flatfile  yourself
  open (ML,"/data/medline/medline.txt");
  local $/ = "*RECORD*";
  while (<ML>) {
     my $s = Boulder::Medline->parse($_);
     # etc.
  }
```

## DESCRIPTION

Boulder::Medline provides retrieval and parsing services for Medline records

Boulder::Medline provides retrieval and parsing services for NCBI Medline records.  It returns Medline entries in Stone format, allowing easy access to the various fields and values. Boulder::Medline is a descendent of Boulder::Stream, and provides a stream-like interface to a series of Stone objects.

Access to Medline is provided by one *accessors*, which give access to  local Medline database.  When you create a new Boulder::Medline stream, you provide the accessors, along with accessor-specific parameters that control what entries to fetch.  The accessors is:

- File

  This provides access to local Medline entries by reading from a flat file. The stream will return a Stone corresponding to each of the entries in  the file, starting from the top of the file and working downward.  The  parameter is the path to the local file.

It is also possible to parse a single Medline entry from a text string  stored in a scalar variable, returning a Stone object.

### Boulder::Medline methods

This section lists the public methods that the *Boulder::Medline* class makes available.

- **new()**

  ```
     # Local fetch via File
     $ml=new Boulder::Medline(-accessor  =>  'File',
                              -param     =>  '/data/medline/medline.txt');
  ```

  The **new()** method creates a new *Boulder::Medline* stream on the accessor provided.  The only possible accessors is **File**.   If successful, the method returns the stream object.  Otherwise it returns undef.

  **new()** takes the following arguments:

  ```
          -accessor       Name of the accessor to use
          -param          Parameters to pass to the accessor
  ```

  Specify the accessor to use with the **-accessor** argument.  If not specified, it defaults to **File**.

  **-param** is an accessor-specific argument.  The possibilities is:

  For **File**, the **-param** argument must point to a string-valued scalar, which will be interpreted as the path to the file to read Medline entries from.

- **get()**

  The **get()** method is inherited from *Boulder::Stream*, and simply returns the next parsed Medline Stone, or undef if there is nothing more to fetch.  It has the same semantics as the parent class, including the ability to restrict access to certain top-level tags.

- **put()**

  The **put()** method is inherited from the parent Boulder::Stream class, and will write the passed Stone to standard output in Boulder format. This means that it is currently not possible to write a Boulder::Medline object back into Medline flatfile form.

## OUTPUT TAGS

The tags returned by the parsing operation are taken from the MEDLARS definition file MEDDOC.DOC

### Top-Level Tags

These are tags that appear at the top level of the parsed Medline entry.

```
    ABSTRACT
    ABSTRACT AUTHOR
    ADDRESS
    AUTHOR
    CALL NUMBER
    CAS REGISTRY/EC NUMBER
    CLASS UPDATE DATE
    COMMENTS
    COUNTRY
    DATE OF ENTRY
    DATE OF PUBLICATION
    ENGLISH ABSTRACT INDICATOR
    ENTRY MONTH
    GENE SYMBOL
    ID NUMBER
    INDEXING PRIORITY
    ISSN
    ISSUE/PART/SUPPLEMENT
    JOURNAL SUBSET
    JOURNAL TITLE CODE
    LANGUAGE
    LAST REVISION DATE
    MACHINE-READABLE IDENTIFIER
    MeSH HEADING
    NO-AUTHOR INDICATOR
    NOT FOR PUBLICATION
    NUMBER OF REFERENCES
    PAGINATION
    PERSONAL NAME AS SUBJECT
    PUBLICATION TYPE
    RECORD ORIGINATOR
    SECONDARY SOURCE ID
    SPECIAL LIST INDICATOR
    TITLE
    TITLE ABBREVIATION
    TRANSLITERATED/VERNACULAR  TITLE
    UNIQUE IDENTIFIER
    VOLUME ISSUE
```

- Identifier

  The Medline identifier of this entry.  Identifier is a single-value tag.

  Example:

  ```
        my $identifierNo = $s->Identifier;
  ```

- Title

  The Medline title for this entry.

  Example:\
         my `$titledef`=$s-\>Title;

## SEE ALSO

Boulder, Boulder::Blast, Boulder::Genbank

## AUTHOR

Lincoln Stein \<lstein@cshl.org\>. Luca I.G. Toldo \<luca.toldo@merck.de\>

Copyright (c) 1997 Lincoln D. Stein Copyright (c) 1999 Luca I.G. Toldo

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.  See DISCLAIMER.txt for disclaimers of warranty.
