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}