ggetrs_string/
launch.rs

1use anyhow::Result;
2
3use super::{
4    string_annotations, string_enrichment, string_homology, string_interactions, string_mapping,
5    string_network, string_ppi_enrichment,
6};
7use crate::{
8    cli::{
9        OutputArgs, StringFunctionalAnnotationArgs, StringFunctionalEnrichmentArgs,
10        StringHomologyArgs, StringInteractionsArgs, StringMappingArgs, StringNetworkArgs,
11        StringPpiEnrichmentArgs,
12    },
13    utils::write_dataframe,
14};
15
16pub fn launch_string_network(args: &StringNetworkArgs, output: &OutputArgs) -> Result<()> {
17    let mut dataframe = string_network(args)?;
18    let output_handle = output.get_writer()?;
19    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
20    Ok(())
21}
22
23pub fn launch_string_homology(args: &StringHomologyArgs, output: &OutputArgs) -> Result<()> {
24    let mut dataframe = string_homology(args)?;
25    let output_handle = output.get_writer()?;
26    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
27    Ok(())
28}
29
30pub fn launch_string_mapping(args: &StringMappingArgs, output: &OutputArgs) -> Result<()> {
31    let mut dataframe = string_mapping(args)?;
32    let output_handle = output.get_writer()?;
33    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
34    Ok(())
35}
36
37pub fn launch_string_interactions(
38    args: &StringInteractionsArgs,
39    output: &OutputArgs,
40) -> Result<()> {
41    let mut dataframe = string_interactions(args)?;
42    let output_handle = output.get_writer()?;
43    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
44    Ok(())
45}
46
47pub fn launch_string_enrichment(
48    args: &StringFunctionalEnrichmentArgs,
49    output: &OutputArgs,
50) -> Result<()> {
51    let mut dataframe = string_enrichment(args)?;
52    let output_handle = output.get_writer()?;
53    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
54    Ok(())
55}
56
57pub fn launch_string_annotations(
58    args: &StringFunctionalAnnotationArgs,
59    output: &OutputArgs,
60) -> Result<()> {
61    let mut dataframe = string_annotations(args)?;
62    let output_handle = output.get_writer()?;
63    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
64    Ok(())
65}
66
67pub fn launch_string_ppi_enrichment(
68    args: &StringPpiEnrichmentArgs,
69    output: &OutputArgs,
70) -> Result<()> {
71    let mut dataframe = string_ppi_enrichment(args)?;
72    let output_handle = output.get_writer()?;
73    write_dataframe(output_handle, &mut dataframe, output.format.into())?;
74    Ok(())
75}