babappa

v0.8.9 suspicious
4.0
Medium Risk

Simulation-trained branch-site selection support from user-supplied codon MSAs and trees

πŸ€– AI Analysis

Final verdict: SUSPICIOUS

The package exhibits some signs of potential risk, particularly due to shell execution patterns and obfuscated code, though it shows no direct evidence of malicious activities. Further scrutiny is recommended.

  • Shell risk detected
  • Code obfuscation observed
Per-check LLM notes
  • Network: No network calls detected, which is normal and expected.
  • Shell: Shell execution patterns detected might be for legitimate operations like system checks, but could also indicate potential risks if not properly documented.
  • Obfuscation: The code snippets suggest obfuscation around model evaluation and data handling, which may be intended to obscure logic but does not inherently indicate malicious intent.
  • Credentials: No patterns indicative of credential harvesting were detected in the provided code snippets.
  • Metadata: The maintainer has only one package, the repository lacks community engagement, but there are no clear malicious indicators.

πŸ“¦ Package Quality Overall: Low (4.6/10)

β—ˆ Medium Test Suite 6.0

Partial test coverage signals detected

  • Test runner config found: pyproject.toml
β—ˆ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (42983 chars)
β—‹ Low Contributing Guide 2.0

No contributing guide or governance files found

  • No CONTRIBUTING, CODE_OF_CONDUCT, or governance files found
β—ˆ Medium Type Annotations 5.0

Partial type annotation coverage

  • 705 type-annotated function signatures detected in source
β—ˆ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 24 commits in sinhakrishnendu/BABAPPA
  • Single author but highly active (24 commits)

πŸ”¬ Heuristic Checks

βœ“ Outbound Network Calls

No suspicious network call patterns found

⚠ Code Obfuscation score 6.0

Found 3 obfuscation pattern(s)

  • model, "eval"): model.eval() state.clear() state.update( {
  • return None, None model.eval() with torch.no_grad(): x = torch.from_numpy(X).
  • metadata_all = [] model.eval() with torch.no_grad(): for split in VALID_SPLIT
⚠ Shell / Subprocess Execution score 10.0

Found 6 shell execution pattern(s)

  • try: proc = subprocess.run( [executable, *args], check=
  • None: try: proc = subprocess.run( ["sysctl", "-n", "hw.memsize"], che
  • tdout: proc = subprocess.run( command, check=Fals
  • {prefix}"] proc = subprocess.run( command, check=False,
  • ] proc = subprocess.run( command, check=False,
  • , str(work_input)] proc = subprocess.run( command, check=False, stdout=subpro
βœ“ Credential Harvesting

No credential harvesting patterns detected

βœ“ Typosquatting

No typosquatting candidates detected

βœ“ Registered Email Domain

No author email provided

βœ“ Suspicious Page Links

All external links appear legitimate

⚠ Git Repository History score 2.5

Git history flags: Repository has zero stars and zero forks

  • Repository has zero stars and zero forks
⚠ Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Krishnendu Sinha" appears to have only 1 package on PyPI (new or inactive account)
βœ“ Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

πŸ’‘ AI App Starter Prompt

Use this prompt to build a project with babappa
Create a Python-based mini-application named 'BranchSiteExplorer' that leverages the 'babappa' package to analyze genetic data and identify specific evolutionary patterns within protein-coding genes. This tool will be particularly useful for researchers studying molecular evolution and adaptation. Here’s a detailed plan on how to build this application:

1. **Setup Environment**: Start by setting up a Python virtual environment and installing necessary packages including 'babappa', 'biopython', and 'matplotlib'. Ensure that your environment is configured correctly to handle large datasets efficiently.

2. **Data Input Module**: Develop a module that allows users to input their own Multiple Sequence Alignments (MSA) of codons and phylogenetic trees. Provide options for uploading files or pasting sequences directly into the interface. Validate the input data to ensure it meets the requirements of the 'babappa' package.

3. **Analysis Engine**: Utilize the core functionalities of the 'babappa' package to perform branch-site tests on the provided MSA and tree data. Implement functions that can detect positive selection pressures at individual sites along branches of the phylogenetic tree. Use 'babappa’ to simulate and train models that can accurately predict these selection pressures.

4. **Visualization Tools**: Integrate 'matplotlib' for generating visual representations of the analysis results. Create interactive plots showing the distribution of positively selected sites across different branches of the tree, as well as heatmaps indicating the strength of selection at each site.

5. **Report Generation**: Design a feature that compiles all findings into a comprehensive report. Include statistical summaries, visualizations, and detailed explanations of the significance of the detected selection pressures. Allow users to customize the content and format of the report before exporting it as a PDF or CSV file.

6. **User Interface**: Build a simple yet intuitive GUI using a framework like Tkinter or PyQt. The UI should guide users through the process of uploading data, selecting parameters for analysis, and viewing results. Ensure that the interface is responsive and user-friendly.

7. **Documentation & Support**: Write clear documentation explaining how to install and use 'BranchSiteExplorer', along with examples of input data and expected outputs. Also, provide troubleshooting tips and links to further resources on molecular evolution studies.

By following these steps, you'll create a powerful tool that simplifies the complex task of analyzing genetic data for evolutionary insights.

πŸ’¬ Discussion Feed

Leave a comment

No discussion yet. Be the first to share your thoughts!