#bioinformatics #database #sequence-search

bin+lib placecare

A toolkit to quickly search for cis-acting regulatory elements using the PLACE database

4 releases

Uses new Rust 2024

new 0.1.3 May 3, 2025
0.1.2 May 3, 2025
0.1.1 May 3, 2025
0.1.0 May 3, 2025

#90 in Biology

Download history 253/week @ 2025-04-28

253 downloads per month

MIT license

365KB
960 lines

Version GitHub Build Status Crates.io Documentation License

Read documentation in other languages:

PLACE-CARE

placecare is a tool for predicting cis-acting elements based on string search algorithms using the PLACE database.

With placecare, you can:

  1. Upload sequence files to search for cis-acting elements.

  2. Quickly retrieve relevant information through PLACE database's id and ac (Data comes from the place.seq file provided by the official PLACE website)

Installation

If your computer has the Rust toolchain, you can install our command-line program with the following command:

cargo install placecare

If you don't have the Rust toolchain installed, you can also download our compiled binary files directly from GitHub's Release:

If you want to use our library, you just need to:

cargo add placecare

Usage

See more on bio-here/placecare

This section introduces how to use our library. The core functionality of placehere is written in the place_search module, I/O operations are written in the io module, and the place_desc module describes the PLACE data.

Search Elements

We provide multiple ways to input sequences, as shown below:

use placehere::io::RecordDesc;

let input = vec![RecordDesc::new("Gh_01", "TTATAGACTCGATGGCCGCGCGG")];
let input = RecordDesc::from_file("./input.fasta");
let input = RecordDesc::from_string("\
>Gh_01
ATATCCGGATGGCATGCTGATC
");
let input = RecordDesc::from_records(bio::io::fasta::Reader::new("./input.fasta"));

let mut f = File::open("input.txt").unwrap();
let input = RecordDesc::from_reader(f);

Then we can search:

use placecare::place_search::Search;

// Search for a single element
let result = Search::search_element(input).unwrap();

// Search for multiple elements
let result = Search::search_elements(input).unwrap();

You can view the definitions in the place_desc module to understand the output information.

Query Element Information

We can use the following methods to query element information in the PLACE database.

use biohere_placecare::search::Search;

The function will return a vector of Option<SeqDesc>
// for which is a result of the input sequence.
let e1: Vec<Option<SeqDesc>> = query_elements_by_id(&vec!["TATABOX1", "TATABOX2"]);
let e2: Vec<Option<SeqDesc>> = query_elements_by_ac(&vec!["S000023", "S000260"]);

Tips

IUPAC Ambiguous Bases

The PLACE database uses IUPAC ambiguous base symbols (Wikipedia) to represent multiple possible bases.

License

placecare is an open-source project under the MIT license. You are free to use, modify, and distribute this software, but please retain the original author's copyright notice and license information.

Dependencies

~22MB
~393K SLoC