Code Monkey home page Code Monkey logo

cidarlab / cello Goto Github PK

View Code? Open in Web Editor NEW
800.0 80.0 135.0 272 MB

Genetic circuit design automation

Home Page: http://www.cellocad.org/

License: BSD 2-Clause "Simplified" License

Perl 2.75% Shell 0.07% Verilog 12.30% Python 6.72% Gnuplot 0.10% Coq 0.36% Java 46.56% HTML 5.30% JavaScript 24.04% CSS 1.40% RAML 0.37% Batchfile 0.01% Dockerfile 0.03%
genetic-circuit-design-automation synthetic-biology cello circuit boolean-logic bio-design-automation

cello's People

Contributors

0x174 avatar bder avatar dependabot[bot] avatar jamesscottbrown avatar prashantvaidyanathan avatar tim-tx avatar transcis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cello's Issues

Unable to run concurrent computations

I am unable to run any concurrent computations. Since the API does not notifiy if the computation is still underway I cannot automate a batch of computations.

SBOL output invalid

So I've been playing around with the SBOL reader and it turns out that the SBOL output for Cello is invalid.

Currently the main issue is that the output has no URI Prefix which is expected by the SBOL reading library.

dependency hell

When I try to compile, I get:

Failed to execute goal on project cellocad: Could not resolve dependencies for project org:cellocad:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: org.cellocad:netsynth:jar:1.0, org:eugene:jar:2.0.0: Could not find artifact org.cellocad:netsynth:jar:1.0 in central (http://repo1.maven.org/maven2) -> [Help 1]

Could not run " python cell_client.py submit"

When typed " python cell_client.py submit" in terminal in the pycello folder. It gives me the following error. Also, in your README file, it seems that you missed an argument in the command line. How do you install "cello" to the shell?

File "cello_client.py", line 292
    print gb_feature.location, gb_feature.type, gb_feature.qualifiers['label'], gb_feature.extract(gb_record.seq)
                   ^
SyntaxError: invalid syntax

ESPRESSO ISSUE

I downloaded cello because I wanted to run it as a java Application in order to understand the underlying code for my project.

It gives error saying that "ERROR :: expresso.exe file not found. Please check the netSynthResources Folder" @ org.cellocad.BU.netsynth.Utilities getFileContentAsStringList
I changed the "espresso" (which I believe that it's the right time) to "expresso" and I got another error that it can't find "expresso" methods.

I decided to have both "espresso" and "expresso" in the folder and I got another error "java.lang.NoSuchFieldError: Name" which I think it was because of having both names.

Please how do I fix this?

Compilation Error

Hello there,

I'm trying to compile Cello with Red Hat Enterprise Linux on AWS EC2. The dependency is first installed following INSTALL.md.

sudo yum groupinstall "Development tools"
sudo yum install git
sudo yum install gnuplot
sudo yum install ghostscript
sudo yum install graphviz
sudo yum install python-matplotlib
sudo yum install ImageMagick
sudo yum install /lib/libgcc_s.so.1
sudo yum install ld-linux.so.2

sudo yum install wget
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar zxvf jdk-17_linux-x64_bin.tar.gz
rm jdk-17_linux-x64_bin.tar.gz
export JAVA_HOME=/home/ec2-user/jdk-17.0.8/


wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
tar xzvf apache-maven-3.9.4-bin.tar.gz
export PATH=/home/ec2-user/apache-maven-3.9.4/bin:$PATH

git clone https://github.com/CIDARLAB/cello
cd ~/cello/resources/library
bash install_local_jars.sh
cd ~/cello/

Then I ran mvn clean compile and encountered this error.

[INFO] Changes detected - recompiling the module!
[INFO] Compiling 168 source files to /home/ec2-user/cello/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  22.842 s
[INFO] Finished at: 2023-08-21T03:10:34Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project cellocad: Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.Processor (in unnamed module @0x691aaaa0) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x691aaaa0 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

I'm new to JDK/JRE and I wonder if other people have encountered the likes, and hopefully this could be resolved.

Cello sometimes needs to be restarted

The case and the Full Demo examples are not working on the online instance. It seems like its timing out before it completes the entire computation.

screen shot 2017-08-11 at 2 12 48 pm

32-bit c-dependencies required when attempting to generate a netlist

I run a 64-bit linux installation. After running the java project, I login and choose the sample verilog code. The site returns with a message:

"The Verilog code did not produce a valid netlist."

The cause is the execution of the abc binary in the resources/netsynthResources directory. After digging into this a bit, I found that there are 32-bit dependencies C dependencies required to be on the system in addition to the dependencies listed in INSTALL.md. These were:

  • The 32-bit version of glibc
  • The 32-bit version of libgcc

After installing these two additional dependencies, the jobs were able to finish. You may want to specify these requirements in INSTALL.md

Cellocad web interface not working when wire and assign example used

I am on the cellocad website and when I use the example code of

module A(output out1, input a, b);
  wire w0;
  assign w0 = a & ~b;
  assign out1 = w0 | (a & c);
endmodule

I get an error from the server saying:

{"timestamp":1488871482642,"status":500,"error":"Internal Server Error","exception":"java.lang.StringIndexOutOfBoundsException","message":"String index out of range: -35","path":"/netsynth"}

This seems to happen when I slightly modify the example as well. However, the logic table code with the cases still seems to work fine.

NetSynth Bug on Linux

I'm trying to run Cello on Ubuntu 16.04LTS, and netsynth.Utilities.getFileContentAsStringList() is throwing a FileNotFoundException on results/user/demo001/netSynth/abcOutput.bench. This happens on both the local web app and using the API. It's reporting the error as "Error in abstract circuit." from line 235 in DNAcompiler.run().

Compiling using Maven; JDK7

Web interface of Cellocad is not working

Is Cellocad Webinterface is open for public?I am a summer intern at Saha Institute of Nuclear Physics,Kolkata.I want to use the web interface of Cellocad for my synthetic biology project.But when I am trying to execute the example given in the help video, it is giving error("The Verilog code did not produce a valid netlist.").I can't also upload my UCF file as there is no button to upload.Only choose file option is there.

Tomcat connector in failed state

When I try:

mvn spring-boot:run

I get:

7693 [org.cellocad.Application.main()] INFO org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer - 

Error starting ApplicationContext. To display the auto-configuration report enable debug logging (start with --debug)


7693 [org.cellocad.Application.main()] ERROR org.springframework.boot.SpringApplication - Application startup failed
java.lang.IllegalStateException: Tomcat connector in failed state
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:157)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:288)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:957)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:946)
	at org.cellocad.Application.main(Application.java:9)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.maven.RunMojo$LaunchRunner.run(RunMojo.java:418)
	at java.lang.Thread.run(Thread.java:745)
7694 [org.cellocad.Application.main()] INFO org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext - Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3714d2a: startup date [Tue Dec 13 21:54:21 EET 2016]; root of context hierarchy
7695 [org.cellocad.Application.main()] INFO org.springframework.jmx.export.annotation.AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown
[WARNING] 
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.maven.RunMojo$LaunchRunner.run(RunMojo.java:418)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Tomcat connector in failed state
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:157)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:288)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:957)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:946)
	at org.cellocad.Application.main(Application.java:9)
	... 6 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.499 s
[INFO] Finished at: 2016-12-13T21:54:28+02:00
[INFO] Final Memory: 46M/389M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.2.4.RELEASE:run (default-cli) on project cellocad: An exception occured while running. null: InvocationTargetException: Tomcat connector in failed state -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.2.4.RELEASE:run (default-cli) on project cellocad: An exception occured while running. null
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while running. null
	at org.springframework.boot.maven.RunMojo$IsolatedThreadGroup.rethrowUncaughtException(RunMojo.java:387)
	at org.springframework.boot.maven.RunMojo.runWithMavenJvm(RunMojo.java:214)
	at org.springframework.boot.maven.RunMojo.run(RunMojo.java:187)
	at org.springframework.boot.maven.RunMojo.execute(RunMojo.java:144)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
	... 19 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.maven.RunMojo$LaunchRunner.run(RunMojo.java:418)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Tomcat connector in failed state
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:157)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:288)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:957)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:946)
	at org.cellocad.Application.main(Application.java:9)
	... 6 more
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

BioNetList Gate naming

Could it be possible for the naming of the gates to be uniform on the bionetlist output. I have a screenshot down here. If you can see all the gates have a different prefixes. It would be great it we can have a consistent naming scheme. It would greatly simplify the parsing effort if that were the case.

image

REU -> RPU

Change all instances of "REU" to "RPU".
This should include figures, Web pages, variable names, comments, and scripts.

Cello doesn't work well with Java 8

Part of the problem is Eugene, but otherwise I couldn't run a job because the resources folder was being searched for two or three levels above the project root directory. Making a symlink where it was being searched for produced a new set of errors.

Array Index Issue while running Demo

I got this error while running the demo through a Docker container:

'''
=========== Setting gate parts according to assigned gate names
=========== Setting gate parts according to assigned gate names
[WARNING]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at org.cellocad.MIT.dnacompiler.PlasmidUtil.setTxnUnits(PlasmidUtil.java:520)
at org.cellocad.MIT.dnacompiler.DNACompiler.generatePlasmids(DNACompiler.java:1136)
at org.cellocad.MIT.dnacompiler.DNACompiler.run(DNACompiler.java:1068)
at org.cellocad.MIT.dnacompiler.CelloMain.main(CelloMain.java:15)
... 6 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.077 s
[INFO] Finished at: 2019-11-15T00:01:12+00:00
[INFO] Final Memory: 39M/271M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:java (default) on project cellocad: An exception occured while executing the Java class. null: InvocationTargetException: Index: 1, Size: 1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:java (default) on project cellocad: An exception occured while executing the Java class. null '''

A possible fix is to replace the code in org.cellocad.MIT.dnacompiler.PlasmidUtil.setTxnUnits to the following:

        else {
        boolean f1 = g.getChildren().size() > 0 && (
		g.system.equals("CRISPRi") || g.getChildren().get(0).system.equals("CRISPRi") ||
		g.system.equals("Ecoligenome") || g.getChildren().get(0).system.equals("Ecoligenome") ||
		g.system.equals("Yeast") || g.getChildren().get(0).system.equals("Yeast")
	);

	boolean f2 = g.getChildren().size() > 1 && (
		g.getChildren().get(1).system.equals("Ecoligenome") ||
		g.getChildren().get(1).system.equals("Yeast")
	);

	/*
	   if(g.system.equals("CRISPRi") || g.getChildren().get(0).system.equals("CRISPRi")
	   || g.system.equals("Ecoligenome") || g.getChildren().get(0).system.equals("Ecoligenome") || g.getChildren().get(1).system.equals("Ecoligenome")
	   || g.system.equals("Yeast") || g.getChildren().get(0).system.equals("Yeast") || g.getChildren().get(1).system.equals("Yeast")) {
	   */
	if(f1 || f2) {

                for(String var: g.get_variable_names()) {

                    for(Wire w: g.get_variable_wires().get(var)) {
                        ArrayList<Part> txn_unit = new ArrayList<>();

                        txn_unit.add(w.to.get_regulable_promoter());

                        ArrayList<Part> expression_cassette = g.get_downstream_parts().get(var);

                        txn_unit.addAll(expression_cassette);

                        g.get_txn_units().add(txn_unit);
                    }

                }

The original conditional statement is commented out but left there to show where the change occurs.

Web interface of Cellocad is not working

Is Cellocad Webinterface is open for public?I am a summer intern at Saha Institute of Nuclear Physics,Kolkata.I want to use it for my synthetic biology project.But when I am trying to execute the example given in the help video, it is giving error("The Verilog code did not produce a valid netlist.").I can't also upload my UCF file as there is no button to upload.Only choose file option is there.

Can log in with empty user/password field

If you just press login with nothing in the input fields it logs you in as an empty user. You probably have an empty username/password in your database or something. Regardless you should probably do client side checks for that type of stuff.

Case and assign examples on website don't appear to work

When I try to run either the 'case' or 'assign' examples from the dropdown menu on the website, I get an error The Verilog code did not produce a valid netlist.

When I run cello in eclipse using those verilog files, I get an error saying Exception in thread "main" java.lang.IllegalStateException: Error in abstract circuit. Exiting. which traces back to line 236 in the following block:

try {
    abstract_lc = getAbstractCircuit(_options.get_fin_verilog(), ucf);
} catch(Exception e) {
    throw new IllegalStateException("Error in abstract circuit.  Exiting.");
}

I have a couple guesses for why the error arises but neither appear to be correct:

For the case statement, it seems like part of the problem may be that out1 should be declared as output reg out1; since it's in analways block. However, doing so doesn't seem to fix the problem (also other verilog files like the 'Full Demo' would presumably need that line as well but don't so I guess that statement gets automatically written in the parser?).

For the assign statement, one issue that I see is that on this line:
assign out1 = w0 | (a & c);
c is used but is never declared as in input. However, changing that to a b doesn't fix the issue.

Wire class seems useless?

Presumably, the concept of wire was initially introduced b/c, in a real circuit, wires connect gates. However, cello doesn't appear to use the Wire class at all. The structure of the graph is maintained by a Gate and not a Wire (Wire doesn't look to me like it's aware of anything).

I'm currently working on developing a set of tests for cello as a side project but bumping into a lot of difficulties b/c a lot of the classes are fairly tightly coupled, have functionality outside their purview, and there aren't any interfaces. As such, I'm starting w/ refactoring fairly large amounts of code. Should you agree with me on the Wire class, I'll also try to work on getting rid of it.

Cellocad is not working

Hi, I recently use cellocad to make some example of genetic circuit, but I got some error with web interface.
When I try to click the "Load the example" in Veliog tab there's nothing happen.
This also happens with Input and Output tab when tries to select the file.
Before this problem occur, cellocad seemingly working but when I try to run the cello I got following error.

"The Verilog code did not produce a valid netlist."

No option to reset password?

As far as I can tell, there doesn't seem to be an obvious way to reset my password. Seems like the easiest solution to this would be to just be to use an email based reset, though cello doesn't take an email right now. This isn't a huge deal but, at this point, I've probably made somewhere in the neighborhood of five accounts after forgetting my password (since I'm forced to create an account in order to do anything at all, which I also don't quite understand).

"Download Zip" of results makes a zip file without an extension

When I click the "Download Zip" button on the results page of a successfully built circuit, I download a file called 'Unknown'. This file is an uncorrupted zip file missing the extension and containing the results directory of interest but OSX doesn't seem to be able to recognize the file without it explicitly given. If I add the extension (renaming to 'Unknown.zip'), I can extract no problem.

Fix de Morgan's rule description

using DeMorgan's rule: A and B equals (not A) and (not B).
must be
using DeMorgan's rule: A and B equals (not A) NOR (not B).

Vulnerable to Bots ?

Since the register and login system doesn't have a non bot confirmation such as captcha, bots can be created to make thousands of accounts and spam the database.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.